Jump to content
Froxlor Forum
  • 0
princeofnaxos

SSL virtual hosts

Question

After migrating from syscp, all SSL hosts have empty host files. A comment is there, saying "# no ssl-certificate was specified for this domain, therefore no explicit vhost is being generated".

Looking in lib/Froxlor/Cron/Http/Apache.php, I see that $domain['ssl_cert_file'] must be empty in order to get that message. But where in the domain form should I enter the certificate's filename? There is nothing under "Webserver SSL settings" that looks like that.

 

Share this post


Link to post
Share on other sites

Recommended Posts

  • 0

if Let's encrypt is used (and activated): wait for the cron,

if not, as customer, go to domains - you should see a lock-icon besides every ssl-enabled domain - click on that, you can enter certificate data there

 

Share this post


Link to post
Share on other sites
  • 0

if you want Let's Encrypt - the use froxlor's let's encrypt integration rather then certbot or anything. You won't have to copy'n'paste anything as it's done automatically.

The reason for this behavior is, that the customer is able to set a certificate for his domain on his own because he does not have access to the server, nor should it be necessary that he knows the path to the certificate on the server.

Share this post


Link to post
Share on other sites
  • 0

it's generated via CRONJOB - just give it a few minutes or trigger manually using 

php /var/www/froxlor/scripts/froxlor_master_cronjob.php --letsencrypt --debug

The certificates are stored in froxlor's database and the configs-cronjob reads from there and generates the files and puts them into the corresponding folder specified in the settings.

Share this post


Link to post
Share on other sites
  • 0

chown: invalid user: ‘froxlorlocal:froxlorlocal’

[information] Updating Let's Encrypt certificates

PHP Notice:  Undefined variable: cronlog in /var/www/froxlor.0-10/lib/Froxlor/Cron/Http/LetsEncrypt/LetsEncryptV2.php on line 164

PHP Fatal error:  Uncaught Error: Call to a member function logAction() on null in /var/www/froxlor.0-10/lib/Froxlor/Cron/Http/LetsEncrypt/LetsEncryptV2.php:164

Stack trace:

#0 /var/www/froxlor.0-10/lib/Froxlor/Cron/Http/LetsEncrypt/LetsEncrypt.php(32): Froxlor\Cron\Http\LetsEncrypt\LetsEncryptV2::run()

#1 /var/www/froxlor.0-10/lib/Froxlor/Cron/MasterCron.php(101): Froxlor\Cron\Http\LetsEncrypt\LetsEncrypt::run()

#2 /var/www/froxlor.0-10/scripts/froxlor_master_cronjob.php(20): Froxlor\Cron\MasterCron::run()

#3 {main}

  thrown in /var/www/froxlor.0-10/lib/Froxlor/Cron/Http/LetsEncrypt/LetsEncryptV2.php on line 164

Share this post


Link to post
Share on other sites
  • 0

Current git master is not for production use, it's development.

Also, your first line states that you did not configure the services correctly after adjusting settings.

Share this post


Link to post
Share on other sites
  • 0
4 minutes ago, princeofnaxos said:

Maybe the user is created on fresh install? At least it wasn't created for me. I now did it with 'useradd froxlorlocal'. Does it need a group as well?

Configuration configuration configuration

Share this post


Link to post
Share on other sites
  • 0

I know it is not for production, but I expect you would know about things that don't work?  I'm willing to help.

 

1 minute ago, d00p said:

Configuration configuration configuration

Jaja, schön, but I see nowhere that I need to create the user myself.

Share this post


Link to post
Share on other sites
  • 0
7 minutes ago, princeofnaxos said:

Jaja, schön, but I see nowhere that I need to create the user myself.

Dann würde ich ja Mal unter Configuration -> Distro -> Other (system) gucken...z.b. PHP-FPM, 

Für die anderen Fehler, ersetze $cronlog einfach mit \Froxlor\FroxlorLogger::getInstanceOf()

Share this post


Link to post
Share on other sites
  • 0
16 hours ago, d00p said:

Für die anderen Fehler, ersetze $cronlog einfach mit \Froxlor\FroxlorLogger::getInstanceOf()

I'm using git, so if I make changes, then I can't pull any longer. Better you update the master.

 

16 hours ago, d00p said:

Dann würde ich ja Mal unter Configuration -> Distro -> Other (system) gucken...z.b. PHP-FPM,

