Pour travailler avec des bases de données via l'interface Web, il existe un éditeur Web phpMyAdmin. Cet outil se connecte à la base de données MariaDB et affiche les bases de données existantes, vous permet d'en créer de nouvelles, de modifier des données dans des tables. En général, tout est identique à ce qui peut être fait dans la console mysql, mais beaucoup plus pratique et plus clair, surtout lorsque l'on travaille fréquemment avec des données. Envisagez d'installer phpMyAdmin sur Debian 12 Linux Server avec Nginx + MariaDB + PHP (LEMP) préconfiguré.
Nous effectuons tous les réglages à partir de l'utilisateur root, si vous utilisez un utilisateur régulier, ajoutez avant la commande sudo.
1. Installez les composants nécessaires et l'éditeur de base de données lui-même
apt install php-mbstring
apt install phpmyadmin
Au cours du processus d'installation, l'utilisateur sera invité à sélectionner le serveur Web pour lequel l'éditeur doit être configuré.
- []apache2
- []lighttpd
Dans notre cas, le serveur a LEMP préinstallé et nous laissons les deux champs vides et cliquons sur OK.
Ensuite, il sera proposé de créer une base de données pour l'éditeur de base de données lui-même, où seront stockés les paramètres utilisateur de l'éditeur et d'autres données nécessaires à son fonctionnement. Ici, nous sélectionnons l'option Oui et dans la fenêtre suivante, il vous sera demandé de trouver un mot de passe pour l'utilisateur phpmyadmin. Nous entrons le mot de passe et le confirmons dans la fenêtre suivante pour éviter les erreurs de saisie.
2. Paramètres de base
Suivons le lien http://server-ip/phpmyadmin pour vérifier le travail, nous pouvons entrer le login et le mot de passe de n'importe quelle base de données, par exemple, la nouvelle créée, le login phpmyadmin et le mot de passe que nous avons défini. Parfois, pour plus de commodité, il est nécessaire de travailler avec plusieurs bases de données à la fois, afin de les afficher sous un seul utilisateur, nous devons en créer une et déléguer les droits de l'utilisateur root.
mysql -u root -p
CREATE USER 'alldbuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON . TO 'alldbuser'@'localhost';
FLUSH PRIVILEGES;
Désormais, lors de l'autorisation sous l'utilisateur alldbuser, toutes les bases de données créées sur ce serveur sont affichées.
Si vous devez définir un mot de passe pour l'utilisateur root, utilisez les commandes suivantes:
mysql -u root
use mysql;
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOURNEWPASSWORD';
FLUSH PRIVILEGES;
exit
Ajoutez un lien vers le dossier phpMyAdmin dans le répertoire racine du serveur web nginx:
ln -s /usr/share/phpmyadmin /usr/share/nginx/html
3. Configuration de la sécurité
Afin de protéger l'éditeur de base de données contre les devinettes de mots de passe et les vulnérabilités potentielles, ajoutons une autorisation au niveau sans serveur.
vi /etc/nginx/conf.d/default.conf
location /phpmyadmin {
auth_basic "Admin Login";
auth_basic_user_file /etc/nginx/pma_pass;
}
Ajoutez un utilisateur et spécifiez un mot de passe pour celui-ci:
htpasswd -c /etc/nginx/pma_pass pma_username
Redémarrons le service nginx:
systemctl restart nginx
Désormais, lorsque vous cliquerez sur le lien http://server-ip/phpmyadmin, une fenêtre apparaîtra pour saisir votre identifiant et votre mot de passe. Dans notre cas, le login sera pma_username.
La configuration terminée, nous vous recommandons vivement de saisir les mots de passe uniquement en utilisant le protocole https avec un certificat SSL, afin d'éviter l'interception de données.