Installation de phpMyAdmin compatible PHP 8.2
Prérequis
- Serveur Ubuntu 20.04
- Serveur Web Caddy Server
- Récupérer la dernière version de phpMyAdmin compatible avec PHP 8.*
- Lien téléchargement phpMyAdmin compatible php 8.2
- Composer
Installation de phpMyAdmin : phpMyAdmin 6.0+snapshot
Je me positionne dans le répertoire /var/www/html pour récupérer la dernière version de phpMyAdmin compatible avec PHP 8.*
ici la verison que j'ai utilisé en janvier 2025
wget https://files.phpmyadmin.net/snapshots/phpMyAdmin-6.0+snapshot-all-languages.zip
unzip phpMyAdmin-6.0+snapshot-all-languages.zip
sudo mv phpMyAdmin-6.0+snapshot-all-languages /usr/share/phpmyadmin
sudo chown -R www-data:www-data /usr/share/phpmyadminAller dans le reperoire /usr/share/phpmyadmin
cd /usr/share/phpmyadmin
composer installCréer un lien symbolique vers le répertoire /var/www/html pour accéder au contenu de phpMyAdmin dans var/www/html ça va permettre de voir et travailler dans le repertorie de /usr/share/phpmyadmindirectement depuis var/html/wwww sans avoir à se déplacer dans le répertoire /usr/share/phpmyadmin.
C'est surtout la garantie pour le serveur web de ne pas de problème de droit d'accès...
J'aurais aussi pu tout installer directement dans le répertoire /var/www/html comme pour Matomo ça aurait été pareil...quoi qu'il en soit le lien symbolique ne duplique pas les fichiers et ne prend pas de place disque...c'est juste un raccourci.
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadminConfiguration de phpMyAdmin
Créer un fichier de configuration pour phpMyAdmin
sudo cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.phpOuvrir le fichier dans VsCode et modifier les lignes suivantes
Pour créer un mot e passe faire la commande suivante
openssl rand -out /dev/stdout 32 | base64 | head -c 32$cfg['blowfish_secret'] = 'on colle la clé ici entre les simple quote'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */Configuration de Caddy Server
Créer un fichier de configuration pour phpMyAdmin
sudo nano /etc/caddy/CaddyfileAjouter la configuration minimale requise pour phpMyAdmin
mon-domaine-php-myadmin.ext {
header {
-Server
Set-Cookie: __Host-sess=123; path=/; Secure; HttpOnly; SameSite=Lax
Permissions-Policy "geolocation=(self), microphone=(), camera=()"
Strict-Transport-Security "max-age=31536000; includeSubDomains"
X-Content-Type-Options "nosniff"
Referrer-Policy "no-referrer-when-downgrade"
Content-Security-Policy: "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data:;"
X-Frame-Options "DENY"
}
root * /var/www/html/phpmyadmin/public
php_fastcgi unix//run/php/php8.2-fpm.sock
encode gzip
file_server
}Redémarrer Caddy Server
sudo systemctl restart caddyAccès à phpMyAdmin
Ouvrir un navigateur et accéder à l'adresse https://mon-domaine-php-myadmin.ext Regarder si il y a des petits warning à régler...et c'est tout. IL peut y avoir des permission à règler sur le dossier /temp de phpMyAdmin. pour que le serveur web puisse écrire dedans.
Si besoin de modifier les droits d'accès sur le dossier /temp de phpMyAdmin on donne les droits au serveur web comme propriétaire et groupe propriétaire.
sudo chown -R www-data:www-data /usr/share/phpmyadmin/tmpConclusion
C'est terminé je peux utiliser phpMyAdmin pour gérer mes bases de données MySQL et MariaDB. Par contre pour Php8 je sui sobligé d'utiliser la version 6.0+snapshot de phpMyAdmin. et de suivre cette procédure pour l'installer. C'est rapide et ça fonctionne bien.