Trotzdem finde ich dass es dort nicht ganz klar ist, dass man diesen Nutzer/Gruppe selber anlegen muss. Oder mindestens eine Warnung wenn den nicht existiert. Man sieht ja den Output vom Cronjob nicht, wenn man nicht selber auf der Konsole das Skript ausführt. 

Share this post


Link to post
Share on other sites
  • 0
13 minutes ago, princeofnaxos said:

I'm using git, so if I make changes, then I can't pull any longer. Better you update the master.

Wie wärs dann einfach mit einem PullRequest? Also wenn du helfen willst hilft das mehr - sonst muss ich es sowieso selber durchklicken und fixen

15 minutes ago, princeofnaxos said:

Trotzdem finde ich dass es dort nicht ganz klar ist, dass man diesen Nutzer/Gruppe selber anlegen muss. Oder mindestens eine Warnung wenn den nicht existiert. Man sieht ja den Output vom Cronjob nicht, wenn man nicht selber auf der Konsole das Skript ausführt. 

Deswegen soll man auch nach der Installation ERST die Einstellungen anpassen und DANN soweit nötig ALLE Konifgurations-Schritte durchgehen - da ist alles drin was man braucht, so das man nichts vergisst und nichts noch manuell machen muss.

Share this post


Link to post
Share on other sites
  • 0

Das hört man doch gern :) Und am allerbesten schauste einfach bei uns im IRC vorbei, da kann man Fragen und Probleme auch etwas schneller lösen 

Share this post


Link to post
Share on other sites
  • 0
2 minutes ago, d00p said:

da ist alles drin was man braucht, so das man nichts vergisst und nichts noch manuell machen muss.

Wo steht dann 'useradd froxlorlocal'? Ich finde es nicht (weil ich alle Konfiguration-Schritte durchgegangen bin)

Share this post


Link to post
Share on other sites
  • 0

Configuration -> Distro wählen -> Other (System) -> PHP-FPM

[...]
groupadd -f froxlorlocal
useradd -s /bin/false -g froxlorlocal froxlorlocal
[...]

 

Share this post


Link to post
Share on other sites
  • 0

