Recherche de site Web

Comment installer phpMyAdmin sur Ubuntu 22.04


Ce tutoriel existe pour ces versions d'OS

  • Ubuntu 24.04 (Noble Numbat)
  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 18.04 (Castor Bionic)

Sur cette page

  1. Conditions préalables
  2. Installation de phpMyAdmin
  3. Sécuriser l'installation de phpMyAdmin
  4. Modifier l'URL du chemin de l'installation de phpMyAdmin
  5. Sécuriser phpMyAdmin avec Apache2 Basic Auth
  6. Blocage de la tentative de connexion à phpMyAdmin avec Fail2ban Jail
  7. Conclusion

phpMyAdmin est un outil gratuit et open source pour gérer et administrer les serveurs MySQL. Il peut être utilisé pour gérer même plusieurs serveurs MySQL dans différents emplacements. phpMyAdmin est une application Web écrite en PHP et peut être exécutée sous la pile LAMP (Linux, Apache2, MariaDB/MySQL, PHP) ou LEMP (Linux, Nginx, MariaDB/MySQL, PHP-FPM). le phpMyAdmin est une application très puissante et devenue une application largement utilisée pour la gestion des serveurs MySQL, elle fournit une documentation complète et des wikis.

phpMyAdmin vous permet de gérer les données MySQL à partir d'un navigateur Web, vous pouvez gérer des bases de données, des tables, des colonnes, des index, des relations, des utilisateurs, des autorisations, etc. à partir d'une seule interface utilisateur de tableau de bord sur votre navigateur Web. le phpMyAdmin vous permet également d'importer et d'exporter des données vers le serveur MySQL. Vous pouvez importer des données CSV et SQL sur votre MySQL, et également exporter vos données vers plusieurs formats tels que CSV, SQL, XML, Latex, XML, PDF et OpenDocument texte et feuille de calcul.

Dans ce tutoriel, nous allons vous montrer comment installer et configurer phpMyAdmin sur le dernier serveur Ubuntu 22.04. Ce tutoriel couvre également quelques configurations supplémentaires pour sécuriser l'installation de phpMyAdmin.

Conditions préalables

  • Une machine Ubuntu 22.04 - vous pouvez utiliser la version serveur ou de bureau Ubuntu.
  • Un utilisateur non root avec les privilèges d'administrateur root.
  • Une pile LAMP est installée sur la machine. Cet exemple utilise l'installation de base de LAMP Stack (Linux, Apache2, MariaDB et PHP).

Installation de phpMyAdmin

Dans la dernière version d'Ubuntu 22.04, le package phpMyAdmin est disponible sur le référentiel officiel Ubuntu Universe. Donc avant d'installer phpMyAdmin, assurez-vous que le référentiel de l'univers Ubuntu est activé sur votre système.

Dans l'état actuel, Ubuntu fournit phpMyAdmin v5.x, qui est la dernière version stable de phpMyAdmin.

Avant de commencer à installer les packages, exécutez la commande suivante pour mettre à jour et actualiser vos référentiels Ubuntu.

sudo apt update

Assurez-vous que le référentiel Ubuntu APT Universe est activé sur votre système.

Vérifiez maintenant le package phpmyadmin à l’aide de la commande suivante.

sudo apt info phpmyadmin

Comme vous pouvez le voir sur la capture d'écran suivante, le référentiel Ubuntu APT fournit le phpMyAdmin v5.x, et il est disponible sur le référentiel Ubuntu Universe.

Ensuite, vous pouvez installer le package phpMyAdmin à l'aide de la commande ci-dessous.

sudo apt install phpmyadmin

Saisissez Y pour confirmer l'installation et appuyez sur ENTER pour démarrer. L'installation de phpMyAdmin est maintenant en cours.

Lors de l'installation de phpMyAdmin, les configurations suivantes vous seront demandées :

Choisissez le serveur Web pour phpMyAdmin. Dans cet exemple, le serveur Web est apache2, puis sélectionnez OK.

Sélectionnez maintenant Oui pour commencer à configurer phpMyAdmin avec dbconfig-common. Cela automatiquement toutes les configurations de base de données pour phpMyAdmin.

Pour le mot de passe de la base de données phpMyAdmin, vous pouvez le laisser vide ou vous pouvez simplement saisir votre propre mot de passe, puis sélectionner OK. Si vous le laissez vide, dbconfig-common générera automatiquement le mot de passe de votre phpMyAdmin.

Enfin, ouvrez votre navigateur Web et visitez l'adresse IP du serveur avec le chemin URL /phpmyadmin (par exemple : http://192.168.10.15/phpmyadmin). Et maintenant, vous obtiendrez la page de connexion de phpMyAdmin.

Saisissez l'utilisateur et le mot de passe de votre serveur MariaDB, puis cliquez sur Go pour vous connecter.

