mardi , 22 septembre 2020
Home » Serveur » Apache » SSL : WordPress Multisites + Domain Mapping

SSL : WordPress Multisites + Domain Mapping

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.

  1. Connectez-vous en SSH sur votre serveur.
  2. apt-get update
  3. 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.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *