# ISPconfig 3.1.3 + letsencrypt und Ubuntu 16.04.2 LTS



## proxykermit (24. Mai 2017)

Hallo zusammen,
bin so langsam am durchdrehen.
*Kurz*: ich schaffe es nicht per ISPconfig-Backend die letsencrypt zertifikate automatisch zu erstellen.
*Lang: *Nach den hier vorhandenen Anleitungen - sowohl für die 16.04 als auch die 17.04 (beides getestet um sicher zu gehen, die 16.04 mit mehreren Versuchen), sobald alles installiert ist, rufe ich das Backend von ISPconfig 3.1.3 auf und erstelle einen Client, dieser bekommt eine Website mit meiner Domain. Das ist auch die Domain für das ISPconfig Backend. Ohne auto "www".
Ich aktiviere auf der ersten Registerkarte SSL + Let's Encrypt. Das Backend zeigt einen "update Job" unter Monitoring an. Es passiert aber nichts. Es gibt weder unter */etc/letsencrypt* irgendwelche Einträge wie *../live/domain.tld/..*.  Auch unter */var/log/* gibt es _keinen_ letsencrypt Ordner. Nachdem der Update-Job gelaufen ist, sind die Checkboxen für SSL und Letsencrypt wieder leer - also nicht aktiv.

Wie hier beschrieben: https://www.howtoforge.com/community/threads/lets-encrypt-error-faq.74179/ habe ich bereits alles soweit geprüft. Die Domain ist von extern erreichbar - sowohl die http Version als auch die SSL mit dem 8080 Port für das Backend.

Aktuell habe ich ispconfig_update.sh auf "git-stable" ausgeführt - inklusive rekonfiguration der Dienste. Auch keine Änderung. Automatisch wird einfach nichts erstellt.

Wenn ich nun letsencrypt von Hand ausführe mit:
*letsencrypt certonly -d domain.tld --apache --agree-tos -m email@adresse.de*
domain.tld und Email - natürlich mit den passenden Werten.
werden die Zertifikate erstellt, samt den Verzeichnissen /etc/letsencrypt/live/domain.tld usw - inklusive entsprechenden log einträgen unter /var/log/letsencrypt

Wenn ich nun das Zertifikat per ln -s verlinke funktioniert es dann - allerdings ist es nicht das was ich erreichen wollte - die Zertifikate automatisch durch ISPconfig zu erstellen und auch zu erneuern.

Hat irgendjemand eine Idee was ich falsch mache? So viel kann es ja nicht sein, wenn die manuelle Ausführung ohne Probleme funktiniert. Auch ein neues Aufsetzen des Servers ist kein Problem - habe einen Snapshot vor dem Schritt 8 der Anleitung.

Für Hinweise wäre ich sehr dankbar.

Gruß Arnold


PROBLEM gelöst: https://www.howtoforge.de/forum/thr...rypt-und-ubuntu-16-04-2-lts.10631/#post-52795


----------



## nowayback (24. Mai 2017)

aber certbot-auto hast du installiert?


----------



## proxykermit (24. Mai 2017)

nein - nur die Befehle die in der HowTo Anleitung für 16.04 aufgeführt sind. Zusätzlich oder schon aus lauter Verzfeiflung das entspreichende Paket für 16.04 + Apache von hier: https://certbot.eff.org/#ubuntuxenial-apache (wobei ich hier nur die Installation von hier hatte - keine weiteren Schritte durchgeführt - also kein
certbot --apache 
oder weitere Befehle.

Allerdings kann ich nur certbot oder letsencrypt ausführen. Fehlt mir noch was?


----------



## nowayback (24. Mai 2017)

https://www.howtoforge.de/forum/threads/ssl-konfiguration.10558/#post-52457


----------



## proxykermit (25. Mai 2017)

Vielen Dank für den Tipp.
Ich werde heute nochmals den Snapshot aktiveren und anschließend den certbot-auto installieren.


----------



## proxykermit (25. Mai 2017)

