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
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: