Depuis 2020, l'installation s'effectue depuis certbot avec snap
Suivez le guide dans l'article certbot pour Let's Encrypt
Certbot est un binaire qui permet de mettre en œuvre un certificat SSL pour un domaine d'un site Internet. Certbot-auto est une solution complète qui permet d’exécuter Certbot de manière optimale.
En terminal, j’exécute wget
wget https://dl.eff.org/certbot-auto
sudo mv certbot-auto /usr/local/bin/certbot-auto sudo chown root /usr/local/bin/certbot-auto sudo chmod 0755 /usr/local/bin/certbot-auto /usr/local/bin/certbot-auto --install-only
Exécution de l'utilitaire pour configurer un site avec les options suivantes :
read -p "Quel est votre nom de domaine ? " siteName read -p "Dossier Web du site ? " dirWeb sudo certbot-auto certonly --webroot -w $dirWeb -d $siteName --register-unsafely-without-email
L'avantage de ce script :
Quelques chemins à retenir :
fichier de configuration | /etc/letsencrypt/renewal/$siteName.conf |
---|---|
dossier archive | /etc/letsencrypt/archive/$siteName |
fichier cert | /etc/letsencrypt/live/$siteName/cert.pem |
fichier privkey | /etc/letsencrypt/live/$siteName/privkey.pem |
fichier chain | /etc/letsencrypt/live/$siteName/chain.pem |
fichier fullchain | /etc/letsencrypt/live/$siteName/fullchain.pem |
Exécution de l'utilitaire pour configurer un domaine principal. Un domaine principal est accessible avec les www et sans :
echo "Quel nom de domaine (avec www) ?" read siteNameWww echo "Quel nom de domaine (sans les www) ?" read siteName certbot-auto certonly --webroot -w /var/www/html/ -d $siteNameWww -d $siteName --register-unsafely-without-email
L'avantage de ce script :
Quelques chemins à retenir :
fichier de configuration | /etc/letsencrypt/renewal/$siteNameWww.conf |
---|---|
dossier archive | /etc/letsencrypt/archive/$siteNameWww |
fichier cert | /etc/letsencrypt/live/$siteNameWww/cert.pem |
fichier privkey | /etc/letsencrypt/live/$siteNameWww/privkey.pem |
fichier chain | /etc/letsencrypt/live/$siteNameWww/chain.pem |
fichier fullchain | /etc/letsencrypt/live/$siteNameWww/fullchain.pem |
Il suffit d’exécuter la commande :
$ sudo certbot-auto renew
Les paramètres cerbot
sont automatiquement traités et une mise à jour des certificats sont opérés.
Il faudra redémarrer le service Web (par exemple systemctl reload apache2
).
Éditer la tâche des tâches Linux du compte root
, crontab :
sudo crontab -e
La tâche doit exécutée le programme certbot-auto
avec l'option de renouvellement, renew
. L'option post-hook
permet d'indiquer la commande à exécuter après le traitement de certbot-auto
. Dans notre cas, on demande à systemctl
de recharger la configuration Apache 2
.
0 23 1-7 */2 4 python -c 'import random; import time; time.sleep(random.random() * 3600)' && /usr/local/bin/certbot-auto renew --post-hook "systemctl reload apache2" >> /var/log/letsencrypt/renew.log
Explications : <html><pre> Tous les deux mois ( 0 23 1-7 <strong>*/2</strong> 4 ) à 23 heures ( <strong>0 23</strong> 1-7 */2 4 ), le premier jeudi ( 0 0 <strong>1-7</strong> */2 <strong>4</strong> ), lancement d'un script Python, qui retarde 1 heure au maximum (random.random() * 3600), l’exécution de la mise à jour de certbot. </pre></html>
sudo ls /etc/letsencrypt/live/ read -p "Quel est votre nom de domaine ?" siteName sudo openssl x509 -noout -dates -in /etc/letsencrypt/live/$siteName/fullchain.pem
#!/bin/bash # réinitialiser let's encrypt pour un domaine precis echo Affichage des noms possibles : sudo ls /etc/letsencrypt/live echo . echo "Quel nom de domaine ?" read siteName sudo rm -fr /etc/letsencrypt/live/$siteName/ sudo rm /etc/letsencrypt/renewal/$siteName.conf sudo rm -fr /etc/letsencrypt/archive/$siteName/