Dans cet article nous allons voir comment mettre en place simplement son site en https.
Génération de .key et .csr & achat du certificat & configuration chez le registrar
Tout d’abord il faut générer sur votre serveur deux fichiers, un fichier .key et un fichier .csr avec la commande :
openssl req -nodes -newkey rsa:2048 -keyout domaine.key -out domaine.csr
où domaine correspond à votre domaine.
Openssl vous posera alors quelques questions, pour la partie Common Name taper domaine.com (où domaine correspond toujours à votre domaine).
Les deux fichiers .key et .csr seront alors générés.
Par la suite il faut disposer d’un certificat ssl, pour cela vous pouvez faire appel à Let’s Encrypt qui propose des certificats gratuits.
Pour ma part j’ai acheté un certificat d’un an chez Gandi pour une quinzaine d’euros environ.
Gandi (ou autre) vous demandera alors de coller le contenu du fichier .csr créé précédemment. Copier/coller bien l’ensemble du contenu.
Lorsque l’opération sera terminée, Gandi vous fournira une entrée DNS à rentrer chez votre registrar, dans mon cas OVH.
Lorsque c’est fait il faut attendre que la validation soit prise en compte chez Gandi, cela peut prendre une heure, voire un peu plus.
Lorsque tout est ok il ne reste plus qu’à passer à la configuration de Apache2.
Configuration d’Apache 2
Activer ces deux composants d’Apache2 via :
a2enmod ssl
a2enmod headers
Ensuite rajouter cela à la suite de votre fichier de configuration de sites-available :
<VirtualHost *:443>
ServerName domaine.com
ServerAlias www.domaine.com
ServerAdmin admin@domaine.com
DocumentRoot /srv/web/domaine.com/www
<Directory /srv/web/domaine.com/www>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride none
Require all granted
</Directory>
# directives pour SSL
SSLEngine on
SSLCertificateFile /etc/gandi/certificat.crt
SSLCertificateKeyFile /etc/gandi/certificat.key
Header always set Strict-Transport-Security « max-age=15768000 »
ErrorLog /var/log/apache2/error.og
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
Concernant WordPress :
Dans l’admin de WordPress, menu Réglages, dans les deux champs qui reprennent l’url de votre site, rajouter un s à http.
Dans wp-config.php mettre à true :
define ( ‘FORCE_SSL_ADMIN’ , true);