Jump to content
Froxlor Forum
  • 0

Letsencrypt Einrichtung


tt33tt

Question

Hallo alle zusammen,

ich richte aktuell Letsencrypt ein und stoße dabei auf Fehler.

Dieser Fehler könnte bereits die Erklärung beinhalten:

root@1383561341-1:~# apache2ctl -M
AH00526: Syntax error on line 16 of /etc/apache2/sites-enabled/35_froxlor_ssl_vhost_medienbrief.schule.conf:
SSLCertificateFile: file '/etc/apache2/apache2.pem' does not exist or is empty
Action '-M' failed.
The Apache error log may have more information.

Muss ich manuell ein apache2.pem erzeugen? Ich habe bei den vielen Letsencrypt-Einleitungen nirgendswo darüber etwas gelesen. Geht das dann wie hier beschrieben:

Mit der ACME Version 2 hänge ich hier:

[information] Updating Let's Encrypt certificates
[information] Updating medienkompetenz.jetzt
[information] Adding SAN entry: medienkompetenz.jetzt
[information] Adding SAN entry: www.medienkompetenz.jetzt
[information] letsencrypt-v2 Using 'https://acme-v02.api.letsencrypt.org' to generate certificate
[information] letsencrypt-v2 Using existing account key
[information] letsencrypt-v2 Starting new account registration
[information] letsencrypt-v2 Getting last terms of service URL
[information] letsencrypt-v2 Sending registration to letsencrypt server

Ich habe auf Version 1 umgestellt (siehe unten), da geht es schon besser.

Das Verzeichnis /var/www/froxlor/.well-known/acme-challenge ist leer. Ich habe testweise eine index.html dort erstellt. Wenn ich das Verzeichnis http://medienkompetenz.jetzt/.well-known/acme-challange/ öffne erhalte ich, die index.html nicht, auch nicht wenn ich die .htaccess entferne. Daher müsste auch bei der Umleitung noch ein Fehler vorliegen.

Ich habe die Datei  /etc/apache2/conf-enabled/acme.conf  erstellt:


Alias "/.well-known/acme-challenge" "/var/www/froxlor/.well-known/acme-challenge"
<Directory "/var/www/froxlor/.well-known/acme-challenge">
Require all granted
</Directory>

 

Hier die Fehler, die bei der Version 1 von ACME aufgetreten sind (beim 2. Versuch unten kam der Fehler, dass ich mich zu oft angemeldet habe. Da muss ich einfach warten)

