Renewal letsencrypt plante Apache

Discussion dans 'Administration d'un site Web' créé par passion, 12 Avril 2019.

  1. passion
    passion WRInaute accro
    Inscrit:
    6 Janvier 2006
    Messages:
    3 591
    J'aime reçus:
    101
    Bonjour,

    Ma config : Debian 9 - Apache 2.4.25

    Mon serveur Apache s'est coupé cette nuit. J'ai enfin trouvé la cause de ce prob, je pense.
    Cela provient de letsencrypt.
    En regardant mes logs (acces) du site, je vois plus rien n'a été disponible pour les internautes à 00:13:21.
    Code:
    xx.xxx.xxx.xxx - - [12/Apr/2019:00:13:21 +0200] "GET /interface/infos?info=1 HTTP/2.0" 200 0 "https://xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36 OPR/58.0"
    
    En regardant mes logs "syslog":
    Code:
    Apr 12 00:00:01 vpsxxxxxxxx CRON[1273]: (root) CMD (test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew)
    
    Le fichier "daemon.log"
    Code:
    Apr 12 00:13:25 vpsxxxxxx systemd[1]: Starting Certbot...
    Apr 12 00:13:28 vpsxxxxxx systemd[1]: Stopping The Apache HTTP Server...
    Apr 12 00:13:28 vpsxxxxxx systemd[1]: Stopped The Apache HTTP Server.
    Apr 12 00:13:36 vpsxxxxxx systemd[1]: Starting The Apache HTTP Server...
    Apr 12 00:13:36 vpsxxxxxx apachectl[1531]: httpd (pid 1398) already running
    Apr 12 00:13:36 vpsxxxxxx systemd[1]: Started The Apache HTTP Server.
    Apr 12 00:13:36 vpsxxxxxx systemd[1]: Started Certbot.
    Apr 12 00:13:36 vpsxxxxxx systemd[1]: certbot.timer: Adding 56.640158s random time.
    Apr 12 00:13:36 vpsxxxxxx systemd[1]: certbot.timer: Adding 34min 27.511392s random time.
    
    Dans le log "certbot":
    Code:
      File "/usr/lib/python2.7/dist-packages/certbot/plugins/selection.py", line 215, in set_configurator
        raise errors.PluginSelectionError(msg.format(repr(previously), repr(now)))
    PluginSelectionError: Too many flags setting configurators/installers/authenticators 'standalone' -> 'apache'
    
    J'en conclus que letsencrypt a essayé de renouveler mes domaines mais n'a pas réussi à relancer Apache. Les domaines concernés ont bien été renouvelé pour 3 mois cependant. C'est uniquement relancer le serveur Apache.
    En regardant dans "etc/letsencrypt/renewal/" pour le domaine renouvelé, j'ai ceci:
    Code:
    # renew_before_expiry = 30 days
    version = 0.10.2
    archive_dir = /etc/letsencrypt/archive/www.mondomaine.fr
    cert = /etc/letsencrypt/live/www.mondomaine.fr/cert.pem
    privkey = /etc/letsencrypt/live/www.mondomaine.fr/privkey.pem
    chain = /etc/letsencrypt/live/www.mondomaine.fr/chain.pem
    fullchain = /etc/letsencrypt/live/www.mondomaine.fr/fullchain.pem
    
    # Options used in the renewal process
    [renewalparams]
    authenticator = standalone
    post_hook = systemctl start apache2
    account = 4b2c0d4406987e7cc8687f44c77c9f48
    pre_hook = systemctl stop apache2
    installer = apache
    
    Là, c'est clair... c'est la config de base de letsencrypt. Je n'ai jamais touché à la config de quoi que ce soit.
    Si j'ajoute un nouveau domaine, letsencrypt va toujours me créer un fichier renewal avec les mêmes caractéristiques par défaut. Et j'aurai toujours le même prob !

    Ici, on propose d'ajouter un fichier "cli.ini" pour personnaliser letsencrypt:
    https://certbot.eff.org/docs/using.html#configuration-file

    Mais je ne sais pas ce que je dois mettre là-dedans ??!! Genre "authenticator" ?

    Pouvez-vous m'aider ?

    Merci
     
    #1 passion, 12 Avril 2019
    Dernière édition: 12 Avril 2019
  2. rollback
    rollback WRInaute occasionnel
    Inscrit:
    5 Novembre 2018
    Messages:
    446
    J'aime reçus:
    45
    alors en général, quand on veut paumer quelqu'un on l'envoie vers le man en anglais
    Aussi, les bouts de logs, on s'en balance, ca aide personnes a rien résoudre déjà parce qu'on a pas le temps d'aller comprendre les bugs des autres a 3 morceaux de copies d'écran.
    Évidemment les logs ca sert, mais il faudrait un accès à la machine, pouvoir bricoler,..;
    Néanmoins : a vue d'oiel, regarder ceci : https://www.memoinfo.fr/tutoriels-linux/configurer-lets-encrypt-apache/ genre c'est plus limpide, et comme on dit aux apprenants: le lire en entier
     
  3. passion
    passion WRInaute accro
    Inscrit:
    6 Janvier 2006
    Messages:
    3 591
    J'aime reçus:
    101
    Merci pour avoir pris le temps de me répondre mais bon, "...les bouts de logs, on s'en balance..." euh.... si tu avais pris la peine de lire ces bouts de code, tu aurais vu que je n'en suis plus là.
    Ton lien est un tuto standard pour installer lets'encrypt ! J'en suis plus là depuis longtemps ?!
    J'ai pris le temps de faire un post assez explicite sur les différents logs pour apporter des éléments de réponses sur des questions récurrentes : "Que dit ce log ou celui-là ?"
    Là, mon prob c'est essentiellement de la config let's encrypt, je ne vois pas en quoi ton tuto d'installation va aider ?!
    Là, je viens de lancer un coup de certbot-auto, il a fait une maj sur les dépendances.

    C'est le répertoire : "etc/letsencrypt/renewal/" qui me pose prob avec le certbot.log.

    Certbot.log
    Code:
    PluginSelectionError: Too many flags setting configurators/installers/authenticators 'standalone' -> 'apache'
    
    "etc/letsencrypt/renewal/"
    Code:
    # Options used in the renewal process
    [renewalparams]
    authenticator = standalone
    post_hook = systemctl start apache2
    account = 4b2c0d4406987e7cc8687f44c77c9f48
    pre_hook = systemctl stop apache2
    installer = apache
    
    Ici, il est question de créer un fichier de config "cli.ini" mais dois-je modifier aussi mon répertoire "etc/letsencrypt/renewal/" ou est-ce qu'au prochain renouvellement de certificats, il va prendre en compte mon "cli.ini" et faire les modifications sur "etc/letsencrypt/renewal/" ?
    https://certbot.eff.org/docs/using.html#configuration-file

    Bref... je galère là pfffff
     
  4. mickou51
    mickou51 WRInaute discret
    Inscrit:
    8 Janvier 2016
    Messages:
    66
    J'aime reçus:
    2
    ça c'est bizarre, il faut peut-être redémarrer le serveur/vps si tu l'as pas fait depuis 1 an...


    J'ai aussi un serveur sous Debian 9 avec Lets Encrypt et Nginx mais je pense qu'on a pas fait le même style d'installation car je ne connais pas le fichier le fichier .ini

    Et aussi je crois qu'il y a pas besoin de restart nginx ni httpd à chaque renouvellement.
     
    #4 mickou51, 13 Avril 2019
    Dernière édition: 13 Avril 2019
  5. rollback
    rollback WRInaute occasionnel
    Inscrit:
    5 Novembre 2018
    Messages:
    446
    J'aime reçus:
    45
    comme dis, lis le tuto en entier, il a le renouvellement. Mais fais comme tu preferes (je travaille avec centos et pas sur des vps, désolé, on va dire que c'est différent- bricole si tu préfères )
     
  6. passion
    passion WRInaute accro
    Inscrit:
    6 Janvier 2006
    Messages:
    3 591
    J'aime reçus:
    101
    oui @mickou51 je suis sur apache et ça à l'air d'être galère avec lui !
    Maintenant c'est trop tard, mais quand j'ai créé les certifs, je l'ai fait en "standalone" apache. J'aurai du le faire en webroot. Là, je ne vais pas déglinguer ce qui est en place.
    Le prob de standalone apache, c'est qu'il a besoin de stopper apache pour faire une création de certif à contrario de webroot. C'est la raison pour laquelle il utile les "pre-hook" en stoppant puis redémarrer apache.

    En essayant de simuler un renouvellement de certif ou une création : "certbot renew --dry-run" ou "certbot certonly --dry-run", la console fait correctement son taff.
    Code:
    root@vpsxxxxxxx:~# certbot renew --dry-run
    Saving debug log to /var/log/letsencrypt/letsencrypt.log
    
    -------------------------------------------------------------------------------
    Processing /etc/letsencrypt/renewal/www.xxxxxxxxxxx.com.conf
    -------------------------------------------------------------------------------
    Cert not due for renewal, but simulating renewal for dry run
    Running pre-hook command: systemctl stop apache2
    Renewing an existing certificate
    Performing the following challenges:
    http-01 challenge for www.xxxxxxxxxxx.com
    Waiting for verification...
    Cleaning up challenges
    Generating key (2048 bits): /etc/letsencrypt/keys/0028_key-certbot.pem
    Creating CSR: /etc/letsencrypt/csr/0028_csr-certbot.pem
    
    
    ** DRY RUN: simulating 'certbot renew' close to cert expiry
    **          (The test certificates below have not been saved.)
    
    Congratulations, all renewals succeeded. The following certs have been renewed:
      /etc/letsencrypt/live/www.xxxxxxxxxxx.com/fullchain.pem (success)
    ** DRY RUN: simulating 'certbot renew' close to cert expiry
    **          (The test certificates above have not been saved.)
    Running post-hook command: systemctl start apache2
    
    Je n'ai aucune erreur...
     
  7. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 782
    J'aime reçus:
    240
  8. passion
    passion WRInaute accro
    Inscrit:
    6 Janvier 2006
    Messages:
    3 591
    J'aime reçus:
    101
    B'jour !
    Bon, après mûres réflexions, si ça peut aider d'autres, lets's encrypt et apache en standalone, ça merde trop souvent.
    Donc oui effectivement, j'ai suivi vos conseils. Et merci d'ailleurs ;)
    Si comme moi, vous aviez créer des certifs en standalone apache et et que les renouvellements font planter apache, une solution rapide efficace et propre.
    1- Il faut "revoker" le ou les certifs actuelles :
    https://certbot.eff.org/docs/using.html#revoking-certificates
    Code:
    certbot revoke --cert-path /etc/letsencrypt/live/mon-domaine.fr/cert.pem
    2- Il faut nettoyer proprement l'ensemble des répertoires letsencrypt faisant appel au domaine concerné:
    Code:
    certbot delete --cert-name mon-domaine.fr
    
    3- Passer en "webroot". Avantage, pas de redémarrage apache:
    https://certbot.eff.org/docs/using.html#webroot
    Code:
    certbot certonly --webroot -w /var/www/html/mon-domaine.fr/public -d mon-domaine.fr --email xxxxxxxx@email.com
    
    Ne pas oublier de redémarrer apache car j'ai créé une nouvelle certif pour mon domaine et son mode de création.
    ça m'a demandé 3 mn pour résoudre mon prob !
    ça va peut-être aider d'autres personnes ;)
     
    spout apprécie ceci.
Chargement...
Similar Threads - Renewal letsencrypt plante Forum Date
HELP : Domaine Renewal Group Noms de domaine et référencement 14 Juillet 2010
SSL sur vos sites gratuits grâce à letsencrypt Administration d'un site Web 30 Décembre 2015
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice