Accueil » Installer PhpMyAdmin sur Debian 11

Installer PhpMyAdmin sur Debian 11

PhpMyAdmin est une interface Web qui permet de gérer ses bases de données Mysql et Mariadb de manière graphique. Dans cette procédure je vais vous montrer deux manières d’installer PhpMyAdmin sur Debian 11 (Bullseye).

Installer PhpMyAdmin sur Debian 11 - Logo PhpMyAdmin

Prérequis :

  • Une machine Debian 11 (Bullseye)
  • Une base de données Mariadb ou Mysql

Installer PhpMyAdmin sur Debian 11 :

L’installation de PhpMyAdmin peut se faire de deux manières différentes sur Debian, l’une d’elles se fait à l’aide à l’aide d’un dépôt ou sinon elle peut se faire en en saisissant une suite d’instruction dans votre terminal. Cette dernière méthode est plus longue mais personnalisable à vos besoins et elle est également plus sûre.

Avant de commencer à suivre la procédure, pensez à la liste de vos paquets à jour :

sudo apt update

Ces deux manières de procéder nécessitent une base de données Mariadb (Installer Mariadb sous Debian 11) ou Mysql, Apache2 et aussi des paquets Php.

sudo apt install apache2 php libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml wget -y

Installation de PhpMyAdmin avec dépôt sur Debian 11 :

Il est possible de d’installer PhpMyAdmin à l’aide d’un dépôt, avec la commande suivante :

apt install phpmyadmin

Installation de PhpMyAdmin manuellement sur Debian 11 :

Après avoir téléchargé les paquets, nous allons récupérer la dernière version de PhpMyAdmin :

DATA="$(wget https://www.phpmyadmin.net/home_page/version.txt -q -O-)"
URL="$(echo $DATA | cut -d ' ' -f 3)"
VERSION="$(echo $DATA | cut -d ' ' -f 1)"
wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-all-languages.tar.gz

Puis on extrait l’archive :

tar xvf phpMyAdmin-${VERSION}-all-languages.tar.gz

Ensuite on déplace le dossier dans le répertoire /usr/share/ :

mv phpMyAdmin-*/ /usr/share/phpmyadmin

Après avoir réalisé cette étape nous devons créer un répertoire pour les fichiers temporaires de PhpMyAdmin et attribuer l’utilisateur d’apache comme propriétaire de l’emplacement de PhpMyAdmin :

mkdir -p /var/lib/phpmyadmin/tmp
chown -R www-data:www-data /var/lib/phpmyadmin

Puis on peut copier le template de fichier de configuration de PhpMyAdmin afin de l’utiliser :

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

Et ensuite nous devrons éditer ce nouveau fichier :

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

Définissez votre phrase secrète en y ajoutant la ligne :

$cfg['blowfish_secret'] = 'xxxxxxxxxxxxxxxx'; 

Et ajouter la ligne suivante pour spécifier à PhpMyAdmin de l’emplacement temporaire que nous avions créé :

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

Ensuite nous allons créer un virtualhost dans apache pour pouvoir avoir un accès à PhpMyAdmin :

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

Collez cette configuration dans le fichier :

Alias /phpmyadmin /usr/share/phpmyadmin
 
<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php
 
    <IfModule mod_php5.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>
 
        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
    </IfModule>
    <IfModule mod_php.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>
 
        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
    </IfModule>
 
</Directory>
 
# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
    <IfModule mod_authz_core.c>
        <IfModule mod_authn_file.c>
            AuthType Basic
            AuthName "phpMyAdmin Setup"
            AuthUserFile /etc/phpmyadmin/htpasswd.setup
        </IfModule>
        Require valid-user
    </IfModule>
</Directory>
 
# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/templates>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
    Require all denied
</Directory>

Puis ensuite on peut redémarrer le service Apache2 :

sudo systemctl restart apache2

Enfin vous pouvez vérifier que PhpMyAdmin est bien installé en vous rendant depuis un navigateur sur l’url : http://votre-adresse-ip/phpmyadmin

Page d'accès PhpMyAdmin
Page d’accès PhpMyAdmin

Vos accès sont les mêmes que ceux de votre base de données Mysql ou MariaDB.
Attention si vous avez refusé la connexion en tant qu’utilisateur root, il faudra créer et utiliser un autre compte utilisateur.

Sources :

https://www.phpmyadmin.net/

Susceptible de vous intéresser :