ZitatOriginal von Eisenherz
PATH=$PATH:$HOME/bin
export PATH
Die binaries wurden nicht gefunden. Da sie in /sbin liegen, fehlt der Pfad in der PATH Variable.
Vielleicht auch Mal folgende Lösung prüfen:
ZitatOriginal von Eisenherz
PATH=$PATH:$HOME/bin
export PATH
Die binaries wurden nicht gefunden. Da sie in /sbin liegen, fehlt der Pfad in der PATH Variable.
Vielleicht auch Mal folgende Lösung prüfen:
Wie sieht denn die .bashrc jetzt aus?
ZitatOriginal von Twilo
wäre es möglich, dass das Script /opt/pdadmin/bin/letsencrypt nach dem es fertig ist, eine Statusmeldung ausgibt?
Wünschenswert wäre eine Auflistung der Domains, bei denen es zum Fehler kam
evtl. noch eine Auflistung der Domains, die erfolgreich eingerichtet wurden
Wenn ich das richtig verstehe, startet letsencrypt lediglich den certbot mit den Daten aus der vadmin DB und richtet anschliesend die SSL Zertifikate in pd-admin ein.
Ich halte es für sehr aufwändig die binary so anzupassen, dass die certbot Ausgabe wie gewünscht "ge-parsed" wird. Zumal alle Infos/Fehler im Log und am Ende der Ausführung zu finden sind.
Man kann den Cronjob zur Erneuerung aber mit
ausführen. -q reduziert die Ausgabe und es werden nur Fehler ausgegeben. Wenn man dies auch für die letsencrypt binary haben möchte, müsste man wohl mit einem wrapper Skript für den certbot arbeiten.
ZitatOriginal von Twilo
Das Skript kommt mit Domains, bei denen eine Weiterleitung eingerichtet ist, nicht zurecht.
www.example.com -> www.example.org
http://www.example.com/.well-known/acme-challenge/[…] wird http://www.example.org.well-known/acme-challenge/[…]
Wie kann der Fehler verhindert werden?
Der Fehler mit der Weiterleitung kommt vermutlich daher, dass in pd-admin bei der Weiterleitung am Ende der Slash / fehlt. Es muss in pd-admin bei der Weiterleitung
stehen. Und nicht
ZitatOriginal von Stefan3411
Die beiden Zeilen mit dem Path gebe ich nacheinander ein oder?
Ganau. Kann einfach per copy-paste eingefügt werden.
ZitatOriginal von webby
Meine Vermutung war/ist das letsencrypt hier die abzufragende Datei nicht anlegt (kann?) und es deshalb zur Meldung kommt... falls "timout" hier tatsächlich "timout" heisst, weil der Server an sich nicht antwortet, muss das Problem wohl an anderer stelle sein...
Wird eine Datei nicht gefunden, meldet der certbot dies auch mit einem 404 Fehler. Bei aktivem Verzeichnisschutz gäbe es zum Beispiel einen 401 Fehler. Da liefert der Dienst schon ziemlich präzises Feedback.
Wenn das Problem nur bei dieser Domain Auftritt und nur dort reproduzierbar ist, dürfte es jedenfalls kein allgemeines Problem sein. Vielleicht findet sich ja noch die Lösung u dem Problem.
ZitatOriginal von Stefan3411
Danke Sumersgi, kannst du einem Laien auch erklären wie man das macht?
Wie Eisenherz bereits erklärt hatte, kann man die PATH Variable in der .bash_profile anpassen.
Ich würde jedoch die .bashrc nehmen. Die .bash_profile wird bei Verwendung einer Login Shell geladen. Also wenn man sich z.B. per SSH einloggt.
Die .bashrc dagegen wird bei "interactive non-login shell" geladen. Wird z.B. ein Prozess per Cronjob gestartet, haben wir so eine "interactive non-login shell". Hier greifen Änderungen in der .bash_profile nicht, da nur die .bashrc geladen wird. ist also bei der Ausführung von certbot und letsencrypt via Cron nicht ganz unwichtig
In der Regel lädt die .bash_profile auch die .bashrc, daher wirken sich Änderungen auch dort aus.
Anhand des Links von Twilo scheint es aber doch ein Problem mit fehlenden Paketen zu sein
ZitatOriginal von webby
Ich bin eben zumindest schnell die vadmin DB durchgegangen und konnte keinen Punkt um da so zu beeinflussen... wäre natürlich nett wenn man definieren könnte, was im Dropdown für Versionen angezeigt werden kann...
vielleicht ist ja hier etwas dmit den pdadmin config files möglich?...
Die DB bin ich auch schon durch. Ebenso die pdadmin.conf. Gefunden hatte ich auch nichts. Vielleicht wäre dies also ein Feature Request
Laut der Ausgabe wurden Python + Libs auch installiert. Das Problem wird wohl hier liegen:
dpkg: Warnung: »ldconfig« wurde im PATH nicht gefunden oder ist nicht ausführbar
dpkg: Warnung: »start-stop-daemon« wurde im PATH nicht gefunden oder ist nicht ausführbar
dpkg: Fehler: 2 erwartete Programme nicht im PATH gefunden oder nicht ausführbar
Beachten Sie: PATH von root sollte normalerweise /usr/local/sbin, /usr/sbin und /sbin enthalten
E: Sub-process /usr/bin/dpkg returned an error code (2)
Die Programme sind vermutlich auch bereits installiert, werden nur in der PATH Variable nicht gefunden. Es müsste also die PATH Variable geprüft und ggf. diese in der .bashrc angepasst werden.
ZitatOriginal von webby
Was übersehen wir? :*(
ZitatOriginal von webby
Die Datei die von letsencrypt angelegt werden müsste ist halt nicht da.
Zitat
Geht es hierbei um den Server Hostnamen oder um irgendeine Domain auf dem Server? Für den Server Hostnamen nutzt die letsencrypt binary nämlich /usr/local/pd-admin2/htdocs/ als Webroot.
Ich kann natürlich verstehen, dass man bei Problemen nicht gerne die echte Domain, sowie die Konfig der Domain / des Servers posten möchte - dies macht es für Dritte aber auch sehr schwierig alles genauer unter die Lupe zu nehmen. Daher kann man nur raten...
Die Fehlermeldung ist aber ein Timeout. In der Regel steht dies in Zusammenhang mit dem DNS. Daher würde ich hier noch einmal alles prüfen.
Mir ist keine Option bekannt. Im Changelog vom pd-admin sieht man auch immer wieder, dass PHP Versionen hinzugefügt oder entfernt werden. Ich gehe also davon aus, dass dies nicht einfach durch die Nutzer umgesetzt werden kann.
ZitatOriginal von tbc233
Ich hatte glaube ich mal einen vergleichbaren Fehler weil die betroffene Domain einen ipv6 (AAAA) Eintrag hatte.
Letsencrypt versuchte daraufhin offenbar die Verifizierungsdatei über ipv6 abzuholen, was aus für dieses Thema nicht relevanten Gründen nicht funktioniert hat.
Kannst Du derlei Gründe ausschließen?
Dies kann man in den Log Files sehen. Einfach Mal nach greppen:
ZitatOriginal von webby
CodeAlles anzeigen... .. . IMPORTANT NOTES: - The following errors were reported by the server: Domain: www.meineseite.tld Type: connection Detail: Fetching http://www.meineseite.tld/.well-known/acme-challenge/Os7CdQ0qfxr_JitIbyxsRPub0PWygaxtzq3fDDGFUDY: Timeout Domain: meineseite.tld Type: connection Detail: Fetching http://meineseite.tld/.well-known/acme-challenge/taUwXVDw-1k4_3qzG0xeJgUsDlKfDifZpv0nzCOm3jw: Timeout ... .. .
Also zunächst einmal wäre es gut, wenn für ein Problem ein neuer Thread geöffnet wird. Sonst werden Threads schnell unübersichtlich wenn sich Dinge vermischen. Zumal hier ein Problem vorliegt, der Thread aber eher um die Fragestellung bzgl. Einrichtung von SSL geht.
Die o.g. Ausgabe ist ja nur ein Teil bzw. die Zusammenfassung des Vorgangs. Der komplette Log Eintrag wäre hilfreicher.
ZitatOriginal von webby
Jemand eine Idee? :*(
Da es zu einem Timeout kommt sollte geprüft werden, ob der A Record im DNS und die eingestellte IP in pd-admin (Endkunden > Übersicht > Domains > IP) soweit stimmen.
Wenn ja, dann unter /opt/pdadmin/etc/ssl-validation/.well-known/acme-challenge/ manuell eine Datei anlegen und diese versuchen aufzurufen.
ZitatOriginal von Stefan3411
Ich habe das Zertifikat, CA-Zertifikat und Apache/nginx Bundle
Also fehlt der private Schlüssel. Wie komme ich da ran?
Wie wurde denn das Zertifikat erstellt? Wenn der certbot bzw. /opt/pdadmin/bin/letsencrypt verwendet wurde, finden sich alle notwendigen Dateien unter /etc/letsencrypt/live/www.domain.name
ZitatOriginal von Eisenherz
Wenn Du es per Let's Encrypt machst, dann
/opt/pdadmin/bin/letsencrypt www.deinewebseite.de
mehr nicht, außer das Let's Encrypt aktiviert sein muss.
Konkret heißt das mit dem Reselleraccount einloggen
1. In der Serverkonfiguration (Einstellungen -> Serverkonfiguration) letsencrypt einschalten
2. Im Angebot den Haken bei letsencrypt setzen
Das reicht auch schon. Es sollte ein Cronjob eingerichtet sein, der einmal täglich automatisch Zertifikate ausstellt. Manuell geht es wie oben genannt.
ZitatOriginal von Twilo
Wenn ich nach der IP in der Log suche, scheint eine Verbindung danach zu stande gekommen zu sein.
Kann man sehen mit welchem Account sich dann angemeldet wurde? Unter Umständen ein falsch konfigurierter Mail-Client? Könnte mir vorstellen, dass es in Zusammenhang mit "Serveradresse != Zertifikats CN" steht. Ist aber nur eine Vermutung und müsste man Mal testen.
ZitatOriginal von Eisenherz
Wenn auch Maildienste umgestellt werden sollen, dann würde ich den Server komplett sichern, da sonst alle Änderungen des Scripts manuell zurück gestellt werden müssen.
Eine Sicherung ist sicherlich vor jeder Änderung sinnvoll. Es sind aber überschaubare Änderungen, die relativ leicht zurück genommen werden können.
ZitatOriginal von Eisenherz
Alles was Du brauchst hast Du aber auch in dem normalen täglichen Backup-Job.
Vorausgesetzt man hat in der pd-admin Konfig das Backup Verzeichnis konfiguriert
Ich bin mir nicht ganz sicher, ob dies überhaupt etwas mit dem Zertifikat zu tun hat. Zur Sicherheit am besten einmal prüfen und auch schauen, ob die Zertifikatskette stimmt:
https://de.ssl-tools.net/mailservers/
Ansonsten würde ich sagen:
Es wurde ein Loginversuch gestartet, aber es kein Auth stattfand (gab auch kein Nutzernamen)
TLS handshaking: SSL_accept() failed: error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate: SSL alert number 42, session=<XXXXXXXXXXXXXXXX>
Der handshake schlug dann mit 'bad certificate' fehl. Was ich bisher recherchieren konnte, kommt dies von Seiten des Clients.
Ich würde mir dazu einmal die remote IP anschauen:
Ich habe ähnliche Einträge in meinem maillog gefunden. Wenn ich mir die remote IPs dazu anschaue sind dies amerikanische oder chinesische IPs. Zu den IPs gab es entsprechende Abuse Einträge. Und ich kann auch definitiv ausschließen, dass von den IPs ein legitimer Zugriff stammen könnte.