Une fois connecté, vous verrez le tableau de bord phpMyAdmin ci-dessous. Comme vous pouvez le voir, phpMyAdmin 5.x est installé sur la machine Ubuntu 22.04 avec Apache2, MariaDB 10.x et PHP 8.1.

Sécuriser l'installation de phpMyAdmin

Après avoir installé phpMyAdmin. Ensuite, vous apprendrez comment sécuriser l'installation de phpMyAdmin.

Ci-dessous, vous apprendrez trois méthodes pour sécuriser l'installation de phpMyAdmin sur votre système Ubuntu :

  • Modifier l'URL du chemin d'installation de phpMyAdmin : l'installation par défaut de phpMyAdmin est disponible au chemin URL /phpmyadmin, qui est facile à deviner pour les attaquants. Vous pouvez remplacer le chemin par défaut par l'URL de votre chemin personnalisé.
  • Authentification supplémentaire à l'aide de l'authentification de base Apache2 : dans ce scénario, les utilisateurs verront l'authentification de base Apache2 avant d'afficher la page de connexion phpMyAdmin. Cela ajoutera une authentification supplémentaire, de sorte que seuls les utilisateurs de la liste d'authentification de base Apache2 verront la page de connexion phpMyAdmin et pourront se connecter à phpMyAdmin.
  • Bloquer la tentative de connexion à phpMyAdmin avec Fail2ban Jail : vous devrez installer et configurer fail2ban sur votre machine Ubuntu. Cela interdira l'adresse IP des tentatives de connexion malveillantes à phpMyAdmin. Vous pouvez également configurer la tentative de connexion maximale sur la prison Fail2ban.

Maintenant, commençons par sécuriser phpMyAdmin en utilisant trois méthodes différentes.

Modifier l'URL du chemin de l'installation de phpMyAdmin

L'installation par défaut de phpMyAdmin est livrée avec une configuration supplémentaire pour le serveur Web Apache2, la configuration est le fichier /etc/phpmyadmin/apache.conf. Pour modifier le chemin d'installation par défaut de l'URL de phpMyAdmin, vous devrez modifier la configuration /etc/phpmyadmin/apache2.conf et redémarrer le service Apache2.

Modifiez le fichier de configuration /etc/phpmyadmin/apache.conf à l'aide de l'éditeur nano.

sudo nano /etc/phpmyadmin/apache.conf

Remplacez l'option "Alias /phpmyadmin" par votre nouveau chemin ULR. Dans l'exemple ci-dessous, phpMyAdmin sera disponible à l'URL du chemin /padm.

Alias /padm /usr/share/phpmyadmin

Enregistrez et fermez le fichier lorsque vous avez terminé.

Ensuite, vérifiez et vérifiez la configuration d'Apache2 à l'aide de la commande ci-dessous. Si votre configuration est correcte, vous obtiendrez le message de sortie tel que "Syntaxe OK".

sudo apchectl configtest

Redémarrez maintenant le service Apache2 pour appliquer les nouvelles modifications sur le fichier /etc/phpmyadmin/apache.conf.

sudo systemctl restart apache2

