Certificat letsencrypt installation et renouvellement

Hello,
Suite à ma réinstallation, j’ai pu jouer un peu avec letsencrypt, et les outils de génération, installation et renouvellement de certificats sont tous simplement génial d’un point de vue administrateur système …

Tout est automatisé, on lance une ligne de commande, et l’on a son certificat, ainsi que la possibilité de les renouveller sans même avoir à y penser (plus besoin tout les x ans de renouveller ces certificats, avec le risque de les oublier et de se retrouver devant le fait accompli et de devoir mettre à jour les certificats à l’arrache …).


Sur Archlinux, ma distribution de prédilection, on install via un :

pacman -S letsencrypt

Et c’est tout, (probablement un apt-get install letsencrypt pour les debians, …).

Installation d’un certificat

Ici, rien de complexe, vous avez plusieurs « mode » d’installation :

  • apache : via un plugins, permet générer les certificats sans configuration supplémentaire, mais nécessite une lib apache compatible (sur archlinux, ça ne marche pas :s).
  • webroot : le mode le plus pratique, nécessite un Virtualhost sur le domaine sur lequel on demande le certificat, ainsi que l’accès à son dossier root.
  • standalone : utile si votre serveur web n’est pas utilisé … coupe votre serveur http et le remplace par celui du script letsencrypt le temps de générer le certificat. Autant dire que celui-ci n’est pas vraiment utile. (A part pour générer des certificats sur des machines qui n’ont pas de serveurs web).

Une fois que vous avez choisi votre mode d’installation, la commande est semble :

letsencrypt certonly --webroot -w /path/webroot -d mondomaine.com

Renouvellement des certificats

Si vous voullez générer le renouvellement automatique lors de la création du certificat, vous pouvez utiliser plutôt :

letsencrypt certonly --webroot -w /path/webroot -d mondomaine.com --email=mon@mail.com --agree-tos --renew-by-default

Qui génèrera la conf pour récupérer automatiquement vos certificats via la commande (à mettre en cron) :

letsencrypt renew

La commande est « intelligente » et ne renouvelle les que certificats étant à renouveller, donc on peut executer la tâche cron de renouvellement tout les jours, et le certificat sera renouveller au « bon » moment.

les configurations sont disponible dans le dossier :

/etc/letsencrypt/

le dossier « live » contient vos certificats actuel.
le dossier « renewal » contient les configurations que vous pouvez renouveller.

Renouvellement Manuel

Si vous avez lancé la première commande, sans fournir le –renew-by-default, il vous faudra générer la configuration pour renouveller votre certificat, et surtout enregistrer votre mail et accepter les « TOS ».

Vous pouvez tester votre renouvellement sans l’executer avec la commande suivante :

letsencrypt renew --dry-run --agree-tos --email=mon@mail.com

En cas de problème sur la commande, les messages retournés sont en général d’une grande aide et vous permettront de configurer votre renouvellement sans problème.

Les certificats

Il vous suffira ensuite d’utiliser vos certificats comme n’importe quel certificat.

/etc/letsencrypt/live/votredomaine/(cert|privkey|chain|fullchain).pem

Pour plus d’information, la doc :
Documentation : https://letsencrypt.readthedocs.org/en/latest/intro.html