Jump to content
Froxlor Forum
  • 0

Mit https/SSL zum Froxlor-Panel


rObbi

Question

Posted

Hallo zusammen,

bin im Forum hier neu angemeldet, nachdem ich schon ein paar Wochen lang immer wieder mal mitlese und manche Zusammenhänge dadurch besser verstehe. Vielen Dank an euch - vor allem an d00p!
In Bezug auf Serveradministration würde ich mich am ehesten als "fortgeschrittenen Anfänger" bezeichnen und wäre daher froh, wenn Antworten auf mein(e) Frage(n) verständlich genug wären. ;)
Ich besitze zwei Server:
Server 1 ist der Produktivserver, auf dem auch zwei Vereine und einige Bekannte als Froxlor-User angelegt sind. (Er wurde schon vor Jahren von Mitarbeitern meines Hosters aufgesetzt.)
Server 2 ist mein Herumprobierserver, bei dem es ziemlich egal ist, wenn mal etwas schief läuft und er ausfällt bzw. aufgrund meiner Spielereien ein Backup eingespielt werden muss.

Jetzt stehe ich vor einem Rätsel:
Beim Server 2 klappt es völlig problemlos, via Subdomain https://froxlor.[domain].de auf das Froxlor-Administrationspanel zu kommen.
Beim (wichtigeren) Server 1 gelingt mir das nicht. Da erhalte ich die Fehlermeldung:

Whoops!
The configuration file lib/userdata.inc.php cannot be read from the webserver.
This mostly happens due to wrong ownership.
Try the following command to correct the ownership:
chown -R c11:c11 /var/www/froxlor

(c11 ist ein Froxlor-User/consumer und kein(!) "normaler" User unter Debian 9. Und als "admin" kann man in Froxlor keine Domain "besitzen", die muss immer einem User/consumer zugeordnet werden.)

Wenn ich mit chown den Ordnerbesitzer auf c11:c11 ändere, dann klappt der Zugang kurzzeitig, aber (vermutlich durch einen Froxlor-Cronjob) ist nach ein paar Minuten der Besitzer wieder froxlorlocal:froxlorlocal und oben geschriebene Fehlermeldung ist wieder da. :(

Beim Server 2 ist der Besitzer www-data:www-data und da gibt es kein Problem bzw. keine Fehlermeldung.
Warum das so ist? Keine Ahnung!

Bei den Debian-Usern existieren auf Server 1 sowohl froxlorlocal als auch www-data, beide sind auch jeweils in der Gruppe des anderen eingetragen.
Aber auch mein Versuch, die Ordnerrechte von froxlor und froxlor/lib von 755 auf 775 zu ändern, brachte nichts, die Fehlermeldung bleibt.

Was mache/denke ich (zur Erinnerung: fortgeschrittener Anfänger ;) ) falsch?
Wo müsste ich bei Server 1 richtig ansetzen?

----

Vielleicht noch eine Erläuterung, warum ich den Zugang über eine Subdomain mit https haben möchte::
Wenn ich die Server-URL [servername].[hostername].de aufrufe, dann wird nur ein selbstsigniertes Zertifikat verwendet, das zugehörige Letsencrypt-Zertifikat (in Froxlor angezeigt) wird offenbar ignoriert.
Das ist für meine "Kunden" natürlich nervig, wenn sie beim Aufruf des Froxlorpanels im Browser nach der Warnung eine Ausnahme für ein Zertifikat festlegen müssen und dann "Verbindung ist unsicher" angezeigt wird.

Recommended Posts

Posted

Okay, das klint etwas wirr, aber sollte lösbar sein. Am besten beschreibst du bitte einmal, was für ein Setup du hast, welche webserver, php, php wie eingebunden? mod_php, fcgid oder fpm? Dann bitte den Inhalt der von froxlor erstellten vhost Datei für froxlor (10_froxlor_*.conf) und dann müssen wir herausfinden, woher der Kunde c11 da kommt das der webserver denkt der benutzer ist derjenige welche.

Posted

Wow, so schnell hatte ich nicht mit einer Antwort gerechnet.
Aber meine hat jetzt gedauert, weil das Antworten plötzlich nicht mehr ging und die Seite ständig neu geladen wurde.
Jetzt sollte es mit einem anderen Browser klappen.

Hier die Inhalte der beiden Dateien:

# 10_froxlor_ipandport_89.200.xxx.xx.443.conf
# Created 15.03.2019 18:35
# Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel.

# 10_froxlor_ipandport_89.200.xxx.xx.80.conf
# Created 15.03.2019 18:35
# Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel.

Also keine Inhalte vorhanden.

Der Webserver ist ein apache2 auf Debian 9.

PHP installiert: 5.2, 5.3, 5.4, 7.0, 7.1

mod_php offenbar mit php5.

"PHP über mod_fcgid/suexec einbinden" ist in Froxlor-Einstellungen aktiviert.

(Ich hoffe, dass meine Antworten sinnvoll/passend zur Frage sind ...)

 

 

 

