• Accueil(current)
  • Catégorie
    • HTML
    • CSS
    • JavaScript
    • Réseau
    • Windows
    • Linux
    • Raspberry
    • MYSQL
    • MAC OS
    • IA
    • Synology

Installer un Certificat SSL Gratuit avec Let's Encrypt sur Apache

21 October 2021

Linux

image de l'article

Depuis quelques années maintenant, il est possible de bénéficier d'un certificat SSL gratuitement par l'intermédiaire de Let's Encrypt.
Cette autorité de certification publie des certificats reconnus par les navigateurs.
Les certificats délivrés sont valables pour une durée de 90 jours renouvelables.
Sa configuration ne pourra se faire qu'avec un domaine et un DNS actif qui garantit un minimum la véracité du contenu (une méthode existe pour produire un certificat local si nécessaire).

Il faudra donc remplacer le nom exemple.com dans les lignes ci-dessous par le nom de votre domaine.

Table des matières


  • 1. Installer un certificat Let's Encrypt

    • 1.2. On active le module SSL pour Apache

    • 1.3. Relancer le serveur Web




1. Installer un certificat Let's Encrypt :


Télécharger le client cerbot-auto de Let's Encrypt et de le sauvegarder dans le répertoire /usr/bin du serveur :
sudo wget https://dl.eff.org/certbot- auto -0 /usr/sbin/certbot-auto

sudo chmod a+x /usr/sbin/certbot-auto

Récupérer un certificat de Let's Encrypt. Après vérification de l'authenticité, le certificat est alors envoyé :
sudo certbot-auto certonly --standalone -d exemple.com -d www.exemple.com

À la suite de quoi on vous demande une adresse email qui sera utilisée pour l'envoi d'alertes concernant le certificat.
C'est ce script qui va créer et envoyer le fameux certificat SSL dans le répertoire vHost d'Apache.
Si toutes les étapes se sont bien déroulées, on peut vérifier la présence des certificats :
ls /etc/letsencrypt/live/exemple.com 
cert.pem
chain.pem
fullchain.pem
privkey.pem

Pour la suite, il est nécessaire d'adapter le fichier vHost pour qu'il prenne en compte ce nouveau certificat en ajoutant quelques lignes.
cd /etc/apache2/sites-enabled/

sudo vim exemple.com.conf

Puis on ajoute les lignes suivantes et on enregistre :
SSLEngine on
SSLCertificateFile
/etc/letsencrypt/live/exemple.com/cert.pem SSLCertificateKeyFile
/etc/letsencrypt/live/exemple.com/privkey- pem
SSLCertificateChainFile
/etc/letsencrypt/live/exemple.com/chain. pem

  • Maintenant, on active le module SSL pour Apache :

sudo a2enmod ssl

  • On relance le serveur Web :

sudo Systeemat1 roload apache2

Pour finir, on ajoute une ligne au fichier crontab pour lancer le renouvellement automatique du certificat avant son échéance :
0 2 * * * sudo /usr/sbin/certbot-auto -q renew

Ici, cette ligne va déclencher une demande de certificat tous les jours à 2h du matin, Attention, on ne recevra pas pour autant un nouveau certificat tous les jours, mais uniquement quand il arrive à expiration.
Installer un Certificat SSL Gratuit avec Let's Encrypt sur Apache