Ceci est une ancienne révision du document !
Let's Encrypt
Installation de l'agent certbot
apt install certbot
Pré-configuration d'Apache
- Créer le dossier qui servira aux challenge ACME :
mkdir -p /var/www/well-known/public_html/.well-known/acme-challenge/
- Mettre en place un fichier index.html témoins :
echo "No site here" > /var/www/well-known/public_html/.well-known/acme-challenge/index.html
- Mettre en place un alias dans la configuration Apache pour ce dossier :
echo "Alias /.well-known/acme-challenge/ /var/www/well-known/public_html/.well-known/acme-challenge/" > /etc/apache2/conf-available/well-known.conf e2enconf well-known
- Dans le VirtualHost HTTP du site sur lequel, si une redirection HTTP vers HTTPS est place, il faut l'adapter pour laisser passer les requêtes des challenges ACME, par exemple :
RewriteEngine on RewriteCond %{REQUEST_URI} !(^/\.well-known/.*$) RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [R=301]
Si ce n'est pas fait, penser à activer le module rewrite :
a2enmod rewrite
Test avant d'aller plus loin
Appelez l'URL du genre http://[fqdn]/.well-known/acme-challenge/index.html : Ça devrait retourner No site here
.
Génération initial du certificat
Générez le certificat à l'aide de la commande suivante :
certbot certonly --non-interactive --agree-tos --webroot --webroot-path /var/www/well-known/public_html --email dns@example.com -d ${FQDN} -d ${AUTRE_FQDN} -d ${AUTRE_FQDN_SI_BESOIN} --renew-hook "/usr/sbin/service apache2 restart"
Le nom du certificat est normalement le premier FQDN listé, mais au besoin il peut être spécifié explicitement à l'aide du paramètre
--cert-name
.