Revenez à votre navigateur Web et visitez phpMyAdmin avec le nouveau chemin URL /padm (par exemple http://192.168.10.15/padm). Vous obtiendrez le tableau de bord phpMyAdmin dans la capture d'écran suivante.

Vous avez maintenant modifié avec succès l'installation de l'URL du chemin par défaut de phpMyAdmin par la nouvelle URL du chemin /padm.

Sécuriser phpMyAdmin avec Apache2 Basic Auth

L'authentification de base Apache2 est une méthode d'authentification fournie par le module Apache mod_basic_auth. Pour configurer l'authentification de base Apache2, vous devrez générer le fichier de mot de passe et configurer le fichier .htaccess dans le répertoire racine du document phpMyAdmin.

Exécutez maintenant la commande ci-dessous pour générer un nouveau fichier d'authentification de base Apache2 /etc/phpmyadmin/.htpasswd avec le nouvel utilisateur nommé padm. Si vous ne disposez pas de la commande htpasswd, vous devrez installer le package apache2-utils sur votre système.

sudo htpasswd -c /etc/phpmyadmin/.htpasswd padm

Saisissez maintenant le mot de passe de l'utilisateur d'authentification de base Apache2 padm et répétez le mot de passe. Cela générera un nouveau fichier de mots de passe /etc/phpmyadmin/.htpasswd.

Ensuite, modifiez la configuration /etc/phpmyadmin/apache.conf à l'aide de l'éditeur nano.

sudo nano /etc/phpmyadmin/apache.conf

Ajoutez la configuration dans le "" comme ci-dessous.

<Directory /usr/share/phpmyadmin>
...
...
AllowOverride All

Enregistrez et fermez le fichier lorsque vous avez terminé.

Ensuite, exécutez la commande ci-dessous pour activer le module Apache2 mod_rewrite.

sudo a2enmod rewrite

Créez un nouveau fichier /usr/share/phpmyadmin/.htaccess à l'aide de l'éditeur nano.

sudo nano /usr/share/phpmyadmin/.htaccess

Ajoutez la configuration suivante au fichier.

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

Enregistrez et fermez le fichier lorsque vous avez terminé.

Redémarrez maintenant le service Apache2 pour appliquer les nouvelles modifications.

sudo systemctl restart apache2

Enfin, revenez à votre navigateur Web et actualisez l'URL de phpMyAdmin (par exemple http://192.168.10.15/padm). Vous serez maintenant invité à l'authentification de base Apache2.

Saisissez l'utilisateur padm avec votre mot de passe et cliquez sur Connexion. Si votre utilisateur et votre mot de passe correspondent à la configuration /etc/phpmyadmin/.htpasswd fichier, vous pourrez alors obtenir le tableau de bord phpMyAdmin, sinon vous obtiendrez le message d'erreur tel que "421 Unauthorized".

Vous avez maintenant sécurisé phpMyAdmin avec l’authentification de base Apache2. Il est recommandé d'utiliser cette méthode avec les certificats SSL sur votre serveur Web Apache2.

Blocage de la tentative de connexion à phpMyAdmin avec Fail2ban Jail

Dans ce scénario, vous aurez besoin que Fail2ban soit installé et configuré sur votre machine Ubuntu. L'utilisation de la prison Fail2ban limitera l'échec de l'authentification contre phpMyAdmin et limitera l'attaque par force brute. Le Fail2ban bloquera toute tentative de connexion malveillante détectée à phpMyAdmin.

Le Failban fonctionne en vérifiant le fichier journal de l'application, vous devrez donc activer le fichier journal pour phpMyAdmin.

Modifiez la configuration de phpMyAdmin /etc/phpmyadmin/config.inc.php à l'aide de l'éditeur nano.

sudo nano /etc/phpmyadmin/config.inc.php

Ajoutez la configuration suivante à la fin de la ligne. Cela enregistrera toutes les authentifications de phpMyAdmin dans le fichier Syslog /var/log/auth.log.

...
...
...
$cfg['AuthLog'] = 'syslog';

Enregistrez et fermez le fichier lorsque vous avez terminé.

Ensuite, modifiez la configuration de la prison Fail2ban /etc/fail2ban/jail.local à l'aide de l'éditeur nano.

sudo nano /etc/fail2ban/jail.local

Recherchez la prison nommée "phpmyadmin-syslog" et ajoutez l'option "enabled=true" pour activer la prison.

[phpmyadmin-syslog]
enabled = true
port    = http,https
logpath = %(syslog_authpriv)s
backend = %(syslog_backend)s

Enregistrez et fermez le fichier lorsque vous avez terminé.

Redémarrez maintenant le service Fail2ban à l'aide de la commande ci-dessous pour appliquer la nouvelle configuration de prison.

sudo systemctl restart fail2ban

Pour vérifier la prison "phpmyadmin-syslog", exécutez les commandes fail2ban-client ci-dessous.

Vérification de la liste des prisons Fail2ban activées.

sudo fail2ban-client status

Vérification des détails de la prison Fail2ban phpmyadmin-syslog.

sudo fail2ban-client status phpmyadmin-syslog

Ci-dessous vous pouvez voir l’état détaillé de la prison phpmyadmin-syslog. Dans la capture d'écran ci-dessous, vous pouvez voir qu'une adresse IP "192.168.10.1" est bloquée par Fail2ban.

Si vous vérifiez le fichier journal /var/log/auth.log à l'aide de la commande ci-dessous.

cat /var/log/auth.log

Vous verrez les journaux de l'authentification phpMyAdmin ci-dessous. Vous pouvez voir que l'adresse IP "192.168.10.1" est détectée comme connexion malveillante en raison de l'utilisation d'un utilisateur et d'un mot de passe incorrects.

À ce stade, vous avez sécurisé phpMyAdmin en utilisant plusieurs méthodes différentes. Une autre considération consiste à utiliser SSL sur chaque hôte virtuel de votre serveur. Cela rend votre phpMyAdmin encore plus sûr car le SSL cryptera les connexions entre votre navigateur Web et le serveur.

Conclusion

Félicitation ! Vous avez maintenant appris comment installer et configurer phpMyAdmin sur la dernière version d'Ubuntu 22.04. En outre, vous avez appris plusieurs méthodes pour sécuriser l'installation de phpMyAdmin, notamment la modification de l'URL du chemin par défaut, l'ajout d'une authentification à l'aide de l'authentification de base Apache2 et le blocage des tentatives de connexion malveillantes à l'aide de Fail2ban Jail.

Articles connexes: