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

Cliquer sur Connect Using SSH,
Vous devriez voir une fenêtre SSH dans votre navigateur

É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:
- 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 !