root@1383561341-1:~# php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --letsencrypt --debug
[information] Updating Let's Encrypt certificates
[information] Updating medienbrief.schule
[information] Adding SAN entry: medienbrief.schule
[information] Adding SAN entry: www.medienbrief.schule
[information] letsencrypt Using 'https://acme-v01.api.letsencrypt.org' to generate certificate
[information] letsencrypt Using existing account key
[information] letsencrypt Starting certificate generation process for domains
[information] letsencrypt Requesting challenge for medienbrief.schule
[information] letsencrypt Sending signed request to /acme/new-authz
[information] letsencrypt Got challenge token for medienbrief.schule
[information] letsencrypt Token for medienbrief.schule saved at /var/www/froxlor/.well-known/acme-challenge/123456 and should be available at http://medienbrief.schule/.well-known/acme-challenge/123456
[warning] [Lets Encrypt self-check] Please check http://medienbrief.schule/.well-known/acme-challenge/123456 - token seems to be not available. This is just a simple self-check, it might be wrong but consider using this information when Let's Encrypt fails to issue a certificate
[information] letsencrypt Sending request to challenge
[information] letsencrypt Sending signed request to https://acme-v01.api.letsencrypt.org/acme/challenge/667788/7890
[information] letsencrypt Verification pending, sleeping 1s
[error] Could not get Let's Encrypt certificate for medienbrief.schule: Verification ended with error: {"identifier":{"type":"dns","value":"medienbrief.schule"},"status":"invalid","expires":"2018-06-13T07:56:31Z","challenges":[{"type":"dns-01","status":"invalid","uri":"https:\/\/acme-v01.api.letsencrypt.org\/acme\/challenge\/667788\/6789","token":"zui123"},{"type":"http-01","status":"invalid","error":{"type":"urn:acme:error:unauthorized","detail":"Invalid response from http:\/\/medienbrief.schule\/.well-known\/acme-challenge\/123456: \"<!DOCTYPE html>\n<!--[if IE 7]>\n<html class=\"ie ie7\" lang=\"de-DE\" prefix=\"og: http:\/\/ogp.me\/ns#\">\n<![endif]-->\n<!--[if IE 8]>\n<ht\"","status":403},"uri":"https:\/\/acme-v01.api.letsencrypt.org\/acme\/challenge\/667788\/7890","token":"123456","keyAuthorization":"123456.abcdef","validationRecord":[{"url":"http:\/\/medienbrief.schule\/.well-known\/acme-challenge\/123456","hostname":"medienbrief.schule","port":"80","addressesResolved":["109.75.177.194"],"addressUsed":"109.75.177.194"}]}],"combinations":[[0],[1]]}
[information] Updating medienkompetenz.jetzt
[information] Adding SAN entry: medienkompetenz.jetzt
[information] Adding SAN entry: www.medienkompetenz.jetzt
[information] letsencrypt Using 'https://acme-v01.api.letsencrypt.org' to generate certificate
[information] letsencrypt Using existing account key
[information] letsencrypt Starting certificate generation process for domains
[information] letsencrypt Requesting challenge for medienkompetenz.jetzt
[information] letsencrypt Sending signed request to /acme/new-authz
[information] letsencrypt Got challenge token for medienkompetenz.jetzt
[information] letsencrypt Token for medienkompetenz.jetzt saved at /var/www/froxlor/.well-known/acme-challenge/fedcba and should be available at http://medienkompetenz.jetzt/.well-known/acme-challenge/fedcba
[warning] [Lets Encrypt self-check] Please check http://medienkompetenz.jetzt/.well-known/acme-challenge/fedcba - token seems to be not available. This is just a simple self-check, it might be wrong but consider using this information when Let's Encrypt fails to issue a certificate
[information] letsencrypt Sending request to challenge
[information] letsencrypt Sending signed request to https://acme-v01.api.letsencrypt.org/acme/challenge/zuiop/44553322
[information] letsencrypt Verification pending, sleeping 1s
[error] Could not get Let's Encrypt certificate for medienkompetenz.jetzt: Verification ended with error: {"identifier":{"type":"dns","value":"medienkompetenz.jetzt"},"status":"invalid","expires":"2018-06-13T07:56:35Z","challenges":[{"type":"http-01","status":"invalid","error":{"type":"urn:acme:error:unauthorized","detail":"Invalid response from http:\/\/medienkompetenz.jetzt\/.well-known\/acme-challenge\/fedcba: \"<!DOCTYPE html>\n<!--[if IE 7]>\n<html class=\"ie ie7\" lang=\"de-DE\">\n<![endif]-->\n<!--[if IE 8]>\n<html class=\"ie ie8\" lang=\"de-DE\">\"","status":403},"uri":"https:\/\/acme-v01.api.letsencrypt.org\/acme\/challenge\/zuiop\/44553322","token":"fedcba","keyAuthorization":"fedcba.abcdef","validationRecord":[{"url":"http:\/\/medienkompetenz.jetzt\/.well-known\/acme-challenge\/fedcba","hostname":"medienkompetenz.jetzt","port":"80","addressesResolved":["109.75.177.194"],"addressUsed":"109.75.177.194"}]},{"type":"dns-01","status":"invalid","uri":"https:\/\/acme-v01.api.letsencrypt.org\/acme\/challenge\/zuiop\/56789","token":"def01234"}],"combinations":[[1],[0]]}
[information] Let's Encrypt certificates have been updated
[notice] Checking system's last guid
You have new mail in /var/mail/root
root@1383561341-1:~# php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --letsencrypt --debug
[information] Updating Let's Encrypt certificates
[information] Updating medienbrief.schule
[information] Adding SAN entry: medienbrief.schule
[information] Adding SAN entry: www.medienbrief.schule
[information] letsencrypt Using 'https://acme-v01.api.letsencrypt.org' to generate certificate
[information] letsencrypt Using existing account key
[information] letsencrypt Starting certificate generation process for domains
[information] letsencrypt Requesting challenge for medienbrief.schule
[information] letsencrypt Sending signed request to /acme/new-authz
[error] Could not get Let's Encrypt certificate for medienbrief.schule: No challenges received for medienbrief.schule. Whole response: {"type":"urn:acme:error:rateLimited","detail":"Error creating new authz :: too many failed authorizations recently: see https:\/\/letsencrypt.org\/docs\/rate-limits\/","status":429}
[information] Updating medienkompetenz.jetzt
[information] Adding SAN entry: medienkompetenz.jetzt
[information] Adding SAN entry: www.medienkompetenz.jetzt
[information] letsencrypt Using 'https://acme-v01.api.letsencrypt.org' to generate certificate
[information] letsencrypt Using existing account key
[information] letsencrypt Starting certificate generation process for domains
[information] letsencrypt Requesting challenge for medienkompetenz.jetzt
[information] letsencrypt Sending signed request to /acme/new-authz
[error] Could not get Let's Encrypt certificate for medienkompetenz.jetzt: No challenges received for medienkompetenz.jetzt. Whole response: {"type":"urn:acme:error:rateLimited","detail":"Error creating new authz :: too many failed authorizations recently: see https:\/\/letsencrypt.org\/docs\/rate-limits\/","status":429}
[information] Let's Encrypt certificates have been updated
[notice] Checking system's last guid

 

