Màj certificats Let's Encrypt / désinstallation foireuse / nginx dans les choux

Salut,

J’avais un serveur qui tournait tout bien, avec un certificat généré par Let’s Encrypt mais qui arrivait en fin de validité.

La mise à jour auto du certificat ne fonctionnant pas (le coup du “Requested domain in not a FQDN”), j’ai tenté de faire comme la fois précédent : désinstaller puis réinstaller Let’s Encrypt.

J’ai désinstallé via l’interface d’admin, mais mon browser a merdé durant la manip, je n’ai donc pas vu le log de la désinstallation (qui avait foiré, je l’ai vu plus tard).

J’ai donc décidé de procéder à la ré-installation de Let’s Encrypt via ssh :

 # yunohost app install  https://github.com/alexAubin/letsencrypt_ynh
Choose a main domain: monDomaine.fr
Choose an admin user: monAdmin
Install for all domains ? [Yes | No] (default: Yes): 
Warning: Cloning into '/opt/yunohost/letsencrypt'...
Warning: No installers seem to be present and working on your system; fix that or try running certbot with the "certonly" command
Warning: Job for nginx.service failed. See 'systemctl status nginx.service' and 'journalctl -xn' for details.
Warning: mkdir: cannot create directory ‘/root/.letsencrypt-backupDuringUninstall’: File exists
Warning: rm: cannot remove ‘/etc/cron.weekly/certificateRenewer’: No such file or directory
Warning: mv: cannot move ‘/etc/letsencrypt’ to ‘/root/.letsencrypt-backupDuringUninstall/etc_letsencrypt/letsencrypt’: Directory not empty
Warning: Job for nginx.service failed. See 'systemctl status nginx.service' and 'journalctl -xn' for details.
Error: Installation failed

Si je regarde ce qu’il en est de nginx :

 # systemctl status nginx.service 
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
   Active: failed (Result: exit-code) since Sun 2016-09-04 20:56:15 CEST; 25min ago
  Process: 20194 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=2)
  Process: 19945 ExecReload=/usr/sbin/nginx -g daemon on; master_process on; -s reload (code=exited, status=0/SUCCESS)
  Process: 8347 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 20530 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)
 Main PID: 8349 (code=exited, status=0/SUCCESS)

Sep 04 20:56:15 monDomaine nginx[20530]: nginx: [emerg] BIO_new_file("/etc/yunohost/certs/monDomaine.fr/crt.pem") failed (SSL: e...h file)
Sep 04 20:56:15 monDomaine nginx[20530]: nginx: configuration file /etc/nginx/nginx.conf test failed
Sep 04 20:56:15 monDomaine systemd[1]: nginx.service: control process exited, code=exited status=1
Sep 04 20:56:15 monDomaine systemd[1]: Failed to start A high performance web server and a reverse proxy server.
Sep 04 20:56:15 monDomaine systemd[1]: Unit nginx.service entered failed state.

Actuellement, nginx est dans les choux car il ne trouve pas mon certificat (/etc/yunohost/certs/monDomaine.fr/crt.pem). En effet il reste dans ce répertoire le lien dynamique créé par Let-s Encrypt (crt.pem -> /etc/letsencrypt/live/monDomain.fr/fullchain.pem) pointant vers un fichier qui n’existe plus.

Que faire pour désinstaller proprement Let’s Encrypt (avant de le réinstaller) ?
Merci !

1 Like

Tu es sûr que tu ne veux pas garder ton post, et indiquer le problème que tu as rencontré et la solution que tu y as apporté?
Ça peux éventuellement aider d’autres utilisateurs dans la même situation que toi.

2 Likes

Ok Maniack_Crudelis, j’ai re-publié mon premier post.

Comment m’en suis-je sorti ? J’ai :

  • effacé à la main les liens (crt.pem et key-pem) présents dans /etc/yunohost/certs/monDomaine.fr/
  • replacé dans ce même répertoire mes anciens certificats (pré-Let’s Encrypt). Dans le but de pouvoir ré-acceder à l’interface admin du serveur)
  • relancé nginx (yunohost service start nginx)
  • renommé le répertoire créé par Let’s Encrypt lors de sa désinstallation (/root/.letsencrypt-backupDuringUninstall/ )
  • ré-installé Let’s Encrypt via l’interface d’admin

Je suis tranquille jusqu’au 3 décembre :smile:

2 Likes

Cool, merci aoz.
Ça peut dépanner quelqu’un qui aurait le même problème que toi :wink:

1 Like

Merci à vous deux.
J’ai voulu faire la même chose qu’aoz j’avais installé let’s encrypt via le Tutos en manuel et j’ai voulu installer le paquet pour plus de facilité ( car je n’avais pas une install auto pour mes sousdomaine )
Ca m’avait tout planter. Normal en même temps.
J’ai suivi les instructions d’aoz.
Maintenant tout fonctionne et mes sous domaine ont leurs certif Let’s encrypt.
J’ai résolu mon problème grâce à vous !! Et je dis qu’un coeur voir deux :heart_eyes: c’est bien mieux qu’un pouce !!! Thanks !!

Tant mieux si ça sert :blush:

bonjour,
j’ai moi même un souci pour (ré)installer un certificat let’s encrypt… sauf que chez moi, nginx n’est pas planté.
Du coup, ta solution m’intéresse.
Avant de faire une bêtise je voudrais être sur de mon coup.

Quand je pointe vers: "/etc/yunohost/certs/NDD/"
Et que je fais: "ls -l"
voici ce que j’obtiens:
lrwxrwxrwx 1 root root 34 mai 26 06:01 ca.pem -> /etc/ssl/certs/ca-yunohost_crt.pem
-rw-r----- 1 root metronome 5734 mai 26 06:01 crt.pem
-rw-r----- 1 root metronome 1704 mai 26 06:01 key.pem
-rw------- 1 root root 8898 mai 26 06:01 openssl.cnf

Il faudrait donc que je supprime, dans mon cas, le lien symbolique de “ca pem”?
Puis relancer l’install de let’s encrypt via l’interface d’admin?

Merci de votre aide.

Bonjour,
n’ayant toujours pas de réponse à mon soucis, je me permet de relancer le post.

Cordialement,