====== É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]]