14/03/2021Cet article est une mise à jour de l'article (Créer et renouveler ses certificats Let's Encrypt automatiquement). En effet, à partir de décembre 2020, le logiciel certbot renvoie le message suivant : "Your system is not supported by certbot-auto anymore. certbot-auto and its Certbot installation will no longer receive updates. You will not receive any bug fixes including those fixing server compatibility or security problems.".
Pour corriger cela, il faut se rendre sur le site Certbot.eff.org, comme indiqué dans le message et suivre les instructions indiquées. Sur Ubuntu, voici la procédure :
- Archiver les anciennes configurations :
cd /etc/letsencrypt/renewal/
mkdir ancien
mv *.conf ancien
- Installer Snapd (il peut-être déjà présent sur le système) :
apt-get install snapd
sudo snap install core; sudo snap refresh core
- Installer certbot avec snapd :
sudo snap install --classic certbot
- Paramétrer certbot pour Apache :
- Choisir le site et valider
- Renouveler l'opération pour les autres domaines
Renouveler automatiquement les certificats Let's Encrypt
Afin de ne pas renouveler manuellement chaque certificat tous les 3 mois, voici une procédure permettant de le faire, avec l'envoi d'un email permettant de s'assurer du résultat. Contrairement à la version précédente de l'article, un seul appel suffit à renouveler l'ensemble des certificats.
- Créez un fichier dans /usr/local :
nano /usr/local/renouvellement_certificats.sh
(si vous ne disposez pas du logiciel nano, faites un apt-get nano)
- Collez les commandes suivantes dans le fichier ainsi créé en remplaçant "monsite.com" par le nom de votre site et "email@monsite.com" par l'adresse de réception des messages. Ces commandes lancent un renouvellement en enregistrant toutes les réponses dans un fichier log. Une fois terminé, ce fichier log est envoyé par email à l'administrateur du site.
rm -f /var/log/renouvellement_certif.log
sudo certbot renew --force-renewal >> /var/log/renouvellement_certif.log
mail -s "[LetsEncrypt] Renouvellement certificats" contact@monsite.com < /var/log/renouvellement_certif.log
- Enregistrez le fichier puis quittez Nano.
- Accordez les droits d'exécution au fichier :
chmod +x /usr/local/renouvellement_certificats.sh
- Lancez le fichier en local afin de tester son bon fonctionnement :
/usr/local/renouvellement_certificats.sh
- Lancez Crontab :
- Collez la commande suivante pour lancer l'exécution tous les 1er du mois à 4h du matin :
# renouvellement https (1er du mois à 04h00 du matin)
00 04 1 * * bash /usr/local/renouvellement_certificats.sh
- Redémarrez Crontab :
Pour simuler le renouvellement, la commande certbot peut être suffixée par le paramètre --dry-run.
La nouvelle version n'accepte plus de renouveler un certificat chaque mois. Le message "Cert not yet due for renewal" peut ainsi être renvoyé en cas d'appel trop tôt.
En cas d'oubli de renouvellement, Let's Encrypt envoie une alerte 20 jours avant la période de fin.
Dernière modification le 06/11/2021 - Quillevere.net