Comment installer phpMyAdmin sur Ubuntu 22.04
Comment installer phpMyAdmin sur Ubuntu 22.04
Ce tutoriel existe pour ces versions de système d'exploitation.
- Ubuntu 24.04 (Noble Numbat)
- Ubuntu 22.04 (Jellyfish Jammy)
- Ubuntu 18.04 (Castor Bionique)
Sur cette page
- Conditions préalables
- Installer phpMyAdmin
- Sécuriser l'installation de phpMyAdmin
- Changer l'URL du chemin de l'installation de phpMyAdmin
- Sécuriser phpMyAdmin avec l'authentification de base Apache2
- Bloquer les tentatives de connexion à phpMyAdmin avec une prison Fail2ban
- Conclusion
phpMyAdmin est un outil gratuit et open-source pour gérer et administrer des serveurs MySQL. Il peut être utilisé pour gérer même plusieurs serveurs MySQL à différents emplacements. phpMyAdmin est une application web écrite en PHP, et elle peut être exécutée sous LAMP (Linux, Apache2, MariaDB/MySQL, PHP) ou LEMP (Linux, Nginx, MariaDB/MySQL, PHP-FPM). phpMyAdmin est une application très puissante et est devenue une application largement utilisée pour gérer des serveurs MySQL, elle fournit une documentation et des wikis extensifs.
phpMyAdmin vous permet de gérer les données MySQL depuis 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 interface unique sur votre navigateur web. Le phpMyAdmin permet également d'importer et d'exporter des données vers le serveur MySQL. Vous pouvez importer des données CSV et SQL dans votre MySQL, et également exportez vos données dans plusieurs formats tels que CSV, SQL, XML, Latex, PDF et texte et tableur OpenDocument.
Dans ce tutoriel, nous vous montrerons 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 bureau d'Ubuntu.
- Un utilisateur non-root avec des privilèges d'administrateur root.
- Une pile LAMP est installée sur la machine. Cet exemple utilise l'installation de base de la pile LAMP (Linux, Apache2, MariaDB et PHP).
Installer phpMyAdmin
Dans la dernière version d'ubuntu 22.04, le paquet phpMyAdmin est disponible dans le dépôt officiel Ubuntu Universe. Donc, avant d'installer phpMyAdmin, assurez-vous que le dépôt Universe d'Ubuntu est activé sur votre système.
À l'état actuel, Ubuntu fournit phpMyAdmin v5.x, qui est la dernière version stable de phpMyAdmin.
Avant de commencer à installer des paquets, exécutez la commande suivante pour mettre à jour et rafraîchir vos dépôts Ubuntu.
sudo apt updateAssurez-vous que le dépôt APT Universe d'Ubuntu est activé sur votre système.
Maintenant, vérifiez le paquet phpmyadmin en utilisant la commande suivante.
sudo apt info phpmyadminComme vous pouvez le voir sur la capture d'écran suivante, le dépôt APT d'Ubuntu fournit le phpMyAdmin v5.x, et il est disponible dans le dépôt Universe d'Ubuntu.
Ensuite, vous pouvez installer le package phpMyAdmin en utilisant la commande ci-dessous.
sudo apt install phpmyadminTapez Y pour confirmer l'installation et appuyez sur ENTRER pour commencer. L'installation de phpMyAdmin est maintenant en cours.
Lors de l'installation de phpMyAdmin, vous serez invité à fournir les configurations suivantes :
Choisissez le serveur web pour phpMyAdmin. Dans cet exemple, le serveur web est apache2, puis sélectionnez OK.
Maintenant, sélectionnez Oui pour commencer à configurer phpMyAdmin avec dbconfig-common. Cela configurera automatiquement toutes les bases de données pour phpMyAdmin.
Pour le mot de passe de la base de données phpMyAdmin, vous pouvez le laisser vide ou simplement entrer votre propre mot de passe et ensuite sélectionner OK. Si vous le laissez vide, dbconfig-common générera automatiquement le mot de passe pour 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 verrez la page de connexion de phpMyAdmin.
Saisissez votre utilisateur et mot de passe du serveur MariaDB, puis cliquez sur Go pour vous connecter.
Une fois que vous êtes 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, vous apprendrez ensuite comment sécuriser l'installation de phpMyAdmin.
Vous allez apprendre ci-dessous trois méthodes pour sécuriser l'installation de phpMyAdmin sur votre système Ubuntu :
- Changer l'URL du chemin de l'installation de phpMyAdmin: L'installation par défaut de phpMyAdmin est disponible à l'URL /phpmyadmin, ce qui est facile à deviner pour les attaquants. Vous pouvez changer le chemin par défaut pour votre propre URL personnalisée.
- Authentification supplémentaire avec Apache2 Basic Auth : 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 figurant sur la liste d'authentification de base Apache2 verront la page de connexion phpMyAdmin et pourront se connecter à phpMyAdmin.
- Blocage des tentatives de connexion à phpMyAdmin avec la prison Fail2ban : Vous devrez avoir Fail2ban installé et configuré sur votre machine Ubuntu. Cela va bannir l'adresse IP des tentatives de connexion malveillantes à phpMyAdmin. De plus, vous pouvez définir le nombre maximum de tentatives de connexion dans la prison Fail2ban.
Maintenant, commençons à sécuriser phpMyAdmin en utilisant trois méthodes différentes.
Changer 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, le fichier de configuration est /etc/phpmyadmin/apache.conf. Pour changer le chemin URL par défaut de l'installation de phpMyAdmin, vous devrez modifier le fichier de configuration /etc/phpmyadmin/apache2.conf et redémarrer le service Apache2.
Modifiez le fichier de configuration /etc/phpmyadmin/apache.conf en utilisant l'éditeur nano.
sudo nano /etc/phpmyadmin/apache.confChangez l'option "Alias /phpmyadmin" par votre nouveau chemin d'URL. Dans l'exemple ci-dessous, phpMyAdmin sera accessible à l'URL /padm.
Alias /padm /usr/share/phpmyadminEnregistrez et fermez le fichier lorsque vous avez terminé.
Ensuite, vérifiez et vérifiez la configuration d'Apache2 en utilisant la commande ci-dessous. Si votre configuration est correcte, vous obtiendrez un message de sortie tel que "Syntaxe OK".
sudo apchectl configtestMaintenant, redémarrez le service Apache2 pour appliquer les nouvelles modifications sur le fichier /etc/phpmyadmin/apache.conf.
sudo systemctl restart apache2Retournez à votre navigateur web et visitez le phpMyAdmin avec le nouvel URL de chemin /padm (par exemple http://192.168.10.15/padm). Vous verrez le tableau de bord phpMyAdmin dans la capture d'écran suivante.
Vous avez maintenant réussi à changer le chemin URL par défaut de l'installation de phpMyAdmin vers le nouveau chemin URL /padm.
Sécuriser phpMyAdmin avec l'authentification de base Apache2
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 mots de passe et configurer le fichier .htaccess dans le répertoire racine de 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 n'avez pas la commande htpasswd, vous devrez installer le package apache2-utils sur votre système.
sudo htpasswd -c /etc/phpmyadmin/.htpasswd padmMaintenant, saisissez le mot de passe pour l'utilisateur d'authentification de base Apache2 padm et répétez le mot de passe. Cela générera un nouveau fichier de mot de passe /etc/phpmyadmin/.htpasswd.
Ensuite, modifiez la configuration /etc/phpmyadmin/apache.conf en utilisant l'éditeur nano.
sudo nano /etc/phpmyadmin/apache.confAjoutez la configuration à l'intérieur de "<Directory /usr/share/phpmyadmin>" comme ci-dessous.
<Directory /usr/share/phpmyadmin>
...
...
AllowOverride AllEnregistrez et fermez le fichier lorsque vous avez terminé.
Ensuite, exécutez la commande ci-dessous pour activer le module mod_rewrite d'Apache2.
sudo a2enmod rewriteCréez un nouveau fichier /usr/share/phpmyadmin/.htaccess en utilisant l'éditeur nano.
sudo nano /usr/share/phpmyadmin/.htaccessAjoutez la configuration suivante au fichier.
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-userEnregistrez et fermez le fichier lorsque vous avez terminé.
Redémarrez maintenant le service Apache2 pour appliquer les nouvelles modifications.
sudo systemctl restart apache2Enfin, revenez à votre navigateur web et actualisez l'URL de phpMyAdmin (par exemple http://192.168.10.15/padm). Maintenant, vous serez invité à l'authentification de base d'Apache2.
Entrez l'utilisateur padm avec votre mot de passe et cliquez sur Connexion. Si votre utilisateur et votre mot de passe correspondent au fichier de configuration /etc/phpmyadmin/.htpasswd, vous pourrez accéder au tableau de bord phpMyAdmin, sinon, vous recevrez un message d'erreur tel que "421 Non autorisé".
Maintenant, vous avez sécurisé phpMyAdmin avec l'authentification de base Apache2. Cette méthode est recommandée à utiliser avec des certificats SSL sur votre serveur web Apache2.
Bloquer les tentatives de connexion à phpMyAdmin avec une prison Fail2ban
Dans ce scénario, vous aurez besoin que Fail2ban soit installé et configuré sur votre machine Ubuntu. En utilisant la prison Fail2ban, vous limiterez les échecs d'authentification contre phpMyAdmin et limiterez les attaques par force brute. 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 en utilisant l'éditeur nano.
sudo nano /etc/phpmyadmin/config.inc.phpAjoutez la configuration suivante à la fin de la ligne. Cela enregistrera toute l'authentification 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 en utilisant l'éditeur nano.
sudo nano /etc/fail2ban/jail.localRecherchez 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)sEnregistrez et fermez le fichier lorsque vous avez terminé.
Maintenant, redémarrez le service Fail2ban en utilisant la commande ci-dessous pour appliquer la nouvelle configuration de prison.
sudo systemctl restart fail2banPour 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 statusVérification des détails de la prison Fail2ban phpmyadmin-syslog.
sudo fail2ban-client status phpmyadmin-syslogCi-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 en utilisant la commande ci-dessous.
cat /var/log/auth.logVous verrez ci-dessous les journaux de l'authentification phpMyAdmin. Vous pouvez voir que l'adresse IP "192.168.10.1" est détectée comme une 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 est d'utiliser SSL sur chaque hôte virtuel de votre serveur. Cela rend votre phpMyAdmin encore plus sûr car SSL va chiffrer les connexions entre votre navigateur web et le serveur.
Conclusion
Félicitations ! Vous avez maintenant appris comment installer et configurer phpMyAdmin sur le dernier Ubuntu 22.04. De plus, vous avez appris plusieurs méthodes pour sécuriser l'installation de phpMyAdmin, notamment en changeant l'URL par défaut, en ajoutant une authentification en utilisant l'authentification de base d'Apache2 et en bloquant les tentatives de connexion malveillantes en utilisant Fail2ban Jail.