Das steht da halt nicht, wenn es den user schon gibt...macht ja keinen sinn einen anzulegen den es schon gibt

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By j4mb4l4j4
      Hallo, ich hätte eine Frage da ich aktuell in folgendes Problem laufe.
      Froxlor version: 0.9.39.5 (DB: 201805290)
      Meine Domains bekommen aktuell keine neuen Zertifikate mehr, da der Cronjob der die Letsencrypt Zertifikate erzeugt einen Fehler wirft.
      Gemäß Syspanel bekomme ich die Meldung (customer = mein Kunde, my.domain.com = meine Domain):
      25.03.19 18:51:38 error customer Could not get Let's Encrypt certificate for my.domain.com: Curl: Unknown SSL protocol error in connection to acme-v02.api.letsencrypt.org:443 25.03.19 17:48:28 error froxlor.panel Could not get Let's Encrypt certificate for my.domain.com: Curl: Unknown SSL protocol error in connection to acme-v02.api.letsencrypt.org:443 25.03.19 17:35:04 error customer Could not get Let's Encrypt certificate for my.domain.com: Curl: Empty reply from server 25.03.19 16:47:52 error froxlor.panel Could not get Let's Encrypt certificate for my.domain.com: Curl: Unknown SSL protocol error in connection to acme-v02.api.letsencrypt.org:443 25.03.19 16:43:53 error froxlor.panel Could not get Let's Encrypt certificate for my.domain.com: Curl: Empty reply from server 25.03.19 16:43:53 error customer Could not get Let's Encrypt certificate for my.domain.com: Curl: Unknown SSL protocol error in connection to acme-v02.api.letsencrypt.org:443 25.03.19 16:30:27 error froxlor.panel Could not get Let's Encrypt certificate for my.domain.com: Curl: Empty reply from server 20.03.19 16:55:42 error froxlor.panel Could not get Let's Encrypt certificate for my.domain.com: Curl: Could not resolve host: acme-v02.api.letsencrypt.org 20.03.19 16:50:50 error customer Could not get Let's Encrypt certificate for my.domain.com: Curl: Could not resolve host: acme-v02.api.letsencrypt.org 20.03.19 16:50:20 error froxlor.panel Could not get Let's Encrypt certificate for my.domain.com: Curl: Operation timed out after 0 milliseconds with 0 out of 0 bytes received 09.03.19 16:12:36 error customer Could not get Let's Encrypt certificate for my.domain.com: Curl: Empty reply from server 09.03.19 14:52:02 error customer Could not get Let's Encrypt certificate for my.domain.com: Curl: Empty reply from server 01.03.19 14:54:10 error customer Could not get Let's Encrypt certificate for my.domain.com: Curl: Unknown SSL protocol error in connection to acme-v02.api.letsencrypt.org:443 01.03.19 05:30:01 error customer Could not get Let's Encrypt certificate for my.domain.com: Curl: error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error Leider bekomme ich wenn ich folgenden Befehl ausführe auch keine Meldung, es hängt einfach und passiert nix:
      root@server:/var/run# php -q /var/www/my.domain.com/scripts/froxlor_master_cronjob.php --letsencrypt --debug [information] Updating Let's Encrypt certificates [information] Updating my.domain.com [information] letsencrypt-v2 Using 'https://acme-v02.api.letsencrypt.org' to generate certificate [information] letsencrypt-v2 Using existing account key [information] letsencrypt-v2 Starting certificate generation process for domains [information] letsencrypt-v2 Requesting challenge for my.domain.com Leider sehe ich keine weitere Möglichkeit zum Debugging.
      Wo müsste ich ansetzen um mehr Logs zu bekommen, bzw. kennt jemand den Fehler und kann mir sagen was ich falsch mache ?
      Irgendwie verstehe ich nicht was das Problem ist.
      Auf einem anderen Server mit anderer IP und Froxlor habe ich genau das gleiche Problem.
      Ich kann erfolgreich pingen und telnetten:
      root@server:/var/run# telnet acme-v02.api.letsencrypt.org 443 Trying 2a02:26f0:eb:186::3a8e... Connected to e14990.dscx.akamaiedge.net. Escape character is '^]'. ^CConnection closed by foreign host.  

    • By FearTheDude
      Folgende Situation:
      Ich betreibe einen vServer mit Froxlor als Hostingpanel
      Der docroot von meinedomain.tld liegt unter /var/customers/webs/meinAccount
      Eine SSL Weiterleitung wurde auf meinedomain.tld eingerichtet
      Kunden verwenden ein paar vorinstallierte tools (Webmailer, DB Frontend, Froxlor Panel) über toolname.meinedomain.tld
      Die Tools liegen nicht im docroot von meinedomain.tld sondern unter /var/www/toolname
      Folgendes Problem:
      Die SSL Weiterleitung von http auf https bei der Hauptdomain meinedomain.tld funktioniert nicht, es sei denn, man verwendet eine der Subdomains für die Tools
      Für meinedomain.tld wird anstatt /var/customers/webs/meinAccount der docroot /var/www verwendet
      Vorübergehende Lösung:
      Die Prüfung, ob mod_rewrite in der NN_froxlor_normal_vhost_meinedomain.tld.conf aktiv ist, entfernen
      <IfModule !mod_rewrite.c> Redirect 301 / https://meinedomain.tld/ </IfModule> Dann findet IMMER ein Redirect auf HTTPS statt, wobei hier auch der richtige docroot geladen wird.
      Nachteil:
      Sobald die Configs neu geschrieben werden, ist die Änderung weg.
      Fragen:
      Kann man die mod_rewrite prüfung für die SSL Weiterleitung irgendwo dauerhaft deaktivieren?
      Warum verwendet der vHost Container für http keinen bzw. den falschen docroot?
      Wie kann ich persistente Änderungen an den .conf Dateien für einen vHost vornehmen?
    • By megoo
      Hallo, ich habe in Problem mit dem Einrichten von SSL via  Let's Encrypt. Ich nutze
      froxlor 0.9.39.5-1
      Apache/2.2.22 (Debian)
      Ich möchte für alle Domains SSL mittels Let's Encrypt aktivieren. 
      domain1 dafür entsprechend konfigiert. Funktioniert alles.
      domain2 genauso wie Domain1 konfiguriert (gleiche IP:443, Benutze Let's Encrypt an, ServerAlias-Angabe für Domain: www), der Zugriff via https gibt allerdings den Fehler aus: SSL_ERROR_BAD_CERT_DOMAIN
      Der Browser sagt, das Zertifikat gilt nur für folgende Namen: domain1
      domain2 nutzt also das falsche Zertifikate. 
      Die Debug Ausgabe des froxlor master cronjob sagt:
      [Thu Jul 12 13:28:05 2018] [warn] VirtualHost meineip:443 overlaps with VirtualHost meineip:443, the first has precedence, perhaps you need a NameVirtualHost directive
      Ich hab mir die erzeugten conf Dateien in /etc/apache2/sites-enabled angesehen, dort ist keine NameVirtualHost Anweisung erhalten. Diese eingefügt, Apache neu gestartet, funktioniert alles. Nun überschreibt froxlor diese Einstellung wieder, folglich, wieder das oben beschriebene Problem.
      Wie/wo kann ich das in Froxlor einstellen, global? Oder muss ich für jede Domain eine "Eigene vHost-Einstellungen" festlegen?
      Auf einem anderen Server mit Apache 2.4 und der gleichen Vorgehensweise hat alles problemlos mit einer IP und über 10 Domains funktioniert. Und dort steht keine NameVirtualHost directive in den conf Dateien.
    • By LukasH
      [Dieses Problem hat sich gelöst, ich hab mich doch tatsächlich verlesen, im Einsatz ist nur die .de, die .com ist nur eine Weiterleitung, klar funktioniert die nicht]
       
      ______________________________________________________________________________
       
      Dann habe ich noch ein weiteres Problem und zwar habe ich eine neue Subdomain angelegt, beim versuch ein SSL Zertifikat zu ziehen kommen nun nur die folgenden Fehlermeldungen:
      [Lets Encrypt self-check] Please check http://www.mail.hoerth.eu/.well-known/acme-challenge/_s_fIpGAblEU_T6A9Iej0RV1Wp-gte-xrTeVRu9naPI - 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 Could not get Let's Encrypt certificate for mail.hoerth.eu: Verification ended with error: {"identifier":{"type":"dns","value":"www.mail.hoerth.eu"},"status":"invalid","expires":"2018-06-15T12:01:38Z","challenges":[{"type":"dns-01","status":"invalid","uri":"https:\/\/acme-v01.api.letsencrypt.org\/acme\/challenge\/SXa_3IeDJd19Xg3oVtLd0iaj3H2lKBN_fzM1cZPtguc\/5014287643","token":"mOYe0nDwOyTxrfZc83fmpBVeL1vZesbZrV-t_nkRdZ0"},{"type":"http-01","status":"invalid","error":{"type":"urn:acme:error:dns","detail":"DNS problem: NXDOMAIN looking up A for www.mail.hoerth.eu","status":400},"uri":"https:\/\/acme-v01.api.letsencrypt.org\/acme\/challenge\/SXa_3IeDJd19Xg3oVtLd0iaj3H2lKBN_fzM1cZPtguc\/5014287644","token":"_s_fIpGAblEU_T6A9Iej0RV1Wp-gte-xrTeVRu9naPI","keyAuthorization":"_s_fIpGAblEU_T6A9Iej0RV1Wp-gte-xrTeVRu9naPI.JriXbK73HFGeqTSIPL3Qg0VCDy2Qt0n4wrUZon9dCEM","validationRecord":[{"url":"http:\/\/www.mail.hoerth.eu\/.well-known\/acme-challenge\/_s_fIpGAblEU_T6A9Iej0RV1Wp-gte-xrTeVRu9naPI","hostname":"www.mail.hoerth.eu","port":"80"}]}],"combinations":[[0],[1]]} Ich habe dann mal nachgesehen und der Token existiert defintiv nicht - klar findet ihn Lets Encrypt also nicht, was ist denn gerade bei mir Los?
    • By jonny87
      Guten Morgen liebe Community,
      ich hab schon gesucht hier, aber nicht wirklich was passendes gefunden, darum mach ich jetzt hier nochmal nen Thread auf. Ich nutz Froxlor nun erfolgreich seit über einem Jahr auf zwei Servern, es funktioniert soweit auch alles mit LetsEncrypt und den Zertifikaten.
      Jetzt hab ich nur folgendes Problem, bzw. ist dies möglich, da ich mehrere Kunden über Froxlor auf zwei Servern verwalte, muss ich natürlich auch E-Mails verwalten, und zwar verschlüsselt. Kann man das über Froxlor machen? Sprich, dass die Kunden ihre Emails über
      imap.kunde1.de & smtp.kunde1.de sowie imap.kunde2.de & smtp.kunde2.de usw. abrufen können. 
      Momentan muss man ja bzw. so hat es mein Admin gemacht, ein Zertifikat für alle hinterlegen, welches auch nicht automatisch per Script geupdatet wird?! -> Ist das so richtig?
      Oder müssen alle Kunden ihre E-Mails per imap.hauptdomain.de abrufen? 
       
       
       
       
       




×
×
  • Create New...