phpMyAdmin · 6 min read · Oct 22, 2025

Comment installer et sécuriser la dernière version de phpMyAdmin sur Debian 12

phpMyAdmin est un outil d’administration gratuit basé sur le web utilisé pour gérer les bases de données MySQL et MariaDB, largement utilisé dans les systèmes Debian Linux. Il fournit une interface conviviale pour interagir avec les bases de données, permettant aux utilisateurs d’exécuter des requêtes SQL, de gérer des tables de base de données, d’importer et d’exporter des données, et de configurer divers paramètres de base de données sans avoir besoin d’utiliser la ligne de commande. Sur Debian Linux, phpMyAdmin est souvent installé aux côtés d’une pile LAMP (Linux, Apache, MySQL/MariaDB, PHP), facilitant ainsi la gestion des opérations de base de données de manière plus visuelle et organisée.

Dans ce tutoriel, je vais vous montrer comment installer et sécuriser l’outil d’administration de base de données phpMyAdmin sur Debian 12.

Prérequis

  • Un serveur exécutant Debian 12.

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

Commencer

Avant de commencer, il est conseillé de mettre à jour vos paquets système vers la dernière version. Vous pouvez mettre à jour tous les paquets en utilisant la commande suivante :

apt update -y

Une fois votre système mis à jour, vous pouvez passer à l’étape suivante.

Installer le serveur LAMP

phpMyAdmin est une application basée sur PHP qui s’exécute sur un serveur web. Vous devrez donc installer le serveur LAMP sur votre serveur. Vous pouvez l’installer en utilisant la commande suivante :

apt install apache2 mariadb-server libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml php-mbstring php-zip php-gd unzip -y

Une fois tous les paquets installés, vous pouvez passer à l’étape suivante.

Installer et configurer phpMyAdmin

Tout d’abord, téléchargez la dernière version de phpMyAdmin depuis leur site officiel en utilisant la commande suivante :

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

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

unzip phpMyAdmin-5.2.1-all-languages.zip

Ensuite, déplacez le répertoire extrait vers /usr/share avec la commande suivante :

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

Ensuite, créez le répertoire requis avec la commande suivante :

mkdir -p /var/lib/phpmyadmin/tmp

Ensuite, définissez la propriété appropriée pour le répertoire phpMyAdmin :

chown -R www-data:www-data /var/lib/phpmyadmin

Ensuite, copiez le fichier de configuration d’exemple de phpMyAdmin :

cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php

Ensuite, installez pwgen et générez une clé secrète avec la commande suivante :

apt-get install pwgen -y  
pwgen -s 32 1

Sortie :

pau9t1SG6lmaeCFxKqeeaY5N4erIa25K

Ensuite, éditez le fichier config.inc.php et configurez-le :

nano /usr/share/phpmyadmin/config.inc.php

Définissez votre clé secrète et décommentez les lignes suivantes :

$cfg['blowfish_secret'] = 'pau9t1SG6lmaeCFxKqeeaY5N4erIa25K'; /* VOUS DEVEZ REMPLIR CECI POUR L'AUTHENTIFICATION PAR COOKIE ! */
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'password';

$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';

$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';

Enregistrez et fermez le fichier lorsque vous avez terminé.

Créer un utilisateur admin pour phpMyAdmin

Il est toujours recommandé de créer un utilisateur séparé pour gérer la base de données via phpMyAdmin.

Tout d’abord, importez les tables phpMyAdmin dans la base de données MariaDB en utilisant la commande suivante :

mysql < /usr/share/phpmyadmin/sql/create_tables.sql

Ensuite, connectez-vous au shell MariaDB avec la commande suivante :

mysql

Une fois connecté, accordez tous les privilèges nécessaires à la base de données phpmyadmin avec la commande suivante :

MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'password';

Ensuite, créez un utilisateur admin avec la commande suivante :

MariaDB [(none)]> CREATE USER myadmin;

Ensuite, accordez tous les privilèges à l’utilisateur admin avec la commande suivante :

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'myadmin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Ensuite, rafraîchissez les privilèges et quittez le shell MariaDB en utilisant la commande suivante :

MariaDB [(none)]> FLUSH PRIVILEGES;  
MariaDB [(none)]> EXIT;

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

Configurer Apache pour phpMyAdmin

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

nano /etc/apache2/conf-available/phpmyadmin.conf

Ajoutez les lignes suivantes :

