Blog
14.5 Renouvellement automatique des certificats
Tous nos conteneurs tournent dans un environnement Linux. Linux dispose d’une commande très pratique pour exécuter des tâches à des moments précis via la commande « cron ». Par exemple, on peut demander à cron d’exécuter telle action tous les deux mois à telle heure.
Nous allons donc demander à « cron » de relancer le conteneur letsencrypt tous les deux mois (ainsi, nous serons prévenants vis-à-vis de la durée limite de 90 jours des certificats).
Pour ce faire, nous nous connectons au serveur VPS via le Terminal.
Nous allons dans un premier temps rechercher l’emplacement du programme docker via la commande suivante :
which docker
ce qui nous donne :

Pour exécuter la tâche de renouvellement automatique via « cron », il faut utiliser une syntaxe particulière (décrite ici [1]). Nous voulons que la tâche de renouvellement soit exécutée :
· A 4h et 0 minute du matin
· Chaque 1er du mois
· Tous les mois pairs
· Chaque année
…et que la tâche lancée soit :
/usr/bin/docker compose up -f /home/rocky/docker/reverse-proxy/docker-compose.yml up letsencrypt
… c’est à dire que docker lance le conteneur « letsencrypt » du fichier « docker-compose.yml » situé dans le répertoire « /home/rocky/docker/reverse-proxy/ ».
Une telle tâche en « langage cron » s’écrit :
0 5 1 */2 * /usr/bin/docker compose up -f /home/rocky/docker/reverse-proxy/docker-compose.yml up letsencrypt
Nous allons maintenant ajouter la ligne suivant dans la liste des tâches à faire exécuter par le programme « cron ». Pour cela, il faut lancer dans le terminal l’éditeur de « cron » via la commande :
sudo crontab -e
…qui ouvre l’éditeur de cron :

…et là, attention : crontab utilise l’éditeur originel de Linux : « vi ». Qui n’est pas sympathique du-tout… Pour ajouter une nouvelle ligne, il faut appuyer sur la touche « i », et faire un « coller » de « 0 5 1 */2 * /usr/bin/docker compose up -f /home/rocky/docker/reverse-proxy/docker-compose.yml up letsencrypt » .

…puis sauvegarder le fichier en appuyant sur la touce « escape » , et taper « :wq » (comme write and quit). Puis appuyer sur « enter ».
Ouf ! Nous sommes sortis de Crontab !
Maintenant, si nous voulons lister toutes les tâches « cron », nous pouvons lancer la commande :
sudo crontab -l
…qui nous affiche :

Nous n’avons plus rien à faire en ce qui concerne les certificats : tous les 2 mois, ils seront dorénavant renouvelés automatiquement !
Voilà, c’est la fin de la partie « Serveur Web et Certificats » ! Je vous laisse le loisir de jouer avec votre Blog et vous familiariser avec WordPress.
Nous nous retrouverons pour la prochaine partie qui consistera à installer un serveur de mail afin que nous devenions indépendants de gmail ou tout autre fournisseur de solutions !
Ah non ! J’ai oublié un dernier truc !