phpMyAdmin · 7 min read · Nov 06, 2025

Installer et sécuriser phpMyAdmin sur CentOS 8

phpMyAdmin est un outil gratuit et open-source pour gérer les serveurs MySQL et MariaDB via une interface web. Avec phpMyAdmin, vous pouvez créer et gérer des bases de données et des utilisateurs, exécuter des instructions SQL, importer et exporter des données, et effectuer des activités de base de données telles que la création, la suppression, des tables, des colonnes, des index, des permissions et bien plus encore. phpMyAdmin est l’un des outils d’administration les plus populaires et les plus largement utilisés, en particulier pour les services d’hébergement web.

Fonctionnalités

  • Fournit une interface web simple et conviviale.

  • Importer des données à partir de CSV et SQL.

  • Prend en charge la plupart des fonctionnalités MySQL, y compris la création, la copie, la suppression, le renommage, la suppression et la modification de bases de données, de tables, de champs et d’index.

  • Vous permet d’exporter des données vers divers formats tels que PDF, CSV, SQL, XML et bien plus encore.

  • Gestion de plusieurs serveurs.

  • Création de requêtes complexes à l’aide de Query-by-example (QBE).

Dans ce tutoriel, nous allons vous montrer comment installer et sécuriser phpMyAdmin sur un serveur CentOS 8.

Exigences

  • Un serveur exécutant CentOS 8.

  • Un mot de passe root est configuré sur le serveur.

Installer le serveur LAMP

Tout d’abord, vous devrez installer Apache, MariaDB, PHP et d’autres bibliothèques PHP sur votre serveur. Vous pouvez tous les installer avec la commande suivante :

dnf install httpd mariadb-server php php-pdo php-pecl-zip php-json php-common php-fpm php-mbstring php-cli php-mysqlnd php-json php-mbstring wget unzip

Une fois tous les paquets installés, démarrez le service Apache et MariaDB et activez-les pour qu’ils démarrent après le redémarrage du système avec la commande suivante :

systemctl start httpd  
systemctl start mariadb  
systemctl enable httpd  
systemctl enable mariadb

Une fois que vous avez terminé, vous pouvez passer à l’étape suivante.

Configurer MariaDB

Par défaut, MariaDB n’est pas sécurisé. Vous devrez donc le sécuriser d’abord. Vous pouvez le faire en exécutant le script mysql_secure_installation :

mysql_secure_installation

Répondez à toutes les questions comme indiqué ci-dessous :

Set root password? [Y/n] Y
New password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Une fois que vous avez terminé, vous devriez voir la sortie suivante :

 ... Succès !

Nettoyage...

Tout est fait ! Si vous avez terminé toutes les étapes ci-dessus, votre installation de MariaDB
devrait maintenant être sécurisée.

Merci d'utiliser MariaDB !

À ce stade, votre installation de MariaDB est sécurisée.

Installer phpMyAdmin

Par défaut, phpMyAdmin n’est pas disponible dans le dépôt par défaut de CentOS 8. Vous devrez donc télécharger la dernière version de phpMyAdmin depuis leur site officiel. Vous pouvez le télécharger avec la commande suivante :

wget https://files.phpmyadmin.net/phpMyAdmin/4.9.2/phpMyAdmin-4.9.2-all-languages.zip

Une fois téléchargé, décompressez le fichier téléchargé avec la commande suivante :

unzip phpMyAdmin-4.9.2-all-languages.zip

Ensuite, déplacez le contenu extrait vers le répertoire /usr/share comme indiqué ci-dessous :

mv phpMyAdmin-4.9.2-all-languages /usr/share/phpmyadmin

Ensuite, changez le répertoire en /usr/share/phpmyadmin et renommez le fichier config.sample.inc.php :

cd /usr/share/phpmyadmin  
mv config.sample.inc.php config.inc.php

Ensuite, ouvrez le fichier avec votre éditeur de texte préféré comme indiqué ci-dessous :

nano config.inc.php

Changez la ligne suivante :

$cfg['blowfish_secret'] = 'votre-mot-de-passe-secret';

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, importez le create_tables.sql avec la commande suivante :

mysql < /usr/share/phpmyadmin/sql/create_tables.sql -u root -p

Fournissez votre mot de passe root lorsque vous y êtes invité pour importer la table.

Ensuite, créez un répertoire tmp pour phpmyadmin et donnez les permissions appropriées :

mkdir /usr/share/phpmyadmin/tmp  
chown -R apache:apache /usr/share/phpmyadmin  
chmod 777 /usr/share/phpmyadmin/tmp

Configurer Apache pour phpMyAdmin

Ensuite, vous devrez créer un fichier de configuration de virtual host Apache pour phpMyAdmin. Vous pouvez le créer avec la commande suivante :

nano /etc/httpd/conf.d/phpmyadmin.conf

Ajoutez les lignes suivantes :

Alias /phpmyadmin /usr/share/phpmyadmin


   AddDefaultCharset UTF-8

   
     # Apache 2.4
      
      Require all granted
     
   
   
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   



   
     # Apache 2.4
     
       Require all granted
     
   
   
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, redémarrez le service Apache avec la commande suivante :

systemctl restart httpd

Vous pouvez vérifier l’état d’Apache avec la commande suivante :

systemctl status httpd

Vous devriez voir la sortie suivante :

