====== Émettre un certificat numérique gratuit et signé par une Autorité de Certification avec Let's Encrypt ====== * Objet du tuto : Émettre un certificat numérique gratuit et signé par une Autorité de Certification (AC) avec Let's encrypt * Niveau requis : {{tag>débutant }} * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) * Suivi : {{tag>à-tester à-completer}} * Création par [[user>Gnugnu]] 15/03/2016 * Tester par [[user>bendia]] le oulaploum 07/2016 avec le paquet des dépôts sous Jessie * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=198814 | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) ===== Introduction ===== Le coût d'achat des certificats numériques et la complexité de l’installation peuvent en freinez certain. Heureusement Une initiative à l'origine de Mozilla, l'EEF et d'autre partenaires à été lancé : le projet Let's Encrypt. ===== Installation ===== tip Ce programme dispose désormais d'un paquet dans les backports de Jessie. Cette méthode est donc à préférer à l'installation depuis les sources, qui est à réserver à Debian 7 (Wheezy) ==== Pour Debian 8 Jessie ==== Vérifier que votre fichier ''sources.list'' [[doc:systeme:apt:sources.list#les-retroportages-depot-backports|dispose du dépôt backports]], et ajouté ce dépôt si besoin((Toujours réaliser un //update// après l'ajout d'un dépôt)). Installer le paquet apt-get install -t jessie-backports certbot Le paquet existe sous 2 nom ''certbot'' et ''letencrypt''. Les commandes sont les même ;-) ==== Pour Debian 7 Wheezy ==== Sur votre serveur, récupérer le package letsencrypt sur GitHub apt-get install git git clone https://github.com/letsencrypt/letsencrypt ===== Utilisation ===== ==== Pour Debian 7 Wheezy ==== cd letsencrypt Première exécution : Installation des dépendances ./letsencrypt-auto ---- Ici j'ai choisi comme exemple d’obtenir un certificat __letsencrypt__ pour mon site : **monsiteweb.me** ./letsencrypt certonly --webroot --webroot-path /var/www/monsiteweb/ --domains monsiteweb.me --agree-tos -text --email Florian@monmail.me ==== Pour Debian 8 Jessie et installation à partir du paquet des Backports ==== ''letsencrypt'' et ''certbot'' sont deux commandes pour un seul programme. Les deux syntaxes peuvent donc être utilisées letsencrypt certonly --webroot --webroot-path /var/www/monsiteweb/ --domains monsiteweb.me --agree-tos -text --email Florian@monmail.me ou certbot certonly --webroot --webroot-path /var/www/monsiteweb/ --domains monsiteweb.me --agree-tos -text --email Florian@monmail.me ==== Explication de la commande : ==== * ''--webroot :'' La commande réalise votre authentification en plaçant un fichier fourni par l'AC dans l'arborescence de votre serveur web. * ''--webroot-path :'' Dans le cas d'une authentification webroot, donner le chemin de l'arborescence du site web. * ''--domains :'' Fournir la liste des noms DNS des sites web. * ''--agree-tos :'' Vous permet de valider sans les lires les termes d'utilisation de l'AC Let's Encrypt. * ''-text :'' Usage de la commandes en mode texte et non graphique. * ''--email:'' Votre adresse email qui pourra servir notamment en cas de perte de vole de votre compte (etc/letencrypt/accounts). ==== Renouvellement ==== Le paquet pour Jessie met en place une tâche cron dans ''/etc/cron.d/certbot'' qui lance automatiquement la commande de renouvellement 2 fois par jour à des heures aléatoires Les certificats sont valides 90 jours, et un mécanisme permet un renouvellement en quelques commandes. Vous pouvez tester l'obtention d'un certificat avec certbot renew --dry-run Si tout se passe bien le renouvellement se fait avec certbot renew --quiet Si vous automtisez ce renouvellement à l'aide d'une tâche ''cron'' ou d'un service ''systemd'', il est recommandé d'effectuer cette vérification 2 fois par jour. Veillez à mettre des minutes aléatoires dans la définition de votre tâche afin de lisser la charge sur les serveurs du projet.. ==== Pour aller plus loin ==== Le programme dispose de bien d'autres fonctions et options qui sont décrit dans le manuel, et sur le site du projet :-) ==== Liens utiles ==== * [[https://certbot.eff.org/#debianjessie-apache|Le tuto officielle de certbot]]