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.