Installation eben nochmals durchgeführt. Nach Punkt 16 und vor ISPconfig Installation die von dir verlinkte Installation von certbot-auto durchgeführt. Mit anschließendem ./certbot-auto -> updates, installation und abbruch bei der Nachfrage nach Domains. 
Danach Installation von ispconfig. 

Leider das gleiche Ergebnis wie zuvor auch - die Webseite domain.tld wird erstellt. http ist Verfügbar, https nicht und die Checkboxen für SSL/Let's encrypt deaktiviert. 

Im letsencrypt Log stehen nur die Einträge die auch um die Uhrzeit generiert wurden als ich certbot-auto installiert und aufgerufen habe. Mehr nicht. Also auch keine Fehler zum Zeitpunkt der "webseitenerstellung" im ispconfig backend.

Und nun?


----------



## proxykermit (25. Mai 2017)

Ich habe mir eben das Handbuch gekauft - aber dort steht in Bezug auf letsencrypt ... na ja ich will ja nichts kritisieren. Aber eben nichts um diesen Fehler einzugrenzen. Debug Modus jetzt aktiviert.

Debug Modus des Servers hat genau _eine_ Meldung zum letsencrypt:
"Could not verify domain domain.tld, so excluding it from letsencrypt request".
Welche Prüfung findet hier statt? Der Rechner steht hinter einer Firewall die z.B. die externe IP Adresse, welche auf die domain.tld zeigt nicht pingen lässt.
Wenn man also per Shell auf dieser Maschine *ping domain.tld *durchführt wird die externe IP zurückgeliefert aber der ping geblockt.

Welche Prüfungen auch immer ISPconfig dafür macht - die manuelle Ausführung hat keine Probleme damit gehabt - also liegt es hier irgendwo in den ispconfig "Prüfungen" begraben.
*Diese maschine ist wunderbar von extern über *http* auf *domain.tld* erreichbar. 

----- FEHLER GEFUNDEN - ISPconfig prüft zu stark  --------*

Testweise *domain.tld* in die */etc/hosts* eigetragen -> mit der lokalen IP Adresse des Servers - und man sehe und staune: die Zertifikate werden angelegt.
Damit ist klar, dass ispconfig einen ping auf die zu erstellende Domain durchführt - und das ist aus meiner Sicht blödsinn! Viele Webseiten lassen einen Ping auf den Webserver gar nicht zu! Ist ja auch nicht erforderlich wenn andere Dienste funktionieren. Were schön wenn man diese Prüfung abstellen könnte "auf eigene Gefahr" da man ansonsten jede Domain und Subdomain in die Hosts eintragen müsste - was aus meiner sicht nicht sein sollte!

Weiß jemand wo der Schalter versteckt ist?


----------



## Till (26. Mai 2017)

ISPConfig führt keinen ping auf die Domain aus sondern es versucht diese Domain per http zu erreichen und von dort ein token herunter zu laden, genauso wie es LE macht. Die Prüfung kann man nicht abstellen.


----------



## proxykermit (26. Mai 2017)

@Till 
OK, verstehe nun das Problem. Ich war nur irritiert, da die manuelle Ausführung des Befehls wie im ersten Beitrag beschrieben ohne Probleme funktionierte. Allerdings ist mein Firewall-Cluster so konfiguriert, dass ich diesen Host intern nur via interne IP erreichen kann. Von extern wird der Zugriff über die externe IP umgesetzt. 

Wenn jetzt also ISPConfig diese Prüfung durchführt - dann bekommt ISPConfig die externe IP vom DNS geliefert und will diese erreichen. Das geht aber intern nicht. Wird der Befehl von Hand ausgeführt, prüft LE von extern die Domain und ist erfolgreich, da DNS IP und Server erreichbar sind.

*Fazit: für die Automatik muss unbedingt sichergestellt sein, dass die domain.tld für ISPConfig erreichbar ist - notfalls über /etc/hosts *


----------



## florian030 (26. Mai 2017)

Das Problem mit dem Check von ISPConfig ist, dass der nicht immer klappt... Bei NAT geht das zB nicht.


----------

