Lightsail + WordPress et Let’s Encrypt

Introduction

Ce court tutoriel montre comment renouveler son certificat SSL Généré par Let’s Encrypt

Pré-requis

  • Une application wordpress hébergé sur AWS avec la solution Lightsail (https://aws.amazon.com/lightsail/)
  • Un nom de domaine configuré et fonctionnel qui pointe sur le site wordpress
  • Un accès à la console de Lightsail

Étape 1 – Accéder à la console

Aller ici : https://lightsail.aws.amazon.com/ls/webapp/home/instances

Connect using SSH from your browser

Cliquer sur Connect Using SSH,

Vous devriez voir une fenêtre SSH dans votre navigateur

Connexion SSH dans le navigateur avec lightsail

Étape 2 – Installer les outils Let’s Encrypt

Source: https://docs.bitnami.com/aws/how-to/generate-install-lets-encrypt-ssl/#alternative-approach

La solution proposé par défaut ne fonctionnait pas avec mon environnement.

Alors voici les étapes qui m’ont permis d’obtenir un certificat SSL,

n’oubliez pas de remplacer le lego_vX.Y.Z pour la version du fichier téléchargé.

cd /tmp
curl -Ls https://api.github.com/repos/xenolf/lego/releases/latest | grep browser_download_url | grep linux_amd64 | cut -d '"' -f 4 | wget -i -
tar xf lego_vX.Y.Z_linux_amd64.tar.gz
sudo mkdir -p /opt/bitnami/letsencrypt
sudo mv lego /opt/bitnami/letsencrypt/lego

Ensuite vous devez arrêter le service web de votre machine (Oui, vous allez rendre indisponible votre site web pendant une courte période)

sudo /opt/bitnami/ctlscript.sh stop

Maintenant, on peut demander un certificat,

sudo /opt/bitnami/letsencrypt/lego --tls --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains="www.DOMAIN" --path="/opt/bitnami/letsencrypt" run

Remplacer les informations suivantes:

  • email
  • domains (les deux(2))

Accepter les termes et conditions pour continuer.

J’utilises la version avec Apache, alors j’ai fait:

Remplacer le DOMAIN.key et DOMAIN.crt par votre nom de domaine.

sudo mv /opt/bitnami/apache2/conf/server.crt /opt/bitnami/apache2/conf/server.crt.old
sudo mv /opt/bitnami/apache2/conf/server.key /opt/bitnami/apache2/conf/server.key.old
sudo mv /opt/bitnami/apache2/conf/server.csr /opt/bitnami/apache2/conf/server.csr.old
sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.key /opt/bitnami/apache2/conf/server.key
sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.crt /opt/bitnami/apache2/conf/server.crt
sudo chown root:root /opt/bitnami/apache2/conf/server*
sudo chmod 600 /opt/bitnami/apache2/conf/server*

vous pouvez à présent redémarrer les services,

sudo /opt/bitnami/ctlscript.sh start

Conclusion

Vous avez maintenant un certificat SSL valide pour 3 mois,

Comment créer une cron pour automatiser le renew

sudo nano /opt/bitnami/letsencrypt/scripts/renew-certificate.sh

Ajouter les lignes suivants dans le script, et n’oubliez pas de changer les informations pour les vôtres.

#!/bin/bash

sudo /opt/bitnami/ctlscript.sh stop apache
sudo /opt/bitnami/letsencrypt/lego --tls --email="EMAIL-ADDRESS" --domains="DOMAIN" --path="/opt/bitnami/letsencrypt" renew --days 90
sudo /opt/bitnami/ctlscript.sh start apache

Maintenant, il faut que le script soit exécutable,

chmod +x /opt/bitnami/letsencrypt/scripts/renew-certificate.sh

Et pour terminer, appliquer le script,

sudo crontab -e

Et ajouter la ligne suivante :

0 0 1 * * /opt/bitnami/letsencrypt/scripts/renew-certificate.sh 2> /dev/null

À tout les premier du mois, votre certificat va être renouveler automatiquement.

Voila !

Laisser un commentaire