[LINUX]Let’s Encrypt: Free SSL certificate

mercredi 31 mars 2021

Nous allons voir ici comment installer certbot qui permet de générer automatiquement un certificat SSL pour notre site web sous apache.

Voici les étapes à suivre sous Debian Server:

On installe certbot de letsencrypt pour apache:
sudo apt install certbot python-certbot-apache
On générère les certificats uniquement pour apache. Ils seront disponible dans le dossier /etc/letsencrypt/live/
sudo certbot certonly --apache
On fait pointer les certificats SSL des sites sous apache vers les certificats générer par letsencrypt:
nano  /etc/apache2/sites-enabled/00x-example-com-ssl.conf
SSLCertificateFile /etc/letsencrypt/live/<website>/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/<website>/privkey.pem
On peut utiliser cette même clé/certificat pour tous les sites de la machine! Pour celà on doit juste exécuter la commande suivante pour rajouter les noms de domaines dans le certificat:
sudo certbot certonly --apache --expand -d example1.com -d example2.com -d www.example1.com -d www.example2.com
Cela fonctionne en déposant un fichier de vérification de domaine dans le répertoire racine d’Apache pour ce domaine, puis letsencrypt fait une requête vers lui de l’extérieur pour vérifier le nom de domaine. Dès qu’ils ont vérifié que nous possédons le domaine, il supprime les fichiers de vérification et émet le certificat.

Ensuite, on teste la configuration apache

sudo apachectl configtest
On redémarre apache
sudo service apache2 reload
Pour vérifier si le renouvellement de certificat fonctionne:
sudo certbot renew --dry-run
Création d’un cron qui se charge de renouveler le certificat tous les lundi à 12h
0 12 * * 1 certbot renew

Tags: Apache , Certbot , Certificat , debian , Linux , SSL