Posted
40 minutes ago, rObbi said:

mod_php offenbar mit php5.

"PHP über mod_fcgid/suexec einbinden" ist in Froxlor-Einstellungen aktiviert.

Die zwei Sachen schließen sich ja aus, wenn du mod_php nutzt und nichts anderes in froxlor aktiviert hast, dann kannst du die zweite Einstellung gar nicht vornehmen.

Bitte editiere alle deine IP/Port Einträge und setze ein häkchen bei "vHost Container", danach erkennen wir in den beiden Dateien auch etwas mehr ;)

Posted

Ok, ich schätze, dass die Übernahme der Änderungen ein wenig dauern wird (bis z.B. ein Cronjob aktiv wird).

Macht nix, ich muss jetzt eh gleich weg und bin erst abends wieder da ...

Posted

Du kannst den cronjob auch manuell abfeuern:

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

 

Posted
vor 50 Minuten schrieb d00p:

Die zwei Sachen schließen sich ja aus, wenn du mod_php nutzt und nichts anderes in froxlor aktiviert hast, dann kannst du die zweite Einstellung gar nicht vornehmen.

???

Bei "Voreingestellte PHP-Konfiguration für den Froxlor-Vhost"  ist "Froxlor Vhost Config" eingetragen.

Lokaler Benutzer für FCGID (Froxlor Vhost): froxlorlocal

Posted

Ah, ja ...

Jetzt steht im 443 drin:

<VirtualHost 89.200.xxx.xx:443>
DocumentRoot "/var/www/froxlor/"
 ServerName [servername].[hostername].de
  FcgidIdleTimeout 30
  SuexecUserGroup "froxlorlocal" "froxlorlocal"
  <Directory "/var/www/froxlor/">
    <FilesMatch "\.(php)$">
      SetHandler fcgid-script
      FcgidWrapper /var/www/php-fcgi-scripts/froxlor.panel/[servername].[hostername].de/php-fcgi-starter .php
      Options +ExecCGI
    </FilesMatch>
    Require all granted
    AllowOverride All
  </Directory>
 SSLEngine On
 SSLProtocol -ALL +TLSv1 +TLSv1.2
 SSLCompression Off
 SSLHonorCipherOrder On
 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128:AES256:AES:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK
 SSLVerifyDepth 10
 SSLCertificateFile /etc/ssl/froxlor-custom/[servername].[hostername].de.crt
 SSLCertificateKeyFile /etc/ssl/froxlor-custom/[servername].[hostername].de.key
 SSLCACertificateFile /etc/ssl/froxlor-custom/[servername].[hostername].de_CA.pem
 SSLCertificateChainFile /etc/ssl/froxlor-custom/[servername].[hostername].de_chain.pem
</VirtualHost>

 

 

 

Posted

und im 80:

  <Directory "/var/customers/webs/">
    Require all granted
    AllowOverride All
  </Directory>

 

 

Posted

Ehm...wir war nicht klar das du auf Antwort wartest.

On 3/16/2019 at 1:29 PM, rObbi said:

Jetzt steht im 443 drin:

<VirtualHost 89.200.xxx.xx:443>
DocumentRoot "/var/www/froxlor/"
 ServerName [servername].[hostername].de
  FcgidIdleTimeout 30
  SuexecUserGroup "froxlorlocal" "froxlorlocal"
  <Directory "/var/www/froxlor/">
    <FilesMatch "\.(php)$">
      SetHandler fcgid-script
      FcgidWrapper /var/www/php-fcgi-scripts/froxlor.panel/[servername].[hostername].de/php-fcgi-starter .php
      Options +ExecCGI
    </FilesMatch>
    Require all granted
    AllowOverride All
  </Directory>
 SSLEngine On
 SSLProtocol -ALL +TLSv1 +TLSv1.2
 SSLCompression Off
 SSLHonorCipherOrder On
 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128:AES256:AES:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK
 SSLVerifyDepth 10
 SSLCertificateFile /etc/ssl/froxlor-custom/[servername].[hostername].de.crt
 SSLCertificateKeyFile /etc/ssl/froxlor-custom/[servername].[hostername].de.key
 SSLCACertificateFile /etc/ssl/froxlor-custom/[servername].[hostername].de_CA.pem
 SSLCertificateChainFile /etc/ssl/froxlor-custom/[servername].[hostername].de_chain.pem
</VirtualHost>

Der Vhost ist korrekt...da steht auch der user "froxlorlocal" und daher sollte auch die Berechtigung des Verzeichnisses /var/www/froxlor auf dem user froxlorlocal stehen. Woher da bei dir jemals der User "c11" kam kann ich dir nicht sagen...nicht nachvollziehbar

 

On 3/16/2019 at 1:30 PM, rObbi said:

und im 80:

  <Directory "/var/customers/webs/">
    Require all granted
    AllowOverride All
  </Directory>

ich bezweifle das im vhost für port 80 NUR das drinsteht...

 

