====== Certificat Let's Encrypt avec CERTBOT ======
{{ :wiki:web_server:certbot.png?400 |}}
Certbot est un client automatisé pour le protocole ACME (Automatic Certificate Management Environment) développé par l'Electronic Frontier Foundation (EFF). Son objectif principal est de permettre aux administrateurs de sites web d'obtenir, d'installer et de renouveler facilement des certificats SSL/TLS gratuits de Let's Encrypt.
===== Installation de CERTBOT =====
Installation pour une machine Debian avec SNAPD, se référer à la documentation officiel.
[[https://certbot.eff.org/instructions|Doc Officiel]]
Que ce soi la demande de certificat ou son installation **CERTBOT** a besoin que le site soit déjà accessible en **HTTP (port 80)** avec son **FQDN (nom de domaine du site)**. Donc ne pas oublier de bien renseigner le serveur dans une zone DNS et qu'il soit accessible de l'extérieur.
Sans ces conditions, CERTBOT ne retournera que des erreurs.
Installation de **snapd** pour installer le snap **CERTBOT**
sudo apt update
sudo apt install snapd
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
===== Uniquement obtenir le certificat =====
Pour **Apache2**
sudo certbot certonly --apache
Pour **NGINX**
sudo certbot certonly --nginx
===== Obtenir et installé le certificat pour un site =====
Pour **Apache2**
sudo certbot --apache
Pour **NGINX**
sudo certbot --nginx
Taper cette commande vous lance l'assistant **CERTBOT**.
Il vous demande le nom de domaine du site concerné pour le certificat.
{{ :wiki:web_server:certbot1.png?600 |}}
**CERTBOT** va tenter d'atteindre le site sur le **port 80**.
Si tout est **OK** il pourra faire la génération auprès de **Let's Encrypt du certificat TLS**.
**CERTBOT** Se charge de créer un nouveau **virtual host en 443** avec le nouveau certificat calqué sur le **virtual host en port 80.**
{{ :wiki:web_server:certbot2.png?700 |}}
Pour appliquer la nouvelle configuration, **relancer le service WEB** (Apache2 ou NGINX) puis vérifier si le site en **HTTPS** est accepté par les navigateurs (Firefox, Chrome...) ou bien voire **les détails du certificat.**
{{ :wiki:web_server:certbot3.png?600 |}}
{{ :wiki:web_server:certbot4.png?600 |}}