? httpd.service - Le serveur HTTP Apache
   Chargé : chargé (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           ??php-fpm.conf
   Actif: actif (en cours d'exécution) depuis mer. 2019-12-18 01:07:52 EST; 6s ago
     Docs: man:httpd.service(8)
 Main PID: 5636 (httpd)
   Statut: "Démarré, écoute sur : port 80"
    Tâches: 213 (limite : 25044)
   Mémoire: 28.7M
   CGroup: /system.slice/httpd.service
           ??5636 /usr/sbin/httpd -DFOREGROUND
           ??5639 /usr/sbin/httpd -DFOREGROUND
           ??5640 /usr/sbin/httpd -DFOREGROUND
           ??5641 /usr/sbin/httpd -DFOREGROUND
           ??5642 /usr/sbin/httpd -DFOREGROUND

Dec 18 01:07:52 centos8 systemd[1]: Stopped Le serveur HTTP Apache.
Dec 18 01:07:52 centos8 systemd[1]: Starting Le serveur HTTP Apache...
Dec 18 01:07:52 centos8 httpd[5636]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::200:d0>
Dec 18 01:07:52 centos8 httpd[5636]: Serveur configuré, écoute sur : port 80
Dec 18 01:07:52 centos8 systemd[1]: Démarré Le serveur HTTP Apache.

Configurer SELinux et le pare-feu

Par défaut, SELinux est activé dans CentOS 8. Vous devrez donc configurer SELinux pour que phpMyAdmin fonctionne correctement.

Tout d’abord, installez le paquet policycoreutils-python-utils pour gérer un environnement SELinux avec la commande suivante :

dnf install policycoreutils-python-utils

Ensuite, activez l’accès au répertoire /usr/share/phpmyadmin avec la commande suivante :

semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/phpmyadmin/'  
semanage fcontext -a -t httpd_sys_rw_content_t "/usr/share/phpmyadmin/tmp(/.*)?"

Maintenant, parcourez tous les fichiers de votre répertoire phpmyadmin en exécutant la commande suivante :

restorecon -Rv '/usr/share/phpmyadmin/'

Ensuite, vous devrez créer une règle de pare-feu pour autoriser le service HTTP depuis des réseaux externes. Vous pouvez l’autoriser avec la commande suivante :

firewall-cmd --permanent --add-service=http  
firewall-cmd --reload

phpMyAdmin est maintenant installé et configuré. Il est maintenant temps de vérifier s’il fonctionne ou non.

Ouvrez votre navigateur web et tapez l’URL http://your-server-ip/phpmyadmin. Vous serez redirigé vers la page suivante :

Connexion à PHPMyAdmin

Sécuriser phpMyAdmin

À ce stade, l’instance phpMyAdmin fonctionne correctement. Cependant, sécuriser votre instance phpMyAdmin contre le monde extérieur est une tâche importante pour vous. Dans cette section, nous allons vous montrer comment sécuriser votre instance phpMyAdmin.

Autoriser phpMyAdmin depuis une IP spécifique

Tout d’abord, vous devrez configurer votre phpMyAdmin pour qu’il soit accessible uniquement depuis l’adresse IP de votre connexion à domicile.

Vous pouvez le configurer en éditant le fichier /etc/httpd/conf.d/phpmyadmin.conf :

nano /etc/httpd/conf.d/phpmyadmin.conf

Trouvez les lignes suivantes :

     
       Require all granted
     

Et remplacez-les par ce qui suit :


    Require ip votre-adresse-ip-de-connexion-domicile
    Require ip ::1

Enregistrez et fermez le fichier lorsque vous avez terminé.

Configurer une couche supplémentaire d’authentification

Il est judicieux de protéger par mot de passe votre répertoire phpmyadmin en configurant une authentification de base.

Pour ce faire, créez un nouveau fichier d’authentification à l’aide de l’outil htpasswd comme indiqué ci-dessous :

mkdir /etc/phpmyadmin  
htpasswd -c /etc/phpmyadmin/.htpasswd admin

On vous demandera de fournir votre mot de passe admin comme indiqué ci-dessous :

New password: 
Re-type new password: 
Adding password for user admin

Ensuite, vous devrez configurer Apache pour utiliser le fichier .htpasswd. Vous pouvez le faire en éditant le fichier /etc/httpd/conf.d/phpmyadmin.conf.

nano /etc/httpd/conf.d/phpmyadmin.conf

Ajoutez les lignes suivantes sous la ligne “AddDefaultCharset UTF-8” :

    Options  +FollowSymLinks +Multiviews +Indexes
    AllowOverride None
    AuthType basic
    AuthName "Authentification requise"
    AuthUserFile /etc/phpmyadmin/.htpasswd
    Require valid-user

Enregistrez le fichier et redémarrez le service Apache pour que les modifications prennent effet :

systemctl restart httpd

Accéder à phpMyAdmin

Maintenant, votre instance phpMyAdmin est sécurisée avec une couche de sécurité supplémentaire. Ouvrez votre navigateur web et tapez l’URL http://your-server-ip/phpmyadmin. On vous demandera d’entrer les identifiants de connexion de l’utilisateur que vous avez précédemment créé comme indiqué ci-dessous :

phpMyAdmin sécurisé

Fournissez votre nom d’utilisateur et votre mot de passe admin, puis cliquez sur le bouton OK. Vous serez redirigé vers la page de connexion de phpMyAdmin :

Connexion en tant qu'utilisateur root à phpMyAdmin

Maintenant, fournissez vos identifiants de connexion d’utilisateur administratif MySQL et cliquez sur le bouton Go. Vous devriez voir la page suivante :

Tableau de bord de la base de données phpMyAdmin

Conclusion

Félicitations ! vous avez réussi à installer et sécuriser phpMyAdmin sur le serveur CentOS 8. Vous pouvez maintenant créer des bases de données, des utilisateurs, des tables et les gérer depuis l’interface web. N’hésitez pas à me poser des questions si vous en avez.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.