Dein im Titel angesprochenes "Problem" mit SSL sollte sich durch das aktivieren des Vhost-Containers ja erübrigt haben

Posted

Ha, jetzt habe ich noch einmal reingeschaut und jetzt steht heute im 80er tatsächlich mehr drin:

DocumentRoot "/var/www/froxlor/"
ServerName [servername].[hostername].de
FcgidIdleTimeout 30
SuexecUserGroup "froxlorlocal" "froxlorlocal"
SetHandler fcgid-script
FcgidWrapper /var/www/php-fcgi-scripts/froxlor.panel/[servername].[hostername].de/php-fcgi-starter .php
Options +ExecCGI
Require all granted
AllowOverride All


Das SSL Problem besteht weiterhin.
Da hat sich null getan.

Zu dem User c11:
Unter /var/customers/webs haben alle User-Ordner die Owner:Gruppe c11:c11, c12:c12, c13:c13, ...

Posted
13 minutes ago, rObbi said:

DocumentRoot "/var/www/froxlor/"
ServerName [servername].[hostername].de
FcgidIdleTimeout 30
SuexecUserGroup "froxlorlocal" "froxlorlocal"
SetHandler fcgid-script
FcgidWrapper /var/www/php-fcgi-scripts/froxlor.panel/[servername].[hostername].de/php-fcgi-starter .php
Options +ExecCGI
Require all granted
AllowOverride All

Ich hoffe du hast einfach falsch kopiert, denn DAS ist auch nicht alles...

13 minutes ago, rObbi said:

Das SSL Problem besteht weiterhin.
Da hat sich null getan.

Ja dann sag uns doch bitte mal was du jetzt so gemacht hast, das einzige zu deinem SSL problem das du gesagt hast war das ein selbst-signiertes angezeigt wird anstatt dem Let's Encrypt Zertifikat. Allein schon aufgrund deines falschen Vhosts (was ja nun behoben ist!) konnte das gar nicht funktionieren.

Also, was genau geht jetzt nicht?

Posted

Oh ja, da fehlten Zeilen ...

# 10_froxlor_ipandport_89.200.xxx.xx.80.conf
# Created 16.03.2019 13:27
# Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel.

<VirtualHost 89.200.169.69:80>
DocumentRoot "/var/www/froxlor/"
 ServerName [servername].[hostername].de
  FcgidIdleTimeout 30
  SuexecUserGroup "froxlorlocal" "froxlorlocal"
  <Directory "/var/www/froxlor/">
    <FilesMatch "\.(php)$">
      SetHandler fcgid-script
      FcgidWrapper /var/www/php-fcgi-scripts/froxlor.panel/[servername].[hostername].de/php-fcgi-starter .php
      Options +ExecCGI
    </FilesMatch>
    Require all granted
    AllowOverride All
  </Directory>
</VirtualHost>

Da gab's offenbar wieder ein Problem beim Abschicken des ursprünglichen Posts. Da waren plötzlich Leerzeilen drin, die ich nachträglich dann entfernte ...

Posted

Vielleicht sollte ich noch einmal die Subdomain neu anlegen? Probiere ich nachher mal aus.

Dabei hat sich bisher noch nichts geändert:

Wenn ich die Server-URL [servername].[hostername].de aufrufe, dann wird nur ein selbstsigniertes Zertifikat verwendet, das zugehörige Letsencrypt-Zertifikat (in Froxlor angezeigt) wird offenbar ignoriert.

 

Posted
[root@server1 ~]# a2dissite default
ERROR: Site default does not exist!
[root@server1 ~]# a2dissite 000-default
Site 000-default already disabled
Posted

Hat die Domain und/oder der Server ne IPv6 Adresse welche du in froxlor nicht hinterlegt und den Domains zugewiesen hast?

Posted

Dann nenne mir doch bitte Mal die betreffende Domain, damit ich das reproduzieren kann und ggfls schon was sehe, so ist es echt schwer

Posted

Sodele...na also:

 [servername].[hostername].de ist dein FROXLOR / Server hostname...damit greifst du auf froxlor zu.

Die zweite Domain die du geschickt hast mit 999 die gehört wohl einem Kunden (ich tippe auf c11) - warum lässt du die mit der subdomain froxlor.[domain] auf froxlor zeigen? Dafür ist es nicht gedacht und das erklärt wieso froxlor dann merkt, der php prozess läuft auf kunden c11 und mault daher wegen den Berechtigungen rum.

Du hast da doch mehr manuell rumgespielt als du zugibst :)

Posted

 Zitat: "[servername].[hostername].de ist dein FROXLOR / Server hostname...damit greifst du auf froxlor zu. "

Ja, ich selber sowieso, weil ich längst mein servereigenes Zertifikat am PC durchgewunken habe.

Wenn  https://[servername].[hostername].de funktionieren würde, dann wäre auch für die Kunden alles ausreichend und prima. Tut's aber nicht ...

Daher die Idee mit der Subdomain ...

 

 

Archived

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



×
×
  • Create New...