Fiche let’s encrypt apache2 et renouvellement automatique

Dans un contexte BTS CIEL ou SIO, la mise en place d’un certificat SSL ne s’arrête pas à son installation.
Un certificat Let’s Encrypt a une durée de validité limitée (90 jours), il est donc indispensable d’assurer son renouvellement automatique pour éviter toute interruption de service.

L’objectif est de :

  • comprendre le fonctionnement du renouvellement
  • vérifier l’automatisation
  • sécuriser le rechargement d’Apache

Configuration complète

#############################################
# INSTALLATION CERTBOT
#############################################

apt update
apt install certbot python3-certbot-apache -y

#############################################
# GENERATION CERTIFICAT
#############################################

certbot --apache -d monsite.fr -d www.monsite.fr

#############################################
# VERIFICATION TIMER AUTOMATIQUE
#############################################

systemctl list-timers | grep certbot

#############################################
# TEST RENOUVELLEMENT
#############################################

certbot renew --dry-run

#############################################
# AJOUT D'UN HOOK (OPTION)
#############################################

nano /etc/letsencrypt/cli.ini
deploy-hook = systemctl reload apache2
#############################################
# VERIFICATION DU SERVICE
#############################################

systemctl status certbot.timer

#############################################
# LOGS
#############################################

journalctl -u certbot

Explication détaillée

Fonctionnement

Certbot installe automatiquement un timer systemd qui exécute régulièrement :

certbot renew

Cette commande :

  • vérifie la date d’expiration
  • renouvelle uniquement si nécessaire
  • évite toute intervention manuelle

Fréquence

Le timer est exécuté plusieurs fois par jour.
Le renouvellement est déclenché uniquement si le certificat expire bientôt (en général moins de 30 jours).


Rechargement Apache

Après renouvellement :

  • Apache doit relire les nouveaux certificats
  • le plugin Apache le fait automatiquement

Le hook permet de sécuriser ce comportement.


Test de fonctionnement

certbot renew --dry-run

Permet de simuler un renouvellement sans modifier les certificats.


Vérification

systemctl list-timers

Affiche les tâches planifiées.

journalctl -u certbot

Permet de consulter les logs.


Cas particuliers

Mode apache
Aucun arrêt du service
Renouvellement transparent

Mode standalone
Nécessite l’arrêt d’Apache
Utilisé uniquement dans certains cas

Mode webroot
Apache reste actif
Validation via fichiers web


Bonnes pratiques

  • vérifier régulièrement le timer
  • tester avec dry-run
  • surveiller les logs
  • s’assurer que les ports 80 et 443 sont ouverts
  • utiliser un hook pour garantir le reload

Points clés

  • renouvellement automatique par défaut
  • aucune coupure de service
  • Apache reste actif
  • test indispensable avec dry-run
  • logs à surveiller

Suite logique

Pour aller plus loin :

  • supervision des certificats (alertes expiration)
  • durcissement TLS Apache
  • configuration HSTS
  • reverse proxy sécurisé
Retour en haut