Comment configurer Apache pour avoir son site en http, son webmail et phpmyadmin en https?
On part du principe que vous avez un seveur web opérationel, un webmail fonctionnel et phpmyadmin d’installé.
la racine du site web:
/var/www/siteweb
la racine du webmail
/var/www/webmail
la racine de phpmyadmin
/usr/share/phpmyadmin
vos certificats:
/etc/apache2/ssl/apache.key /etc/apache2/ssl/apache.crt
si vous n’avez pas généré vos certificats, allez voir cette article -> https://memo-linux.com/?p=94
on active le mod ssl
root@server#a2enmod ssl
on recharge Apache
root@serveur#/etc/init.d/apache2 reload
A la base nous avons un seul fichier de conf:
root@serveur# ls /etc/apache2/sites-available/ root@serveur#default
nous allons créer le fichier default-ssl
root@serveur#nano /etc/apache2/sites-available/default-ssl
dans ce fichier nous allons mettre les parties gérées en https:
NameVirtualHost *:443 <virtualhost *:443> ServerName serveurweb.dom DocumentRoot /var/www/webmail Alias /webmail /var/www/webmail SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key </virtualhost> <virtualhost *:443> ServerName serveurweb.dom DocumentRoot /usr/share/phpmyadmin SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key </virtualhost>
ensuite dans le fichier default nous allons renseigner les répertoires du webmail et de phpmyadmin avec une redirection en https:
root@serveur#nano etc/apache2/sites-available/default
<directory /var/www/siteweb> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </directory> <directory /var/www/webmail> Redirect /webmail https://serveurweb.dom/webmail Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </directory> <directory /usr/share/phpmyadmin> Redirect /phpmyadmin https://serveurweb.dom/phpmyadmin Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </directory>
on ajoute le fichier de conf default-ssl pour que Apache puisse le prendre en compte:
root@serveur#a2ensite default-ssl
et on restart Apache pour la prise en compte des changements:
#root@serveur#/etc/init.d/apache2 restart
et si tout va bien:
http://monsiteweb.dom
http://monsiteweb.dom/webmail est automatiquement redirigé en https://monsiteweb.dom/webmail
http://monsiteweb.dom/phpmyadmin est automatiquement redirigé en https://monsiteweb.dom/phpmyadmin
Merci pour l’article rafraîchissant
Sinon:
les parties gérer [gérées] en https
les répertoirs [répertoires] du webmail
Merci Maitre Capello pour les corrections!
Solution fonctionnelle (source: http://docs.phpmyadmin.net/en/latest/config.html), ajouter au fichier /etc/phpmyadmin/config.inc.php :
$cfg[‘ForceSSL’] = True;
Tout simplement!
C’est vrai, que je ne lis pas souvent les documentations… Depuis je suis passé à Adminer avec Nginx.