Tutorial für Let's Encrypt Einrichtung über Froxlor

  • Hallo,


    habe hier im Forum und auch im Wiki nach Let's Encrypt und Froxlor gesucht und habe nur Beiträge gefunden, bei denen es nicht funktioniert hat, bzw. im Wiki nur wie es unter Onyx eingerichtet wird. Gibt es ein Tutorial welches Schritt für Schritt erläutert wie man ein Let's Encrypt Zertifikat für eine Domain über Froxlor konfiguriert?


    Mit freundlichen Grüßen


    MrSpock

  • zuerst musst du in den Konfiguration -> SSLeinstellung als Admin erstmal letsencrypt global freischalten

    und dann können die Kunden LE nutzen.

    Dann kannst du als Kunde in den Domaineinstellungen das Häkchen bei LE setzen.

    Achtung aber bei frischen Domains, wenn die globalen DNS noch nicht Bescheid wissen , wird der Antrag nicht klappen.

    Bei neuen Domains also mind 24h warten bevor du ein Zertifikat holst.


    Ansonsten: was genau klappt denn nicht?


    LG

    michi

    It's me, only me, pure michi 🦆

    RS 1000 SAS G8 | Cyber Quack

    VPS: 50 G7 |B Ostern 2017|200 | Karneval | piko

    WH: SmallEi | Adv17 Family |4000 SE|1000 SE

  • Ich hatte schon einmal einfach nur SSL Einstellungen aktivieren angeklickt. Als ich dann versucht hatte den Apache2 Server neu zu starten, ist er nicht mehr gestartet, was mir ja irgendwie zeigt, dass das Einschalten alleine nicht genügt. Dann habe ich mal in Internet gesucht und verschiedene Anweisungen gefunden, z.B. hier.


    Damit komme ich auch nicht direkt weiter, weil im Schritt 2 und 3 steht, man soll unter Konfiguration seine Distribution (bei mir Debian 9) und den Webserver wählen (Apache2). Also habe ich http und Apache 2.4 gewählt, dann erhalte ich die Anweisung, ich soll folgendes über die Konsole eingeben:


    Code
    apt-get install apache2


    Damit würde ich doch erst Apache2 installieren!? Also einfach weglassen?


    Dann:


    Da stehen doch die ersten 3 Zeilen zweimal drin, oder sehe ich das falsch? Also auch einfach weglassen?

    Abgesehen davon existierte ja bereits ein /etc/apache2/sites-enabled ! Also alle 6 Zeilen weglassen?


    Die nächsten 3 Zeilen erzeugen /var/customers/... Unterverzeichnisse, diese existieren auch! Also einfach weglassen?


    Spätestens jetzt kann ich nicht mehr sagen, dass mir diese Anweisung wirklich weiterhilft!


    Muss ich a2dismod userdir eingeben? Und wenn ja, mit welchem "userdir"? Muss ich a2enmod headers eingeben?


    Dazu kommt, dass hier nichts gesagt wird über Ports. Muss ich Port 443 einrichten und der Domain zuordnen, in der ich https nutzen möchte?

    Und letztendlich habe ich beim durchsuchen dieses Forums eine ganze Reihe Beiträge gefunden, wo es nicht funktioniert hat und sich die Nutzer ähnlich wie ich temporär ausgeschlossen haben. Deshalb habe ich gefragt, ob es eine Schritt für Schritt Anweisung gibt. Ich finde es schade, dass auch das Wiki sich dazu ausschweigt. Dort steht nur etwas zu Plesk Onyx und Let's Encrypt.

  • Ich kann Dir insofern nicht weiterhelfen, als ich seit einigen Jahren ausschließlich nginx mit Froxlor verwende, aber folgendes kann ich zur Funktionsweise von Froxlor auf Debian mit letsencrypt beauskunften:


    Letsencrypt Certbot ist in Debian 9 an sich als Paket vorhanden und sollte im Normalfall auch installiert werden. In nächster Zeit kann es da zu Problemen kommen, da TLS-SNI-01 deaktiviert wird: https://www.heise.de/security/…-komplett-ab-4283135.html. Eventuell möchtest Du einen Backport verwenden - welchen, weiss ich noch nicht.


    Was tut „userdir“: https://httpd.apache.org/docs/2.4/mod/mod_userdir.html

    Es stellt Heimverzeichnisse von lokalen Usern automatisch zur Verfügung. http://servername/~user verweist auf das Heimverzeichnis von User.

    Ob Du das brauchst, ist Deine Entscheidung.


    Mit Debian 9 wirst Du apache-2.4 verwenden.


    Grundsätzlich funktioniert Letsencrypt so, dass Du wie auf nichteinschalten.de beschrieben einen Alias anlegst, der ein allgemein verfügbares Verzeichnis bereitstellt, in dem Certbot seine Secrets zur Verifizierung ablegt:


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

    Damit kannst Du zumindest einmal den Froxlor Vhost selbst mit TLS absichern. Die Einstellungen im GUI von Froxlor sollten so, wie dort beschrieben ist, stimmen.


    Dadurch, dass Du ein Config-Snippet anlegst: /etc/apache2/conf-enabled/acme.conf und es mit a2enconf acme aktivierst, sollte dieses Verzeichnis global - also für alle Vhosts verfügbar sein, wenn ich nicht irre.


    Die Kombi aus Froxlor-Certbot würde also für jede Domain das gemeinsame Verzeichnis /var/www/froxlor/.well-known/acme-challenge für die Secrets zur Zertifikatsanforderung verwenden.


    Beantwortet das Deine Frage?

  • Dazu kommt, dass hier nichts gesagt wird über Ports. Muss ich Port 443 einrichten und der Domain zuordnen, in der ich https nutzen möchte?

    oh das hatte ich vorausgesetzt

    einmal als admin unter IP und Ports

    sowie dann in den Domain-Einstellungen das Häkchen setzen

    It's me, only me, pure michi 🦆

    RS 1000 SAS G8 | Cyber Quack

    VPS: 50 G7 |B Ostern 2017|200 | Karneval | piko

    WH: SmallEi | Adv17 Family |4000 SE|1000 SE

  • Ich habe es heute unter apache erfolgreich installiert. Falls das Problem noch besteht, melde dich. Dann schreibe ich mal auf, welche Schritte ich gegangen bin. LG

    Zitat

    Webhosting Spezial Mini Aktion +++ Webhosting 8000 SE Aktion

    VPS 200 G8 +++ Root-Server Spring 2019

  • Ich habe es heute unter apache erfolgreich installiert. Falls das Problem noch besteht, melde dich. Dann schreibe ich mal auf, welche Schritte ich gegangen bin. LG

    Ich habe gestern noch an einer anderen Baustelle gearbeitet (Dreamfactory Installation und Konfiguration auf meinem Server), deshalb würde ich das Angebot gerne annehmen. Das wäre dann auch etwas, was Knetcup ins Wiki aufnehmen könnte. Denn da gehört es m.E. nach hin. Einen https Zugang zur eigenen Domain braucht doch eigentlich jeder.

  • Ich mache mich nachher mal dran :)

    Ich habe gestern noch an einer anderen Baustelle gearbeitet (Dreamfactory Installation und Konfiguration auf meinem Server), deshalb würde ich das Angebot gerne annehmen. Das wäre dann auch etwas, was Knetcup ins Wiki aufnehmen könnte. Denn da gehört es m.E. nach hin. Einen https Zugang zur eigenen Domain braucht doch eigentlich jeder.

    Zitat

    Webhosting Spezial Mini Aktion +++ Webhosting 8000 SE Aktion

    VPS 200 G8 +++ Root-Server Spring 2019

  • Hier nun meine Vorgehensweise:


    Anleitung unter Debian9 Let’scrypt für Froxlor einrichten

    =========================================


    1. In der Konsole SSH folgendes eingeben:
      openssl genrsa -out /etc/ssl/private/apache.key 2048
      openssl req -new -x509 -key /etc/ssl/private/apache.key -days 365 -sha256 -out /etc/ssl/certs/apache.crt
      Den Pfade „/etc/ssl/private/apache.key“ brauchen wir später noch!
    2. In Froxlor unter Einstellungen SSL auf „Ja“ stellen.
    3. Danach zur Konfiguration wechseln und dort die Distribution „Debian Stretch“, den Service „ Webserver“ und den Daemon „Apache 2.4“ auswählen.
    4. Die Vorgeschlagene Konfiguration mittels SSH ausführen. (Auch wenn man dies schon getan hat und sich einiges doppelt, ist es kein Problem, weil die vorhanden Punkte automatisch übersprungen werden) Dadurch wird in Froxlor die Datei Datei „.well-known“ angelegt.
    5. Unter den Einstellungen SSL die Einstellungen folgendermaßen ändern:
      Pfad zum SSL-Zertifikat: /etc/ssl/private/apache2.pem
      Pfad zum SSL Private-Key: /etc/ssl/private/apache2.key
      Weiter unten noch Let's Encrypt verwenden aktivieren.
    6. Nun muss noch unter IP und Ports der IP-Port „443“ hinzugefügt werden.
      Dort muss Ist dies ein SSL-Port?: aktiviert werden und die Pfade
      Pfad zum SSL-Zertifikat: /etc/ssl/private/apache2.pem
      Pfad zum SSL Private-Key: /etc/ssl/private/apache2.key
      eingetragen werden.

      Soweit die Grundsätzliche Einrichtung.
    7. Wenn eine Domain Let’scrypt verwenden soll/darf muss das in den Domaineinstellungen aktiviert werden.
      Dort gibt es weiter unten die Einstellungen Webserver SSL-Einstellungen
      Hier muss SSL-IP-Adresse(n): aktiviert werden und natürlich auch SSL Zertifikat erstellen (Let's Encrypt)

      Jetzt noch 5 bis 15 Minuten warten, dann sollte das Zertifikat funktionieren.
    Zitat

    Webhosting Spezial Mini Aktion +++ Webhosting 8000 SE Aktion

    VPS 200 G8 +++ Root-Server Spring 2019

  • Vielen Dank für die Anleitung. Werde ich gleich am Mittwoch ausprobieren. Was mir noch eingefallen ist, dass eventuell eine Firewall, sofern sie installiert wurde noch den eingehenden Verkehr auf Port 443 durchlassen muss. Ich nutze dazu z.B. ufw.

  • Vielen Dank für die Anleitung. Werde ich gleich am Mittwoch ausprobieren. Was mir noch eingefallen ist, dass eventuell eine Firewall, sofern sie installiert wurde noch den eingehenden Verkehr auf Port 443 durchlassen muss. Ich nutze dazu z.B. ufw.

    Das mag sein, dann musst du entsprechend den Port noch freigeben :)

    Zitat

    Webhosting Spezial Mini Aktion +++ Webhosting 8000 SE Aktion

    VPS 200 G8 +++ Root-Server Spring 2019

  • Habe das jetzt ausprobiert, hat leider nicht geklappt. Das Problem ist, dass die Datei apache2.pem nicht angelegt wurde und deshalb auch nicht gefunden wurde. Deshalb ließ sich der Apache2 Server nicht mehr starten. Habe jetzt die ssl conf Datei umbenannt, so dass ich wenigstens der Server wieder starten kann. Wo kommt denn die Datei apache2.pem her. Diese wurde nicht bei der Erstellung des keys mit erzeugt!?

  • Habe jetzt einfach mal auf Verdacht den Eintrag apache2.pem durch apache.crt und den entsprechenden Pfad eingetragen, weil diese Datei habe ich ja erzeugt. Wenn ich mich jetzt verbinden möchte kommt die Fehlermeldung:


    Zitat


    Beim Verbinden mit www.<meine Domain>.de trat ein Fehler auf. SSL hat einen Eintrag erhalten, der die maximal erlaubte Länge überschritten hat. Fehlercode: SSL_ERROR_RX_RECORD_TOO_LONG

    Das kann natürlich ein Effekt meiner eigenwilligen Änderungen sein :) oder ich habe noch nicht lang genug gewartet.

  • Die Apache.pem kommt vermutlich aus den Apache-Configs. Letsencrypt legt seine Zertifikate in /etc/letsencrypt/live/domai.name/ ab. Dort sind je eine cert.pem, chain.pem, fullchain.pem und privkey.pem zu finden.


    Du wirst in aller Regel

    SSLCertificateKeyFile privkey.pem

    und

    SSLCertificateFile fullchain.pem

    verwenden wollen.

    In Froxlor kannst Du für den Froxlor-Host selbst die Zertifikatsname unter Einstellungen/SSL-Einstellungen (/admin_settings.php?page=overview&part=ssl) definieren. Bei „Pfad zum SSL-Zertifikat“ vorgenannte fullchain.pem und „Pfad zum SSL Private-Key“ privkey.pem (beide mit vollem Pfadnamen).

    Noch ein Tip: Wenn Apache die apache.pem und key.pem nicht findet, kannst Du jederzeit auch einen Softlink setzen:

    ln -s /etc/letsencrypt/live/domai.name/fullchain.pem /etc/apache2/ssl/apache2.pem


    (oder so ähnlich). Dann startet auch der Vhost wieder.


    Der Fehlercode SSL_ERROR_RX_RECORD_TOO_LONG bedeutet mit Sicherheit, dass Dir beim Zertifikaterstellen etwas danebengegangen ist. Wahrscheinlich passen CA und Zertifikat nicht zusammen. Apache überträgt http über den https-Port.

  • Ich habe durch einen user hier im Forum keyhelp kennen gelernt. das wird mit einem Befehl auf ein frisches Debian minimal image installiert. Den Rest erledigt das Programm. Inklusive Mailserver und Firewall. Es ist auf Deutsch und hat eine sehr gute Anleitung. Wenn du den Begriff keyhelp googelst wirst du es finden. Dort gibt es auch eine Demo. Lg

    Zitat

    Webhosting Spezial Mini Aktion +++ Webhosting 8000 SE Aktion

    VPS 200 G8 +++ Root-Server Spring 2019

  • Sicher ist das praktisch, aber was lernt man dabei? Früher oder später gibt es ein Problem - und dann?

    Da gebe ich dir recht. Ich habe lange genug mit Froxlor gearbeitet und auch ohne Panel. Wenn es hakt, hilft diese Erfahrung natürlich.

    Zitat

    Webhosting Spezial Mini Aktion +++ Webhosting 8000 SE Aktion

    VPS 200 G8 +++ Root-Server Spring 2019

  • Wenn es hakt, hilft diese Erfahrung natürlich.

    Danke! Ich denke mir nur, dass viele praktische Tools da draußen dazu verleiten, sich mit Dingen auseinanderzusetzen, wo man früher oder später wie der Zauberlehrling dasteht und dann spricht:


    Stehe! stehe!
    denn wir haben
    deiner Gaben
    vollgemessen! –
    Ach, ich merk es! Wehe! wehe!
    Hab ich doch das Wort vergessen!


    Ehe wir uns beklagen, die gerufenen Geister nicht mehr loszuwerden - und das Internet ist derer wahrlich voll.


    Dagegen hilft nur, die Dinge so gut wie möglich zu lernen, zu verstehen und ein Netzwerk an Leuten zu haben, die man notfalls auch in der Eile fragen kann.