July 11, 201610 yr Hallo Froxlor Gemeinde, ich versuche gerade auf unserem Server Seiten via letsencrypt zu verschlüsseln. Mit den Froxlor eigenen Tools hatte ich leider keinen Erfolg. Das kann an unserem Setup liegen oder an meiner Unfähigkeit (Achtung Serveradmin-Noob!). (Der Fehler den ich bekomme ist folgender) Could not get Let's Encrypt certificate for mysite.com: Please check http://mysite/.well-known/acme-challenge/YI6nQJMglYzLJoOf-2u_MRZMivqlD5w29wovISnRJpA - token not available; PHP error: {"type":2,"message":"file_get_contents(http:\/\/mysite\/.well-known\/acme-challenge\/YI6nQJMglYzLJoOf-2u_MRZMivqlD5w29wovISnRJpA): failed to open stream: HTTP request failed! HTTP\/1.1 404 Not Found\r\n","file":"\/var\/www\/froxlor\/lib\/classes\/ssl\/class.lescript.php","line":171} Wenn jemand dafür eine Lösung hat immer her damit. Was jedoch funktioniert hat ist direkt mit dem letsencrypt Kommandozeilen Tool ein Zertifikat zu erstellen. Nun habe ich das Problem, dass letsencrypt die ssl_vhost_xx.conf angepasst hat. Diese wird von froxlor jedoch bei einer Änderung an der Domain neu generiert. Meine Fragen: Wo sollte ich die Einstellungen der Domain anpassen, damit sich froxlor und letsencrypt nicht in die Quere kommen? (Geschätz unter "Eigene vHost-Einstellungen:" der Domain) Welchen Teil aus der .conf muss ich übernehmen? Welcher Teil der .conf verändert sich bei einem erneuern des Zertifikats durch letsencrypt? Vielen Dank vorab Fabian
July 11, 201610 yr -> php.ini -> allow_url_fopen = On -> prüfe ob die acme.conf im webserver eingerichtet und einbunden wurde (config-templates!)
July 11, 201610 yr Author -> php.ini -> allow_url_fopen = On Check. Ist bereits vorher aktiv gewesen. -> prüfe ob die acme.conf im webserver eingerichtet und einbunden wurde (config-templates!) Den Teil verstehe ich nicht. Sorry. Trotzdem danke für die Hilfe.
July 11, 201610 yr Author Die Datei /etc/apache2/conf.d/acme.conf existiert nicht. Grundsätzlich zu meiner Frage. Es ist für mich auch okay ohne froxlor die Zertifikate zu erstellen und zu verwalten. Ich würde nur gerne wissen wo ich mit Froxlor kollidieren könnte, bzw wo ich meine vHost Einstellungen ablegen sollte wenn ich verhindern möchte, dass Froxlor sie überschreibt.
July 11, 201610 yr Wenn du Let's Encrypt aktiviert hast in den Einstellungen, folge bitte den Anweisungen in Configuration -> [distro] -> Webserver -> [dein webserver], dann funktioniert das mit LE auch alles
July 27, 201610 yr Hallo, gibt es bei dir eine Lösung? Ich habe genau das gleiche Problem. Letsencrypt ist aktiviert und auch die Conf gesetzt. aber der stream kann nicht aufgebaut werden.
July 28, 201610 yr Dann nenne uns bitte die Fehlermeldung aus der Froxlor-SystemLog bzw. die ausgabe von "php /var/www/froxlor/scripts/froxlor_master_cronjob.php --letsencrypt --debug"
July 30, 201610 yr Sry für die verspätete Antwort, hier der Fehler in der Log: Could not get Let's Encrypt certificate for ossi-connection.de: Please check http://ossi-connection.de/.well-known/acme-challenge/FAit3ZkFG4Pn1jqKfCNrzSUwEivZQYGryIdxzjKK4_8 - token not available; PHP error: {"type":2,"message":"file_get_contents(http:\/\/ossi-connection.de\/.well-known\/acme-challenge\/FAit3ZkFG4Pn1jqKfCNrzSUwEivZQYGryIdxzjKK4_8): failed to open stream: operation failed","file":"\/var\/www\/froxlor\/lib\/classes\/ssl\/class.lescript.php","line":171} und hier der Debug: [debug] Adding SAN entry: ossi-connection.de [debug] Adding SAN entry: www.ossi-connection.de [information] letsencrypt Using 'https://acme-v01.api.letsencrypt.org' to generate certificate [information] letsencrypt Account already registered. Continuing. [information] letsencrypt Starting certificate generation process for domains [information] letsencrypt Requesting challenge for ossi-connection.de [information] letsencrypt Sending signed request to /acme/new-authz [information] letsencrypt Got challenge token for ossi-connection.de [information] letsencrypt Token for ossi-connection.de saved at /var/www/froxlor/.well-known/acme-challenge/089SkP0Tr3B7RolBZbg1mkGMzQYE-AV-CUNajRgbtL0 and should be available at http://ossi-connection.de/.well-known/acme-challenge/089SkP0Tr3B7RolBZbg1mkGMzQYE-AV-CUNajRgbtL0 [error] Could not get Let's Encrypt certificate for ossi-connection.de: Please check http://ossi-connection.de/.well-known/acme-challenge/089SkP0Tr3B7RolBZbg1mkGMzQYE-AV-CUNajRgbtL0 - token not available; PHP error: {"type":2,"message":"file_get_contents(http:\/\/ossi-connection.de\/.well-known\/acme-challenge\/089SkP0Tr3B7RolBZbg1mkGMzQYE-AV-CUNajRgbtL0): failed to open stream: operation failed","file":"\/var\/www\/froxlor\/lib\/classes\/ssl\/class.lescript.php","line":171} Ich hoffe das hilft weiter. Gruß Lindi
July 31, 201610 yr siehe https://forum.froxlor.org/index.php/topic/13477-apache-letsencrypt-und-generierung-von-28-froxlor-ssl-vhost-mysitecomconf/?p=32487
August 1, 201610 yr Ok, das hatte ich alles schon. Bei einer Einstellung bin ich mir jedoch nicht ganz sicher. Der globale Alias zeigt auf /var/www/froxlor/.well-known/acme-challenge In den SSL Einstellungen bei Froxlor steht unter Verzeichnis für Let's Encrypt challenges: /var/www/froxlor Muss da der selbe Pfad wie bei den Alias rein, oder reicht das Froxlor Verzeichniss?
August 1, 201610 yr Ich habe gerade nochmal alles kontrolliert. Die Datei /etc/apache2/conf-enabled/acme.conf exestiert inkl. entsprechenden Inhalt. Letsencrypt ist aktiviert im Backend. allow_url_fopen = On ist Global gesetzt (PHP-Info im Backend) und auch auf der Domain wo Letsencrypt angewendet werden soll. ein Debug bringt leider weiterhin den Fehler [debug] Updating ossi-connection.de [debug] Adding SAN entry: ossi-connection.de [debug] Adding SAN entry: www.ossi-connection.de [information] letsencrypt Using 'https://acme-v01.api.letsencrypt.org' to generate certificate [information] letsencrypt Account already registered. Continuing. [information] letsencrypt Starting certificate generation process for domains [information] letsencrypt Requesting challenge for ossi-connection.de [information] letsencrypt Sending signed request to /acme/new-authz [information] letsencrypt Got challenge token for ossi-connection.de [information] letsencrypt Token for ossi-connection.de saved at /var/www/froxlor/.well-known/acme-challenge/10d0S29D6pSwJHHB76OcfP-2SX8hvh52cRuWEd0UX8s and should be available at http://ossi-connection.de/.well-known/acme-challenge/10d0S29D6pSwJHHB76OcfP-2SX8hvh52cRuWEd0UX8s [error] Could not get Let's Encrypt certificate for ossi-connection.de: Please check http://ossi-connection.de/.well-known/acme-challenge/10d0S29D6pSwJHHB76OcfP-2SX8hvh52cRuWEd0UX8s - token not available; PHP error: {"type":2,"message":"file_get_contents(http:\/\/ossi-connection.de\/.well-known\/acme-challenge\/10d0S29D6pSwJHHB76OcfP-2SX8hvh52cRuWEd0UX8s): failed to open stream: operation failed","file":"\/var\/www\/froxlor\/lib\/classes\/ssl\/class.lescript.php","line":171}
August 1, 201610 yr Versuche mal folgendes, da mir die Ideen ausgehen: Öffne die Datei /var/www/froxlor/lib/classes/ssl/class.lescript.php und in Zeile 171 änderst du: $uri = "http://${domain}/.well-known/acme-challenge/${challenge['token']}"; einfach mal in $uri = urlencode("http://${domain}/.well-known/acme-challenge/${challenge['token']}"); und schau was beim cronjob passiert
August 1, 201610 yr Dann kommt folgendes: [error] Could not get Let's Encrypt certificate for ossi-connection.de: Please check http%3A%2F%2Fossi-connection.de%2F.well-known%2Facme-challenge%2FlsBmBncHYHfiGN5mtv8iLFesCSBYh0YhBV-TObUZ4f8 - token not available; PHP error: {"type":2,"message":"file_get_contents(http%3A%2F%2Fossi-connection.de%2F.well-known%2Facme-challenge%2FlsBmBncHYHfiGN5mtv8iLFesCSBYh0YhBV-TObUZ4f8): failed to open stream: No such file or directory","file":"\/var\/www\/froxlor\/lib\/classes\/ssl\/class.lescript.php","line":171} Die Änderung habe ich aber in der Zeile 166 gemacht. In der Zeile 171 steht: if ($payload !== trim(@file_get_contents($uri))) { // simple self check if ($payload !== trim(@file_get_contents($uri))) { $errmsg = json_encode(error_get_last()); if ($errmsg != "null") { $errmsg = "; PHP error: " . $errmsg; } else { $errmsg = ""; } @unlink($tokenPath); throw new \RuntimeException("Please check $uri - token not available" . $errmsg); }
August 1, 201610 yr Dann nutzt du nicht die aktuelle Froxlor version, bitte mit 0.9.37-rc1 oder git-master testen...
August 1, 201610 yr Über deb http://debian.froxlor.org jessie main hab ich die Version 0.9.36-1+wheezy1 Warum auch immer Wheezy (liegt das an meinem Systemupgrade?). apt-get update && apt-get upgrade bringt nix neues.
August 1, 201610 yr Habs grad im Release teil gelesen, das es für die RC Version kein deb gibt. Das erklärt wieso ich eine andere Version drauf habe.
August 2, 201610 yr Hallo, das aktuelle update ist eingespielt. Die Zeile zum bearbeiten ist aber immer noch in der 166. Aber selbst mit der Anpassung haben, hat sich nix geändert.
August 2, 201610 yr Dann leg doch mal irgendeine Datei in den Ordner /var/www/froxlor/.well-known/acme-challenge und versuch von deiner domain aus darauf zuzugreifen. ggfls dabei halt logs checken oder sogar nen PHP scriptchen machen, was grad das file_get_contents() auch ausführt und auf fehler achten
August 2, 201610 yr Also ich habe nun mal eine normale Datei erstellt, die kann ich mit der /.well-known URL aufrufen. In den Errorlogs ist nix los, weder in der normalen Apache Log, noch bei den Kunden. Die Fehlermeldung hat sich nicht geändert. welche PHP Einstellungen greifen da genau? Die von der Domain, für das dass SSL Zertifikat genutzt wird oder? Was mich wundert, ist die Einstellung der Vhost datei für SSL. passt das so? SSLCertificateFile /etc/apache2/apache2.pem SSLCertificateKeyFile /etc/apache2/apache2.key SSLCACertificateFile /etc/apache2/apache2.crt SSLCertificateChainFile /etc/apache2/apache2.csr Das sieht für mich irgendwie falsch aus.
August 3, 201610 yr Es greifen natürlich die php-Einstellungen die du für die Domain festgelegt hast, mit SSL oder nicht hat das nichts zu tun
August 5, 201610 yr Ich habe für diese Domain eine extra PHP Einstellung. Ist da was was fehlerhaft? short_open_tag = On asp_tags = Off precision = 14 output_buffering = 4096 allow_call_time_pass_reference = Off safe_mode = {SAFE_MODE} safe_mode_gid = Off safe_mode_include_dir = "{PEAR_DIR}" safe_mode_allowed_env_vars = PHP_ safe_mode_protected_env_vars = LD_LIBRARY_PATH {OPEN_BASEDIR_C}open_basedir = "{OPEN_BASEDIR}" disable_functions = passthru,shell_exec,system,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate disable_classes = expose_php = Off max_execution_time = 30 max_input_time = 60 memory_limit = 16M post_max_size = 16M error_reporting = E_ALL & ~E_NOTICE display_errors = On display_startup_errors = Off log_errors = On log_errors_max_len = 1024 ignore_repeated_errors = Off ignore_repeated_source = Off report_memleaks = On track_errors = Off html_errors = Off variables_order = "GPCS" register_globals = Off register_argc_argv = Off gpc_order = "GPC" magic_quotes_gpc = Off magic_quotes_runtime = Off magic_quotes_sybase = Off include_path = ".:{PEAR_DIR}" enable_dl = Off file_uploads = On upload_tmp_dir = "{TMP_DIR}" upload_max_filesize = 32M allow_url_fopen = On sendmail_path = "/usr/sbin/sendmail -t -f {CUSTOMER_EMAIL}" session.save_handler = files session.save_path = "{TMP_DIR}" session.use_cookies = 1 session.name = PHPSESSID session.auto_start = 0 session.cookie_lifetime = 0 session.cookie_path = / session.cookie_domain = session.serialize_handler = php session.gc_probability = 1 session.gc_divisor = 1000 session.gc_maxlifetime = 1440 session.bug_compat_42 = 0 session.bug_compat_warn = 1 session.referer_check = session.entropy_length = 16 session.entropy_file = /dev/urandom session.cache_limiter = nocache session.cache_expire = 180 session.use_trans_sid = 0 suhosin.simulation = Off suhosin.mail.protect = 1 suhosin.session.encrypt = 0 opcache.restrict_api = "{DOCUMENT_ROOT}" Ich seh mitlerweile den Wald vor lauter Bäume nicht mehr ...
Archived
This topic is now archived and is closed to further replies.