Si comme moi vous possédez un système WordPress Multisites, il est peut-être temps de penser à activer vos certificats SSL permettant d’avoir une connexion sécurisée pour vos utilisateurs.
Ma configuration est la suivante :
- Serveur Ubuntu 16.04 (xenial)
- WordPress Multisite (version actuelle : 4.7.3)
- Utilisation du plugin « Domain Mapping » de WPMU
- Clés SSL de Let’s Encrypt
Installation de Let’s Encryp sur le serveur.
- Connectez-vous en SSH sur votre serveur.
-
apt-get update
-
sudo apt-get install letsencrypt
Création du certificat SSL pour votre domaine
Exécutez la commande suivante :
sudo letsencrypt certonly --webroot -w /opt/lampstack-5.6.30-1/apps/wordpress/htdocs -d exoconsult.com -d www.exoconsult.com
Où :
- /opt/lampstack-5.6.30-1/apps/wordpress/htdocs est le répertoire contenant wordpress
- exoconsult.com est le domaine pour lequel je souhaite créer un certificat SSL
Après l’exécution de la dernière commande, vous verrez apparaître le message suivant :
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/humourenstock.com/fullchain.pem. Your cert will expire on 2017-06-18. To obtain a new version of the certificate in the future, simply run Let's Encrypt again. - If you like Let's Encrypt, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Configuration de Apache
Lorsque vos certificats SSL ont été correctement créés, il faut encore configurer apache pour les utiliser. Pour cela, il suffit de créer une nouvelle directive dans le fichier httpd-vhost.conf (avant les autres directives).
<VirtualHost *:443> ServerName exoconsult.com DocumentRoot "/opt/lampstack-5.6.30-1/apps/wordpress/htdocs" SSLEngine on SSLCertificateFile /etc/letsencrypt/live/exoconsult.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/exoconsult.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/exoconsult.com/chain.pem Include "/opt/lampstack-5.6.30-1/apps/wordpress/conf/httpd-app.conf" </VirtualHost>
Restart Apache
Avant de redémarrer le serveur Apache, il est utile de vérifier que la configuration soit correcte. Pour cela, il suffit d’exécuter la commande suivante :
sudo /opt/lampstack-5.6.30-1/apache2/bin/apachectl configtest
Le résultat doit afficher Syntax OK.
Si vous obtenez une erreur du type ci-dessous, cela signifie simplement que vous n’avez pas exécuté la commande « apachectl » avec les bons droits (n’avez-vous pas oublié d’utiliser sudo ?).
AH00526: Syntax error on line 70 of /opt/lampstack-5.6.30-1/apps/wordpress/conf/httpd-vhosts.conf: SSLCertificateFile: file '/opt/lampstack-5.6.30-1/apps/wordpress/letsencrypt/live/exoconsult.com/cert.pem' does not exist or is empty
Pour redémarrer Apache avec un système Bitnami, il suffit d’exécuter la commande suivante :
sudo /opt/lampstack-5.6.30-1/ctlscript.sh restart apache Syntax OK /opt/lampstack-5.6.30-1/apache2/scripts/ctl.sh : httpd stopped Syntax OK /opt/lampstack-5.6.30-1/apache2/scripts/ctl.sh : httpd started at port 80
Modification à apporter dans le plugin « Multi Domain »
Connectez-vous sur votre système WordPress Multisite et rendez-vous dans la partie Settings -> Domain Mapping -> onglet « Mapped Domains ».
Cliquez ensuite sur la petite clé se trouvant sur la même ligne que votre domaine (dans notre exemple : exoconsult.com). En faisant cela, vous utiliserez dorénavant le https au lieu du http.