Après avoir généré un certificat auto-signé pour le sous-domaine “phpmyadmin.misson.net”,
je vais maintenant configurer Apache 2.

J’ai pris phpMyAdmin comme exemple, et car je pense que cet accès doit être sécurisé, mais vous pouvez vous baser sur ce billet pour sécuriser tout autre site ou sous-domaine.
A l’installation de phpMyAdmin, un fichier de configuration a été créé dans la liste des sites disponibles pour Apache.
Je vais d’abord, par soucis de clarté, changer le nom de ce membre.
D’abord, je le désactive d’Apache 2 :
$ sudo a2dissite phpmyadmin Site phpmyadmin disabled; run /etc/init.d/apache2 reload to fully disable.
Je veux que phpMyAdmin réponde à l’URL http://phpmyadmin.misson.net
et par après, à l’URL https://phpmyadmin.misson.net
Je renomme le fichier (je vais faire un COPY pour conserver l’original, en cas d’erreur) :
$ sudo cp phpmyadmin phpmyadmin.misson.net
Le fichier de définition pour l’accès en http ressemble à ceci :
# phpMyAdmin default Apache configuration < VirtualHost phpmyadmin.misson.net:80> ServerName phpmyadmin.misson.net DocumentRoot /usr/share/phpmyadmin ErrorLog /var/log/apache2/phpmyadmin.misson.net-error_log CustomLog /var/log/apache2/phpmyadmin.misson.net-access_log combined ## Alias /phpadmin03 /usr/share/phpmyadmin < Directory /usr/share/phpmyadmin> Options Indexes FollowSymLinks DirectoryIndex index.php # Authorize for setup < Files setup.php> # For Apache 1.3 and 2.0 < IfModule mod_auth.c> AuthType Basic AuthName "phpMyAdmin Setup" AuthUserFile /etc/phpmyadmin/htpasswd.setup < /IfModule> # For Apache 2.2 < IfModule mod_authn_file.c> AuthType Basic AuthName "phpMyAdmin Setup" AuthUserFile /etc/phpmyadmin/htpasswd.setup < /IfModule> Require valid-user < /Files> < IfModule mod_php4.c> AddType application/x-httpd-php .php php_flag magic_quotes_gpc Off php_flag track_vars On php_flag register_globals Off php_value include_path . < /IfModule> < IfModule mod_php5.c> AddType application/x-httpd-php .php php_flag magic_quotes_gpc Off php_flag track_vars On php_flag register_globals Off php_value include_path . < /IfModule> < /Directory> < /VirtualHost>
Adaptations simples donc, qui ne font que de rendre disponible à l’URL http://phpmyadmin.misson.net/
N’oubliez pas que, pour rendre une modification active dans Apache2, il faut le recharger :
$ sudo /etc/init.d/apache2 reload * Reloading web server config apache2 4484 [ OK ]
Pour rendre accessible phpMyAdmin en https, il faut évidemment modifier le port en 443, inclure les définitions pour le SSL et les certificats à utiliser.
Mais si je ne mets que les définitions pour le SSL en 443, j’ai un comportement étrange : l’URL http://phpmyadmin.misson.net/ répond toujours, mais avec une mise en page foireuse (probablement qu’il ne trouve plus les CSS).
Pour éviter cela, et comme je ne veux pas laisser la possibilité de s’authentifier dans phpMyAdmin dans être en mode encrypté, je force le mode ssl.
Une documentation à ce sujet sur Ubuntu-fr.org.
Je vais donc rediriger les appels http vers https :
$ sudo vi /etc/apache2/sites-available/phpmyadmin.misson.net
# phpMyAdmin default Apache configuration < VirtualHost phpmyadmin.misson.net:80> ServerName phpmyadmin.misson.net Redirect / https://phpmyadmin.misson.net < /VirtualHost> < VirtualHost phpmyadmin.misson.net:443> ServerName phpmyadmin.misson.net DocumentRoot /usr/share/phpmyadmin ErrorLog /var/log/apache2/phpmyadmin.misson.net-error_log CustomLog /var/log/apache2/phpmyadmin.misson.net-access_log combined SSLEngine on SSLCertificateFile /etc/apache2/ssl/phpmyadmin.misson.net.crt SSLCertificateKeyFile /etc/apache2/ssl/phpmyadmin.misson.net.key ## Alias /phpadmin03 /usr/share/phpmyadminOptions Indexes FollowSymLinks DirectoryIndex index.php # Authorize for setup ...
Au cas où vous ne l’auriez pas encore fait, il faut activer ce site dans la liste des listes d’Apache 2, et recharger Apache :
$ sudo a2ensite phpmyadmin.misson.net Site phpmyadmin.misson.net installed; run /etc/init.d/apache2 reload to enable. $ sudo /etc/init.d/apache2 reload * Reloading web server config apache2
Cela devrait fonctionner ! Et voilà, si vous utilisez l’URL http://phpmyadmin.misson.net, vous êtes automatiquement redirigé vers la page HTTPS du même site
Une autre utilisation serait, par exemple, de forcer l’accès à un WebMail en https.
Cela éviterait que des userids et mots de passe circulent en clair sur le Net !





25 mars 2008
recevoir un certificat de sécurité wifi fon