Link to comment
Share on other sites

13 answers to this question

Recommended Posts

LE findet laut Logfile deine Token nicht. Entweder wird deine acme.conf nicht verwendet oder das Verzeichnis exisitiert nicht - jedenfalls kommt eine Fehlermeldung "Nichts gefunden Wie es aussieht, wurde an dieser Stelle nichts gefunden. Möglicherweise hilft eine Suche?"

Wurde der apache neu gestartet nach anlegen der acme.conf? Gibt es vielleicht einen Hinweis auf einen Fehler in den Logfiles des Webservers?

Link to comment
Share on other sites

Ja, bin auf ACME-v1

Muss ich dann den Pfad auch unter "IPs und Ports" eintragen? Habe das mit und ohne versucht. Beides hilft nicht.

Beim Apache kommt der Config-Fehler, dass die apache2.pem fehlt. Muss ich manuell ein apache2.pem erzeugen?

//edit: Er kann die Config glaube ich nicht laden, wegen dem Fehler, dass die apache2.pem fehlt.

Link to comment
Share on other sites

OK, ich habe jetzt damit angefangen einfach letsencrypt für Froxlor zu aktivieren und für alle anderen zu deaktiveren. Apache kann nun die Config laden. Es kommt der selbe Fehler wie oben. Was ich sehr seltsam finde:

[information] letsencrypt Token for cloud.rainerwiederstein.de saved at /var/www/froxlor/.well-known/acme-challenge/1234 and should be available at http://cloud.rainerwiederstein.de/.well-known/acme-challenge/1234

Aber dort ist kein Token zu finden... Wenigstens sollte er dort gespeichert sein oder?

Zusätzlich zieht denke ich die Umleitung nicht aus der acme.conf, weil ich im Original Webserververzeichnis http://cloud.rainerwiederstein.de/froxlor/.well-known/acme-challenge/index.html auf die index.html zugreifen kann. Aus http://cloud.rainerwiederstein.de/.well-known/acme-challenge/index.html geht es aber nicht und genauso verhält es sich mit allen anderen Domänen.

Außerdem ist apache2.pem weiterhin nicht erstellt.

Link to comment
Share on other sites

1 hour ago, tt33tt said:

OK, ich habe jetzt damit angefangen einfach letsencrypt für Froxlor zu aktivieren und für alle anderen zu deaktiveren. Apache kann nun die Config laden. Es kommt der selbe Fehler wie oben. Was ich sehr seltsam finde:

[information] letsencrypt Token for cloud.rainerwiederstein.de saved at /var/www/froxlor/.well-known/acme-challenge/1234 and should be available at http://cloud.rainerwiederstein.de/.well-known/acme-challenge/1234

Aber dort ist kein Token zu finden... Wenigstens sollte er dort gespeichert sein oder?

