Auteur : Didier Misson
• 6 janvier 2008

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/phpmyadmin          Options 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 ! ;-)

Catégorie: Serveurs | Tags : , , ,
Vous pouvez suivre toutes les réponses à à ce billet via le flux RSS 2.0. Vous pouvez laisser une réponse, ou un rétrolien depuis votre propre site.

Une réponse

  1. 1
    DJOUMOI 
    25 mars 2008

    recevoir un certificat de sécurité wifi fon

Laisser un commentaire