Certificat SSL Let’s Encrypt sur Fedora 23

Certificat SSL Let's Encrypt sur Fedora 23La 1ère des choses à dire est que ce n’est pas très facile de générer un certificat SSL avec Let’s Encrypt sous Linux Fedora 23. Je dirais même plus : ça se mérite !

La création du certificat à partir d’une machine cliente

A partir d’une machine virtuelle Linux Fedora 23, j’ai tout d’abord installé le paquet Let’s Encrypt :

dnf install letsencrypt

Pour mon serveur Apache, il m’a fallu ensuite générer les trois fichiers privkey.pem, cert.pem et chain.pem. Le fichier fullchain.pem est réservé à Nginx. A partir de la ligne de commande, j’ai donc tapé :

letsencrypt --text --email info@mondomaine.com --domains www.mondomaine.com,mondomaine.com --agree-tos --renew-by-default --manual certonly

Lors de cette étape, vous devez à deux reprises récupérer les informations fournies par la commande letsencrypt et créer deux fichiers accessibles à partir d’un lien pointant vers http://www.mondomaine.com/.well-known/acme-challenge/, dont le contenu vous est lui-aussi fourni par la commande. Cette phase est extrêmement pénible. Et j’espère avoir été clair !

Les quatre fichiers qui composent le certificat SSL sont désormais créés sur la machine cliente dans un dossier du type /etc/letsencrypt/live/www.mondomaine.com/.

Configuration du serveur Apache

Pensez tout d’abord à installer aussi letsencrypt sur votre serveur Linux Fedora. Copiez les fichiers générés du dossier /etc/letsencrypt lors de l’étape précédente de la machine cliente vers votre serveur via SSH. Je les ai copiés sur le serveur au même emplacement, à savoir dans /etc/letsencrypt/live/www.mondomaine.com/.

Il faut ensuite éditer votre fichier de configuration Apache lié au virtualhost de votre nom de domaine, /etc/httpd/conf.d/mondomaine.conf et faire les modifications suivantes ( en gras dans l’exemple ci-dessous) :

<VirtualHost *:443>
    DocumentRoot "/home/www/mondomaine"
    ServerAdmin dszalkowski@gmail.com
    ServerName www.mondomaine.com:443
    ServerAlias mondomaine.com *.mondomaine.com 
    ErrorLog logs/mondomaine-error_log
    CustomLog logs/mondomaine-access_log combined env=!dontlog
    <FilesMatch "\.php$">
	SetHandler "proxy:unix:/run/php-fpm/mondomaine.sock|fcgi://127.0.0.1"
    </FilesMatch>    
    LogLevel warn
    SSLEngine on
    #SSLProtocol all -SSLv3
    #SSLProxyProtocol all -SSLv3
    #SSLCertificateFile /etc/pki/tls/certs/mondomaine.crt
    #SSLCertificateKeyFile /etc/pki/tls/private/mondomaine.key
    SSLVerifyClient none
    SSLCertificateFile /etc/letsencrypt/live/www.mondomaine.com/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/www.mondomaine.com/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/www.mondomaine.com/chain.pem
</VirtualHost *:443> 

Vous devez recharger la nouvelle configuration pour qu’elle soit prise en charge par Apache :

systemctl restart httpd

Le certificat est en place !

Renouvellement du certificat

Une fois créé, il faut penser à renouveler votre certificat. Vous pouvez le faire par systemd. Le plus simple reste encore de planifier une tâche exécutant le script /root/run-letsencrypt :

#!/bin/bash
/usr/bin/letsencrypt -d www.mondomaine.com,domaine.com --renew-by-default -m info@mondomaine.com --agree-tos -t --webroot -w /home/www/mondomaine certonly
systemctl reload httpd
exit

Pour planifier l’exécution du script une fois par mois, tapez crontab -e et, à partir de votre éditeur, ajoutez cette tâche pour exécuter le script le 21 du mois à 19 h 00:

0 19 21 */1 * /root/run-letsencrypt 2>&1

Apache  / Apache Certificat Let's Encrypt Certificat SSL Fedora Formateur Apache Formateur Fedora Formateur LAMP Formateur Linux Https Lamp Let's Encrypt Linux OpenSSL SSL 

Commentaires

Pas encore de commentaire.

Laisser un commentaire

(requis)

(requis)