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.