Restart von POstfix/Dovecot nach LE-Renewal

DemoFreak

New Member
Moin,

ich habe seit geraumer Zeit ISPC unter Opensuse Tumbleweed am Laufen und jetzt nach dem Upgrade auf ISPC 3.2.9 das Problem, dass nach einem Renewal des LE-Zertifikats die Mailservices nicht neu gestartet werden.

Ich hatte in den früheren Versionen nach dem Tutorial unter https://www.howtoforge.com/tutorial/securing-ispconfig-3-with-a-free-lets-encrypt-ssl-certificate/ das ISP-Frontend und auch die Mailservices abgesichert. Das hatte ich vor dem Upgrade auf ISPC 3.2 zurückgebaut, allerdings leider vergessen, die nach Tutorial angelegte Webseite mit dem FQDN des Hosts wieder zu löschen.

Wahrscheinlich darum habe ich jetzt unter /etc/letsencrypt/live zwei Verzeichnisse mit dem FQDN des Hosts, eines davon mit angehängtem "-0001". Beide werden erneuert, einer davon (der neue mit der Endung -0001) hat einen renew-hook auf "letsencrypt_renew_hook.sh", der andere den normalen post_hook "echo '1' > /usr/local/ispconfig/server/le.restart", der ja offenbar nur zum Restart des Webservers führt.

Auf das LE-Zertifikat mit der Endung -0001 verweisen weder die Symlinks für das Frontend unter /usr/local/ispconfig/interface/ssl/ noch einer der Symlinks für die Webseiten unter /srv/www/clients/*/*/ssl.

Meine Schlussfolgerungen daraus sind jetzt:
1. Beim Upgrade auf 3.2 wurde automatisch ein LE-Zertifikat für den FQDN des Servers erstellt, da es allerdings das Verzeichnis unter /etc/letsencrypt/ aber schon gab, wurde von certbot ein Suffix angehängt. Der Upgrade-Script von ISPC verlinkt aber trotzdem auf die Zertifikate unter dem alten bereits vorhandenen Verzeichnis von LE, dadurch funktioniert hinterher auch erstmal alles scheinbar.
2. Ich kann also jetzt nicht einfach die Webseite für den FQDN unter ISPC löschen, weil dann das aktiv verwendete Zertifikat gelöscht wird.
3. Maybe: durch diese Unstimmigkeit ist der Upgrade-Script bei der Installation zum Schluss irgendwo hingefallen, der Symlink unter "/usr/local/bin/letsencrypt_renew_hook.sh" zeigt auf eine nicht mehr existente Stelle "/tmp/update_stable.sh.Ks1piAfBut/ispconfig3_install/server/scripts/letsencrypt_renew_hook.sh".

Lösungsansatz:
Ich lösche die Webseite des FQDN, dabei wird das LE-Zertifikat gelöscht und die Symlinks des Frontends zeigen ins Leere. Danach benenne ich unter /etc/letsencrypt alle Vorkommen des FQDN-0001 in FQDN um. Und ich setze den Symlink auf den Renewal-Script neu auf die richtige Stelle unter /usr/local/ispconfig.

Richtig? Oder übersehe ich etwas und das fliegt mir um die Ohren?

Grüße,

Hannes

Anmerkung am Rande:
Im Renewal-Script wird auf das Vorhandensein von "yum" geprüft, das gibt es unter Opensuse aber nicht. Man kann es parallel installieren, um den Test zufrieden zu stellen, aber vllt könnte man parallel auch auf "yast" oder "zypper" prüfen? Das Upgrade-Script checkt auf das Vorhandensein von "/etc/SuSE-release", das gibt es so ebenfalls in keinem Paket, die Datei heißt hier /etc/os-release. Nach Anlegen der Datei läuft das Upgrade-Script im Grunde einwandfrei.
EDIT: Aktuell soll man wohl wie hier beschrieben testen: https://en.opensuse.org/SDB:Find_openSUSE_version
 
Zuletzt bearbeitet:

DemoFreak

New Member
@Till Ich hole das frecherweise nochmal hoch.

Denke ich mir das richtig oder liege ich verkehrt?
Oder noch anders: für den Fall, dass das nicht korrekt ist, kann ich das Upgrade-Script dazu bringen, das LE-Zertifikat für den Serverhost nebst Mail nochmals erzeugen zu lassen?

Grüße,

Hannes
 

DemoFreak

New Member
Danke.

Ich habe das jetzt mal so gemacht und es hat auch größtenteils funktioniert.

Es bleibt leider der dritte Punkt von oben, die Symlinks unter /usr/local/bin zeigen auf eine Stelle unter /tmp, die nicht existiert.

Code:
lrwxrwxrwx  1 root    root     72 Aug 19 13:18 letsencrypt_post_hook.sh -> /tmp/update_runner.sh.6xw3Rb6t50/server/scripts/letsencrypt_post_hook.sh
lrwxrwxrwx  1 root    root     71 Aug 19 13:18 letsencrypt_pre_hook.sh -> /tmp/update_runner.sh.6xw3Rb6t50/server/scripts/letsencrypt_pre_hook.sh
lrwxrwxrwx  1 root    root     73 Aug 19 13:18 letsencrypt_renew_hook.sh -> /tmp/update_runner.sh.6xw3Rb6t50/server/scripts/letsencrypt_renew_hook.sh

Kann ich das einfach auf die Stellen unter /usr/local/ispconfig/server/scripts/ umbiegen?

/Hannes
 

DemoFreak

New Member
Und noch eine andere Sache:

Bei der Anleitung für die Versionen vor ISPC 3.2, als man den Hostname noch direkt angelegt hat, war es natürlich auch möglich, dann Aliase darauf anzulegen und damit im Zertifikat weitere Hostnames zu haben. Das hatte ich verwendet, um den Diensten gängige Namen zu verpassen (pop, imap, ftp, etc.pp.), jetzt laufen sie allerdings mit dem Zertifikat von ISPConfig und das enthält nur den eigentlichen Hostname.

Kann man dort auf irgend einem Weg noch weitere Namen hinzufügen?

/Hannes
 

DemoFreak

New Member
Vielen Dank.

Das hab ich glatt übersehen, ich hab komplett in die falsche Richtung gedacht. ;)

Das Thema mit den Links auf die LE-hook-Scripte:
Werden die im Rahmen des Upgrades irgendwie angepasst, oder kann ich die broken links einfach auf die Stellen unter /usr/local/ispconfig/server/scripts/ umbiegen?

/Hannes
 

Werbung

Top