15 octobre 2024

Créer un certificat SSL avec Let’s Encrypt sous Debian

Dans un contexte Debian + Apache2

Let’s Encrypt est une autorité de certification (CA) gratuite qui permet de créer de « vrais » certificats SSL, c’est à dire non « auto-signés ».

Les certificats ayant une date limite de validité, Let’s Encrypt offrent en plus le renouvellement automatique du certificat (via le programme certbot) !

Petit bémol, Let’s Encrypt n’autorisera pas la création d’un certificat sur un domaine privé qui ne porte pas une extension publique du type .com .fr etc. Ça ne marchera donc pas si c’est pour un site web dédié à votre domaine LAN trucbidule.local. Dans ce cas là, il faudra utiliser votre propre CA ou faire un certificat auto-signé (ce qui est bien mais pas top).

-> Vous devez donc déjà avoir pensé au nom de domaine ou sous-domaine réservé au service pour lequel vous souhaitez ce certificat SSL. Dans mon cas, j’ai déjà mon sous-domaine créé de type site.domaine.com.

Pour cet article, je n’ai rien inventé, seulement suivi la doc de Let’s encrypt et utilisé mes propres mots. Cela permet d’avoir tout dans la même page.

Ce tuto n’est dédié qu’à une architecture Debian + Virtualhost Apache. Rien de plus spécifique.

Cependant, le virtualhost ciblé doit être créé AVANT de générer le certificat, car le script de config de certbot vérifie les virtualhosts existants.

Aller c’est parti.

-Si vous ne l’avez pas déjà, installer snapd :

apt install snapd

-Déloguez vous du système et reloguez-vous.

-Installer snap via snapd :

snap install snapd

-> Si cela affiche l’erreur snap « lxd » assumes unsupported features », entrer d’abord ces deux commandes :

snap install core

snap refresh core

-Puis relancer :

snap install snapd

-Pour tester le fonctionnement de snapd, installer hello-world :

snap install hello-world

-Ensuite entrer cette commande qui devrait vous afficher en sortie « Hello World! » :

hello-world

-Si ça marche vous pouvez désinstaller hello-world :

snap remove --purge hello-world

Certbot

-Si vous avez installé par ailleurs le paquet certbot via apt-get, désinstallez-le avec apt-get remove certbot

-Installer le snap certbot :

snap install --classic certbot

-Créer un lien de l’exécutable de certbot :

ln -s /snap/bin/certbot /usr/bin/certbot

Création du certificat

-Créer les fichiers de certificat :

certbot certonly --apache

-> Donnez une adresse mail vers laquelle Let’s encrypt pourra communiquer à propos des renouvellement, de sécurité etc..)

-> Tapez Y pour accepter les conditions.

-> Tapez N pour ne pas partager votre adresse e-mail.

-> Entrez le nom de sous-domaine EXACT que vous avez créé dans votre serveur DNS publique :

cloud.domaine.com

-Les fichiers sont créés et se trouvent ici :

/etc/letsencrypt/live/cloud.domaine.com/fullchain.pem
/etc/letsencrypt/live/cloud.domaine.com/privkey.pem

-> Laissez-les ici pour qu’ils puissent être renouvelés par certbot. Dans votre virtualhost Apache, pointez vers ces chemins.

 

Share

You may also like...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

dix-sept − deux =