Files
varlog/_cache/articles/1bb05f2d-90e9-46bc-842d-c898dea0499b.json
T
2026-05-15 10:37:48 +02:00

1 line
5.1 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"uuid":"1bb05f2d-90e9-46bc-842d-c898dea0499b","slug":"ssl-let-s-encrypt-certbot-auto","title":"[OBSOLÈTE] certbot auto pour Let's Encrypt","author":"cedric@abonnel.fr","published":true,"published_at":"2023-02-10 22:48:33","created_at":"2023-02-10 22:48:33","updated_at":"2023-02-10 22:48:33","revisions":[],"cover":"","files_meta":[],"external_links":[],"seo_title":"","seo_description":"","og_image":"","category":"Informatique","content":"# [OBSOLÈTE] certbot auto pour Let's Encrypt\n\n![cerbot pour let's encrypt](20200507-002818.png)\n\nDepuis 2020, l'installation s'effectue depuis **certbot** avec **snap**\n\nSuivez le guide dans l'article \n\n**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 dexécuter *Certbot* de manière optimale.\n\n## - Télécharger CERTBOT\nEn terminal, jexécute `wget`\n\n```\nwget https:*dl.eff.org/certbot-auto\n```\n\n## - Déployer CERTBOT\n```\nsudo mv certbot-auto /usr/local/bin/certbot-auto\nsudo chown root /usr/local/bin/certbot-auto\nsudo chmod 0755 /usr/local/bin/certbot-auto\n/usr/local/bin/certbot-auto --install-only\n```\n\n## - Application CERTBOT pour un domaine\nExécution de l'utilitaire pour configurer un site avec les options suivantes :\n\n```\nread -p \"Quel est votre nom de domaine ? \" siteName\nread -p \"Dossier Web du site ? \" dirWeb\nsudo certbot-auto certonly --webroot -w $dirWeb -d $siteName --register-unsafely-without-email\n```\n\nL'avantage de ce script :\n- pas d'arrêt d'Apache 2\n- pas de mail à saisir\n- autonomie sur la configuration Apache 2\n\nQuelques **chemins** à retenir :\n\n| fichier de configuration | /etc/letsencrypt/renewal/$siteName.conf | |\n| ---------------------------------------------------------------------- |\n| dossier archive | /etc/letsencrypt/archive/$siteName | |\n| fichier cert | /etc/letsencrypt/live/$siteName/cert.pem | |\n| fichier privkey | /etc/letsencrypt/live/$siteName/privkey.pem | |\n| fichier chain | /etc/letsencrypt/live/$siteName/chain.pem | |\n| fichier fullchain | /etc/letsencrypt/live/$siteName/fullchain.pem | |\n\n## - Application CERTBOT pour un domaine principal\nExécution de l'utilitaire pour configurer un domaine principal. Un domaine principal est accessible avec les *www* et sans :\n\n```\necho \"Quel nom de domaine (avec www) ?\"\nread siteNameWww\necho \"Quel nom de domaine (sans les www) ?\"\nread siteName\ncertbot-auto certonly --webroot -w /var/www/html/ -d $siteNameWww -d $siteName --register-unsafely-without-email\n```\n\nL'avantage de ce script :\n- pas d'arrêt d'Apache 2\n- pas de mail à saisir\n- autonomie sur la configuration Apache 2\n\nQuelques **chemins** à retenir :\n\n| fichier de configuration | /etc/letsencrypt/renewal/$siteNameWww.conf | |\n| ------------------------------------------------------------------------- |\n| dossier archive | /etc/letsencrypt/archive/$siteNameWww | |\n| fichier cert | /etc/letsencrypt/live/$siteNameWww/cert.pem | |\n| fichier privkey | /etc/letsencrypt/live/$siteNameWww/privkey.pem | |\n| fichier chain | /etc/letsencrypt/live/$siteNameWww/chain.pem | |\n| fichier fullchain | /etc/letsencrypt/live/$siteNameWww/fullchain.pem | |\n\n## - Renouveler les certificats\nIl suffit dexécuter la commande :\n```\n$ sudo certbot-auto renew\n```\n\nLes paramètres `cerbot` sont automatiquement traités et une mise à jour des certificats sont opérés.\n\nIl faudra redémarrer le service Web (par exemple `systemctl reload apache2`).\n## - Renouveler les certificats automatiquement\nÉditer la tâche des tâches Linux du compte `root`, *crontab// :\n```\nsudo crontab -e\n```\n\nLa 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`.\n\n```\n0 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\n```\nExplications :\n<html><pre>\nTous les deux mois ( 0 23 1-7 <strong>*/2</strong> 4 )\nà 23 heures ( <strong>0 23</strong> 1-7 */2 4 ),\nle premier jeudi ( 0 0 <strong>1-7</strong> */2 <strong>4</strong> ),\nlancement d'un script Python, qui retarde 1 heure au maximum (random.random() * 3600),\nlexécution de la mise à jour de certbot.\n</pre></html>\n## - Afficher les dates du certificats\n```\nsudo ls /etc/letsencrypt/live/\nread -p \"Quel est votre nom de domaine ?\" siteName\nsudo openssl x509 -noout -dates -in /etc/letsencrypt/live/$siteName/fullchain.pem\n```\n\n## - Réinitialiser la configuration Let's Encrypt\n```BASH\n#!/bin/bash\n# réinitialiser let's encrypt pour un domaine precis\necho Affichage des noms possibles :\nsudo ls /etc/letsencrypt/live\necho .\necho \"Quel nom de domaine ?\"\nread siteName\nsudo rm -fr /etc/letsencrypt/live/$siteName/\nsudo rm /etc/letsencrypt/renewal/$siteName.conf \nsudo rm -fr /etc/letsencrypt/archive/$siteName/\n```","featured":false,"tags":[]}