Utiliser MySQL comme base de données

Installer le module python PyMySQL

Si vous n'avez pas utilisé la version paqueté de PaSSHport (dep/rpm), procédez comme suit. Si vous avez utilisé la version packagée, aller directement à la section Configuration de MySQL.

Si vous voulez utilisez MySQL comme base de données, vous devez installer le module python PyMySQL.

En tant qu'utilisateur passhport, on installe PyMySQL :

$ /home/passhport/passhport-run-env/bin/pip install PyMySQL

Configuration de MySQL

Créez une base de données passhport dans MySQL (la méthode peut varier selon votre distribution) :

# mysql -u root
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.56-MariaDB MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE DATABASE passhport;
Query OK, 1 row affected (0.00 sec)

Créez ensuite un utilisateur qui aura tous les droits sur la base de données passhport :

MariaDB [(none)]> GRANT ALL PRIVILEGES ON passhport.* TO passhport@localhost IDENTIFIED BY 'iwetoh3oochieshaRei4';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> Bye

#

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        = mysql+pymysql://passhport:iwetoh3oochieshaRei4@localhost/passhport

En tant qu'utilisateur passhport (celui du system, pas celui de MySQL), on initialise la base de données :

$ /home/passhport/passhport-run-env/bin/python /home/passhport/passhport/passhportd/db_create.py

On relance passhportd (en tant que root) :

# systemctl restart passhportd

PaSSHport utilise désormais MySQL.