Utiliser PostgreSQL comme base de données¶
Installer le module python psycopg2 et psycopg2-binary¶
Si vous n'avez pas utilisé la version paqueté de PaSSHport (dep/rpm), procédez comme suit. Si vous avez utilisé la version packageé, aller directement à la section Configuration de PostgreSQL.
Avant d'installer les librairie Python, assurez-vous d'avoir le binaire pg_config dans votre variable d'environnemen $PATH , ainsi que d'autre outils liés.
Pour Debian, installez postgresql
# apt install postgresql
Pour CentOS, installez postgresql :
# yum install postgresql
Si vous voulez utilisez PostgreSQL comme base de données, vous devez installer le module python psycopg2 et psycopg2-binary.
En tant qu'utilisateur passhport, on installe psycopg2 et psycopg2-binary :
$ /home/passhport/passhport-run-env/bin/pip install psycopg2 psycopg2-binary
Configuration de PostgreSQL¶
On créé un utilisateur passhport dans PostgreSQL (la méthode peut varier selon votre distribution) :
# su - postgres
$ createuser -D -S -R passhport && createdb -O passhport "passhport"
On ajoute un mot de passe à cet utilisateur :
$ psql
psql (9.2.18)
Type "help" for help.
postgres=# ALTER USER "passhport" WITH PASSWORD 'MySUpErp45sw0rD';
ALTER ROLE
postgres=# \q
$
Configuration de passhportd¶
On modifie le fichier de configuration *passhportd.ini*(/etc/passhport/passhportd.ini
). On change le paramètre SQLALCHEMY_DATABASE_URI
:
SQLALCHEMY_DATABASE_URI = postgresql://passhport:MySUpErp45sw0rD@localhost/passhport
En tant qu'utilisateur passhport (celui du system, pas celui de PostgreSQL), on initialise la base de données :
$ /home/passhport/passhport-run-env/bin/python /home/passhport/passhport/passhportd/db_create.py
On lance alors passhportd (arrêtez le process s'il tourne) :
$ /home/passhport/passhport-run-env/bin/python /home/passhport/passhport/passhportd/passhportd
PaSSHport utilise maintenant la base de données PostgreSQL.