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 -yUne 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 -yUne 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.zipUne fois le téléchargement terminé, décompressez le fichier téléchargé avec la commande suivante :
unzip phpMyAdmin-5.2.1-all-languages.zipEnsuite, déplacez le répertoire extrait vers /usr/share avec la commande suivante :
mv phpMyAdmin-5.2.1-all-languages /usr/share/phpmyadminEnsuite, créez le répertoire requis avec la commande suivante :
mkdir -p /var/lib/phpmyadmin/tmpEnsuite, définissez la propriété appropriée pour le répertoire phpMyAdmin :
chown -R www-data:www-data /var/lib/phpmyadminEnsuite, copiez le fichier de configuration d’exemple de phpMyAdmin :
cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.phpEnsuite, installez pwgen et générez une clé secrète avec la commande suivante :
apt-get install pwgen -y
pwgen -s 32 1Sortie :
pau9t1SG6lmaeCFxKqeeaY5N4erIa25K
Ensuite, éditez le fichier config.inc.php et configurez-le :
nano /usr/share/phpmyadmin/config.inc.phpDé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.sqlEnsuite, connectez-vous au shell MariaDB avec la commande suivante :
mysqlUne 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.confAjoutez 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.confEnsuite, rechargez le service Apache pour appliquer les modifications :
systemctl reload apache2Vous pouvez vérifier l’état du service Apache en utilisant la commande suivante :
systemctl status apache2Vous 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 :

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 :

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.confAjoutez 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 apache2Ensuite, créez un fichier .htaccess et définissez le type d’authentification Apache :
nano /usr/share/phpmyadmin/.htaccessAjoutez 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 secureuserVous 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 :

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.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.