Zusätzlich zieht denke ich die Umleitung nicht aus der acme.conf, weil ich im Original Webserververzeichnis http://cloud.rainerwiederstein.de/froxlor/.well-known/acme-challenge/index.html auf die index.html zugreifen kann. Aus http://cloud.rainerwiederstein.de/.well-known/acme-challenge/index.html geht es aber nicht und genauso verhält es sich mit allen anderen Domänen.

Außerdem ist apache2.pem weiterhin nicht erstellt.

Dann würde ich halt mal die Pfade entsprechend anpassen und nochmals: Gibt es vielleicht einen Hinweis auf einen Fehler in den Logfiles des Webservers?

Link to comment
Share on other sites

Keine Fehler in den Logfiles erkennbar in diesem Zusammenhang. Speichern müsste er den Schlüssel unter /var/www/froxlor/.well-known/acme-challenge/1234 unabhängig davon ob die acme.conf stimmt oder nicht?

Meine wichtigste Frage: Muss ich apache2.pem manuell erstellen oder nicht? Und wie wird sie normalerweise erstellt?

Link to comment
Share on other sites

1) das Token wird nur TEMPORÄR während der validierung durch Let's Encrypt dort abgelegt und danach wieder entfernt

2) prüfe ob du in den IP/Port Einstellungen auch eingestellt hast, das ein Vhost-Container und ein ServerName Eintrag erstellt werden

3) nein, mit Let's encrypt im froxlor vhost (UND vhost-container für ip/port) brauchst du keine apache2.pem - und wenn du sie doch brauchst, google: create self-signed ssl certificate

Link to comment
Share on other sites

Nach langem Probieren... Aus irgendeinem Grund ist das Verzeichnis conf-enabled nicht in der apache.conf included und ich habe den Pfad bei open_basedir als Ausnahme hinzufügt.

Mir ist noch eingefallen open_basedir zu deaktivieren. Und im php-info steht nun erkennbar:

open_basedir -> /var/www/froxlor/.well-known/acme-challenge

Versuch absoluter Pfadzugriff: include ("/var/www/froxlor/.well-known/acme-challenge/index.html"); -> OK

Versuch über alias Pfadzugriff: echo file_get_contents("http://medienkompetenz.jetzt/.well-known/acme-challenge/index.html"); -> Warning: file_get_contents(http://medienkompetenz.jetzt/.well-known/acme-challenge/index.html): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /var/kunden/webs/rainer/medienkompetenz.jetzt/test.php on line 10  => Geht nicht

Versuch über alias selbe Domain:

acme.conf -> Alias "/essen" "/var/kunden/webs/rainer/medienkompetenz.jetzt/Test"

Ergebnis im acces.log -> 95.91.217.236 - - [07/Jun/2018:15:40:33 +0200] "GET /essen/index.html HTTP/1.1" 404 31909 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0"

Einfügen in vHost klappt: Alias "/.well-known/acme-challenge" "/var/www/froxlor/.well-known/acme-challenge" (Warum muss ich service apache2 restart machen und warum geht reload nicht?)

Einfügen in apache2.conf klappt und in conf.d/ auch => Aus irgendeinem Grund ist das Verzeichnis conf-enabled nicht in der apache.conf included... Das musste ich nachholen bzw. alternativ eine Verknüpfung in conf.d ablegen.

Jetzt klappt alles

Link to comment
Share on other sites

Was bitte hat denn da openbasedir mit zu tun??? Wenn es conf-enabled nicht gibt oder nicht inkludiert wird, ist es vllt conf.d? Du musst die Einstellungen und PFade schon deinen System anpassen...

Link to comment
Share on other sites

Ich habe eine open_basedir-Einschränkung: jede Domäne darf nur innerhalb des Domänenverzeichnisses zugreifen. Alles außerhalb muss ich zulassen. Das hing mal mit einer Querinfektion zwischen mehreren Domains zusammen.

Ich habe diesen Ordner mit den Schlüsseln freigegeben in open_basedir.

Und ja, ich habe ja geschrieben, dass es conf.d ist :-)

Link to comment
Share on other sites

hä? Der acme Alias ist doch davon nicht betroffen, da ist openbasedir völlig egal...du machst da was ganz komisches sorry. Aber /var/www/froxlor/[...] zu openbasedir hinzuzufügen ist unsinn

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...