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 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? 
       
       
       
       
       
    • By Kyle Willets
      =================================================================================================================
       Package                       Arch                   Version                         Repository            Size
      =================================================================================================================
      Reinstalling:
       proftpd                       x86_64                 1.3.5e-4.el7                    epel                 3.7 M
       proftpd-mysql                 x86_64                 1.3.5e-4.el7                    epel                  50 k
      Transaction Summary
      =================================================================================================================
      Reinstall  2 Packages
      Total download size: 3.7 M
      Installed size: 9.7 M
      Is this ok [y/d/N]: y
      Downloading packages:
      (1/2): proftpd-1.3.5e-4.el7.x86_64.rpm                                                    | 3.7 MB  00:00:00
      (2/2): proftpd-mysql-1.3.5e-4.el7.x86_64.rpm                                              |  50 kB  00:00:00
      -----------------------------------------------------------------------------------------------------------------
      Total                                                                            4.0 MB/s | 3.7 MB  00:00:00
      Running transaction check
      Running transaction test
      Transaction test succeeded
      Running transaction
        Installing : proftpd-1.3.5e-4.el7.x86_64                                                                   1/2
        Installing : proftpd-mysql-1.3.5e-4.el7.x86_64                                                             2/2
        Verifying  : proftpd-mysql-1.3.5e-4.el7.x86_64                                                             1/2
        Verifying  : proftpd-1.3.5e-4.el7.x86_64                                                                   2/2
      Installed:
        proftpd.x86_64 0:1.3.5e-4.el7                        proftpd-mysql.x86_64 0:1.3.5e-4.el7
      Complete!
      [root@s128426 ~]# mv "/etc/proftpd/proftpd.conf" "/etc/proftpd/proftpd.conf.frx.bak"
      mv: cannot stat ‘/etc/proftpd/proftpd.conf’: No such file or directory
      [root@s128426 ~]# ^C
      [root@s128426 ~]# cd /etc/proftpd/
      -bash: cd: /etc/proftpd/: No such file or directory
       

      I am unable to setup ProFTP. I am using the latest version of Centos 7 and PHP 7. It says it installed, but yeah as ya can see. With the SSL it says to config something but does nto say what. So was wondering if anyone had any tips on how to get Lets Encypt working properly.
      Thank You.




×
×
  • Create New...