Il faut commencer par installer certbot sur le serveur avant de pouvoir soumettre une demande à let’s encrypt. Ensuite, je verrais la validation d’un certificat validant un seul domaine. Pour finir, je parlerai de la validation d’un certificat multi-domaine let’s encrypt.

Installation de certbot

Dans ce cas-ci, il sera installé sur le serveur Apache directement. Suivez d’abord les instructions d’installation selon votre système.

Sous Debian 9, faites directement ceci :

apt-get install certbot python-certbot-apache

Validation d’un seul domaine via let’s encrypt

Pour valider un seul domaine pour un certificat, il faut déjà avoir créé la configuration du site en HTTP. Certbot se chargera de demander le certificat à let’s encrypt et de créer une configuration de site identique en HTTPS, vous n’aurez rien à faire côté Apache. Vous aurez la possibilité de choisir de rediriger les utilisateurs depuis http vers https.

Exécutez ceci et suivez les instructions :

certbot --apache

Pour prendre en compte la modification, rechargez Apache :

service apache2 reload

Par la suite, un renouvellement de certificat pourra se faire via :

certbot renew

Un certificat let’s encrypt n’est valide que 3 mois. Il faut donc le renouveler tous les 3 mois. Heureusement un cron permet de le faire automatiquement, vérifiez que celui-ci est bien présent /etc/cron.d/certbot :

# /etc/cron.d/certbot: crontab entries for the certbot package
#
# Upstream recommends attempting renewal twice a day
#
# Eventually, this will be an opportunity to validate certificates
# haven't been revoked, etc.  Renewal will only occur if expiration
# is within 30 days.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew

Validation d’un certificat multi-domaine

Afin de valider un certificat multi-domaine, il faut spécifier ces domaines via des arguments de certbot. Bien évidemment pour le renouvellement il n’y aura rien de spécial à faire, cela suit la même procédure qu’un domaine seul.

Il faut exécuter manuellement:

certbot-auto --apache -d domaineprincipal.tld -d www.domaineprincipal.tld -d ...

Le premier domaine sera utilisé comme domaine principal, tous les autres seront utilisés comme domaines secondaires, appelé « SAN Certificates« . Cela signifie « Subject Alternative Name ».

Notre certificat multi-domaine a été installé directement dans la configuration Apache par Certbot, il suffit d’un reload de la configuration Apache.

Summary
Créer un certificat multi-domaine let's encrypt avec Apache
Article Name
Créer un certificat multi-domaine let's encrypt avec Apache
Description
Installation de Certbot avec validation d'un certificat pour un seul domaine et multidomaine SAN certificat