developeregrem / fewohbee-dockerized

Dockerization of the hotel management software
https://www.fewohbee.de
MIT License
3 stars 1 forks source link

SSL beim docker Setup hat nicht funktioniert. Manuelles SSL Zertifikat nachher funktioniert auch nicht #2

Closed exuded closed 2 years ago

exuded commented 2 years ago

Hallo,

ich habe fewohbee mit dem automatischen install script auf einem Debian 10 Server bei Hetzner installiert. Bei der Installation ist der SSL Assistent fehlgeschlagen. Wenn ich es nun nachträglich via Certbot nginx versuche, erhalte ich folgende Fehlermeldung: sudo certbot --nginx Saving debug log to /var/log/letsencrypt/letsencrypt.log The nginx plugin is not working; there may be problems with your existing configuration. The error was: NoInstallationError("Could not find a usable 'nginx' binary. Ensure nginx exists, the binary is executable, and your PATH is set correctly.")

Worauf läuft denn fewohbee wenn nicht auf nginx? Was ist der beste Weg um für den Fewohbee Server ein SSL Zertifikat zu installieren?

developeregrem commented 2 years ago

Hi, schau bitte einmal weswegen es fehlgeschlagen ist:

cd /opt/fewohbee-dockerized
docker-compose exec acme /bin/sh -c "cat /var/log/letsencrypt.log"

vielleicht kannst du damit schon etwas anfangen. Prüfe bitte auch, dass die Angeben in der Datei .env soweit passen. Insbesondere die folgenden Attribute:

# letsencrypt settings
LETSENCRYPT=true
EMAIL=<gültige adresse>
LETSENCRYPT_DOMAINS=domain.tld

Du kannst die Zertifikatserneuerung auch jederzeit manuell triggern:

docker-compose exec acme /bin/sh -c "./run.sh"

Ansonsten läuft im acme Container auch ein cronjob, der einmal am Tag prüft, ob das Zertifikat erneuert werden muss. Achte auch immer auf die Logs. Es empfiehlt sich auch temporär die folgende Zeile einmal zu löschen, damit siehtst du potentielle Fehler direkt, wenn du run.sh ausführst. https://github.com/developeregrem/fewohbee-dockerized/blob/81e16e6be320aaa0e2f4c7b1d9eb11cf91e1a854/Dockerfiles/acme/run.sh#L48

Und ja, das ganze docker-compose Setup nutzt ngnix aber nginx läuft in einem eigenen Container, deswegen kannst du das Binary nicht aus einem anderen Container (acme oder php) direkt aufrufen. Wenn du es wirklich manuell machen willst, musst den certbot mit certonly aufrufen und dem nginx das Zertifikat selbst bereitstellen. Siehe dazu auch https://github.com/developeregrem/fewohbee-dockerized/blob/81e16e6be320aaa0e2f4c7b1d9eb11cf91e1a854/Dockerfiles/acme/run.sh#L41

exuded commented 2 years ago

Ich habe das Setup nochmal von neu laufen lassen, allerdings ohne Erfolg bei Letsencrypt: cp: can't stat '/etc/letsencrypt/live/""/fullchain.pem': No such file or directory cp: can't stat '/etc/letsencrypt/live/""/privkey.pem': No such file or directory

für "" habe ich die korrekte domain eingesetzt, die mit einem A record auf die IP des Servers bei Hetzner zeigt. Warum erwartet er hier schon Zertifikate, wenn er sich doch selbst welche holen soll? Edit: Und was ist der beste Weg um die Installation zu entfernen und von neu zu beginnen?

developeregrem commented 2 years ago

Ich schließe das Ticket, da die Ursache, nach Rücksprache, ein Problem der DNS Settings war.