Alias /phpmyadmin /usr/share/phpmyadmin


    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php

    
        
            AddType application/x-httpd-php .php
        
        
            SetHandler application/x-httpd-php
        

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    
    
        
            AddType application/x-httpd-php .php
        
        
            SetHandler application/x-httpd-php
        

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    



# Autoriser pour la configuration

    
        
            AuthType Basic
            AuthName "Configuration de phpMyAdmin"
            AuthUserFile /etc/phpmyadmin/htpasswd.setup
        
        Require valid-user
    


# Interdire l'accès web aux répertoires qui n'en ont pas besoin

    Require all denied


    Require all denied


    Require all denied

Enregistrez et fermez le fichier lorsque vous avez terminé, puis activez le fichier de configuration phpMyAdmin avec la commande suivante :

a2enconf phpmyadmin.conf

Ensuite, rechargez le service Apache pour appliquer les modifications :

systemctl reload apache2

Vous pouvez vérifier l’état du service Apache en utilisant la commande suivante :

systemctl status apache2

Vous devriez voir la sortie suivante :

? apache2.service - Le serveur HTTP Apache
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2024-08-25 11:28:21 UTC; 5s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 23021 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 23031 (apache2)
      Tasks: 6 (limit: 2341)
     Memory: 14.6M
        CPU: 89ms
     CGroup: /system.slice/apache2.service
             ??45031 /usr/sbin/apache2 -k start
             ??45032 /usr/sbin/apache2 -k start
             ??45033 /usr/sbin/apache2 -k start
             ??45034 /usr/sbin/apache2 -k start
             ??45035 /usr/sbin/apache2 -k start
             ??45036 /usr/sbin/apache2 -k start

Sun 25 11:28:21 debian systemd[1]: Starting Le serveur HTTP Apache...

Accéder à phpMyAdmin

À ce stade, phpMyAdmin est installé et configuré. Maintenant, ouvrez votre navigateur web et accédez à phpMyAdmin en utilisant l’URL http://your-server-ip/phpmyadmin. Vous devriez voir la page de connexion de phpMyAdmin :

Connexion phpMyAdmin

Fournissez votre nom d’utilisateur admin, votre mot de passe et cliquez sur le bouton Go. Vous devriez voir le tableau de bord phpMyAdmin sur la page suivante :

phpMyAdmin

Sécuriser phpMyAdmin

Il est judicieux de sécuriser phpMyAdmin avec une authentification à deux facteurs. Vous pouvez le faire en utilisant les fonctionnalités d’authentification et d’autorisation .htaccess.

Tout d’abord, éditez le fichier de configuration de phpMyAdmin :

nano /etc/apache2/conf-available/phpmyadmin.conf

Ajoutez la ligne “AllowOverride All” dans le bloc de serveur suivant :


    Options FollowSymLinks
    DirectoryIndex index.php
    AllowOverride All

    

Enregistrez et fermez le fichier lorsque vous avez terminé, puis redémarrez le service Apache :

systemctl restart apache2

Ensuite, créez un fichier .htaccess et définissez le type d’authentification Apache :

nano /usr/share/phpmyadmin/.htaccess

Ajoutez les lignes suivantes :

AuthType Basic
AuthName "Fichiers restreints"
AuthUserFile /usr/share/phpmyadmin/.htpasswd
Require valid-user

Enregistrez et fermez le fichier, puis créez un utilisateur avec la commande suivante :

htpasswd -c /usr/share/phpmyadmin/.htpasswd secureuser

Vous serez invité à définir un mot de passe comme indiqué ci-dessous :

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

Vérifier phpMyAdmin

À ce stade, phpMyAdmin est sécurisé avec une authentification supplémentaire. Pour le vérifier, ouvrez votre navigateur web et accédez à phpMyAdmin en utilisant l’URL http://your-server-ip/phpmyadmin. Vous serez invité à fournir le nom d’utilisateur et le mot de passe supplémentaires comme indiqué ci-dessous :

Connexion sécurisée

Après avoir fourni votre nom d’utilisateur et votre mot de passe, vous serez redirigé vers la page de connexion normale de phpMyAdmin.

Conclusion

Félicitations ! Vous avez réussi à installer et sécuriser phpMyAdmin sur Debian 12. Vous pouvez maintenant explorer phpMyAdmin et gérer votre base de données depuis le navigateur web.

Share: X/Twitter LinkedIn

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

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