Pour Debian et Ubuntu il existe un paquet dans les dépôts, cependant, au moment où j'écris cette page, il existe un bug dans l'installation. J'ai donc choisi d'installer la dernière version à partir des sources.
Pour vérifier l'intégrité des fichiers (somme de contrôle et signature GPG), le détail est expliqué ici.
Il faut ensuite éditer sa zone DNS pour ajouter un sous-domaine, mais il est aussi possible d'installer PhpMyAdmin dans un répertoire. Je ne détaille pas ici la création de zone.
Je crée un VirtualHost
sur le port 80, j'ajouterai ensuite une redirection sur le port 443, mais il faut générer un certificat SSL, pour éviter les erreurs avec Let's Encrypt j'ai commenté la directive RewriteRule
.
<VirtualHost *:80> ServerName phpmyadmin.d2air.com ServerAlias phpmyadmin.d2air.com ServerAdmin email@d2air.com DocumentRoot /var/www/phpmyadmin RewriteEngine On #RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [redirect=301] ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
certbot certonly --webroot -w /var/www/phpmyadmin -d phpmyadmin.d2air.com --email email@d2air.com --rsa-key-size 4096
La directive RewriteRule
peut maintenant être décommentée, ensuite il faut créer un VirtualHost
afin d'utiliser SSL. J'utilise ici une configuration restrictive, il faudra peut-être une configuration plus souple si de nombreux clients doivent se connecter.
<IfModule mod_ssl.c> <VirtualHost *:443> ServerName phpmyadmin.d2air.com ServerAlias phpmyadmin.d2air.com ServerAdmin email@d2air.com DocumentRoot /var/www/phpmyadmin <Directory /> Options SymLinksIfOwnerMatch AllowOverride None Require all denied </Directory> <Directory /var/www/phpmyadmin/> Options -Indexes -FollowSymLinks +MultiViews AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined # enable HTTP/2, if available Protocols h2 http/1.1 # SSL Engine Switch: # Enable/Disable SSL for this virtual host. SSLEngine on # The CRIME attack uses SSL Compression, we need to disable that SSLCompression off SSLProtocol +TLSv1.3 -TLSv1.2 -TLSv1.1 -TLSv1 -SSLv3 -SSLv2 SSLCipherSuite TLSv1.3 TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256 SSLHonorCipherOrder on SSLSessionTickets off SSLUseStapling On # SSLStaplingCache must be exist in /etc/apache2/mods-available/ssl.conf # SSLOpenSSLConfCmd is supported by version 2.5 and later SSLOpenSSLConfCmd DHParameters /etc/ssl/private/dh4096.pem SSLCertificateFile /etc/letsencrypt/live/phpmyadmin.d2air.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/phpmyadmin.d2air.com/privkey.pem SSLCACertificateFile /etc/letsencrypt/live/phpmyadmin.d2air.com/fullchain.pem </VirtualHost> </IfModule>
Pour configurer facilement PhpMyAdmin, ajouter setup/
à l'adresse de votre installation sur le serveur web.