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.