April 13, 20232 yr Hallo, ich habe ein Upgrade auf Froxlor 2 durchgeführt. Leider funktionieren nun einige Sachen nicht mehr, die vorher in der alten Froxlor-Version ohne Probleme funktioniert haben: API: Es gibt nur noch die Fehlermeldung: Unauthenticated. Please provide api user credentials. (auch mit der neuen Version unter docs/examples) Domain editieren: Pathauswahl ist leer. HTTP Strict Transport Security (HSTS) ebenfalls - Im Header von VHosts steht dann Header always set Strict-Transport-Security "max-age=" Admin / System / Settings: Darstellungfehler bei Froxlor VirtualHost settings (unter demo.froxlor.org nachzustellen wenn bei IP&Ports bei keiner IP ein vHost-Container geschrieben wird) Debian 11.6 / Apache2 / ProFTPD / Postfix / Dovecot / FCGI Es wird kein eigener VHost für Froxlor geschrieben sondern liegt als Unterverzeichnis der Server-Domain Das Homeverzeichnis der Kunden liegt unter /home/xxx/webxxx. Froxlor läuft unter einem eigenen Benutzer (nicht www-data) unter PHP 7.4 (7.4.33-5+0~20230409.78+debian11~1.gbpa1ea7f). Wenn ich per chroot auf diesen Wechsel kann ich ohne Probleme in den home-Verzeichnis der Benutzer und Unterverzeichnisse wechseln.
April 13, 20232 yr 23 minutes ago, SCD said: API: Es gibt nur noch die Fehlermeldung: Unauthenticated. Please provide api user credentials. (auch mit der neuen Version unter docs/examples) https://docs.froxlor.org/latest/general/migration-guide.html#http-authentication-for-api-api-endpoints 24 minutes ago, SCD said: Pathauswahl ist leer. Falsche settings/Berechtigungen, funktioniert im Test super. 25 minutes ago, SCD said: HTTP Strict Transport Security (HSTS) ebenfalls - Im Header von VHosts steht dann Header always set Strict-Transport-Security "max-age=" Kann ich ebenso nicht reproduzieren. 25 minutes ago, SCD said: Admin / System / Settings: Darstellungfehler bei Froxlor VirtualHost settings (unter demo.froxlor.org nachzustellen wenn bei IP&Ports bei keiner IP ein vHost-Container geschrieben wird) Bitte spezifizieren, verstehe nicht was du meinst 26 minutes ago, SCD said: Debian 11.6 / Apache2 / ProFTPD / Postfix / Dovecot / FCGI Es wird kein eigener VHost für Froxlor geschrieben sondern liegt als Unterverzeichnis der Server-Domain Das Homeverzeichnis der Kunden liegt unter /home/xxx/webxxx. Verstehe ich ebenso nicht. Es wird ein vhost für jede IP/port (froxlor vhost) erstellt. Je nach settings unterscheidet sich der Inhalt natürlich...wie auch schon bei Version 0.10.x, da hat sich wenig geändert. Was das Homeverzeichnis der Kunden damit zu tun hat kann ich auch nicht nachvollziehen. 29 minutes ago, SCD said: Froxlor läuft unter einem eigenen Benutzer (nicht www-data) unter PHP 7.4 (7.4.33-5+0~20230409.78+debian11~1.gbpa1ea7f). Wenn ich per chroot auf diesen Wechsel kann ich ohne Probleme in den home-Verzeichnis der Benutzer und Unterverzeichnisse wechseln. Ich verstehe nicht wo hier eine Frage/ein Problem ist?
April 13, 20232 yr Author vor 26 Minuten schrieb d00p: https://docs.froxlor.org/latest/general/migration-guide.html#http-authentication-for-api-api-endpoints Also sind die Beispiele unter doc/example/ noch verkehrt ? vor 27 Minuten schrieb d00p: Falsche settings/Berechtigungen, funktioniert im Test super. Wo genau sind die Settings verkehrt - Wie gesagt mit der altern Froxlor-Version ging es ohne Probleme. vor 29 Minuten schrieb d00p: vor 58 Minuten schrieb SCD: HTTP Strict Transport Security (HSTS) ebenfalls - Im Header von VHosts steht dann Header always set Strict-Transport-Security "max-age=" Kann ich ebenso nicht reproduzieren. Wenn Du in eine Domain änderst, in der HSTS in der DB auf 0 steht wird diese im Panel in nicht ausgeben und beim nächsten Speichern steht dann auch <Leer> in der Datenbank vor 33 Minuten schrieb d00p: vor einer Stunde schrieb SCD: Admin / System / Settings: Darstellungfehler bei Froxlor VirtualHost settings (unter demo.froxlor.org nachzustellen wenn bei IP&Ports bei keiner IP ein vHost-Container geschrieben wird) Bitte spezifizieren, verstehe nicht was du meinst Wenn Du unter https://demo.froxlor.org/admin_ipsandports.php?page=ipsandports alle vHost-Container deaktivierst und dann unter https://demo.froxlor.org/admin_settings.php?page=overview gehst, siehst Du was ich meine. Es kommt dann Froxlor VirtualHost settings<br><br><small class="text-danger">None of the IPs and ports has the "Create vHost-Container" option enabled, many settings here will not be available</small> Habe es in der Demo mal so eingestellt. Weiß nicht wann genau der Reset kommt. Alles weitere sind keine Fragen sondern nur Informationen zum System auf dem Froxlor läuft
April 14, 20232 yr 8 hours ago, SCD said: Also sind die Beispiele unter doc/example/ noch verkehrt ? nein? Wenn du apache + php-fpm nutzt, vergiss nich das häcken bei "Übergeben von HTTP AUTH BASIC/DIGEST-Headern von Apache an PHP" in der für froxlor verwendeten php-config. 8 hours ago, SCD said: Wo genau sind die Settings verkehrt - Wie gesagt mit der altern Froxlor-Version ging es ohne Probleme. Kenne dein system nicht, aber grundsätzlich muss für das "Pfadauswahl"-Feature der froxlor user ja berechtigungen zum lesen der customer-directories haben. Normal packt froxlor hierfür den froxlor-user in die gruppe des jeweiligen kunden...und "ging in der alten Version" hilft uns halt so gar nicht, wie du vllt gemerkst hast gab es da 2-3 Änderungen in 2.0 8 hours ago, SCD said: Wenn Du unter https://demo.froxlor.org/admin_ipsandports.php?page=ipsandports alle vHost-Container deaktivierst und dann unter https://demo.froxlor.org/admin_settings.php?page=overview gehst, siehst Du was ich meine. jo, thx, wird gefixed
April 14, 20232 yr Author Hallo, ich habe nun etwas debuggt. Es liegt nicht an den Berechtigungen: customer_domains.php (Zeile 276): $pathSelect = FileDir::makePathfield($userinfo['documentroot'], $userinfo['guid'], $userinfo['guid'], $result['documentroot']); In $pathSelect['select_var'] stehen alle Pfade drin. Es wird aber unter /lib/formfields/customer/domains/formfield.domains_edit.php auf $pathSelect['value'] zugegriffen. Ich habe mal die Funktion makePathfield Froxlor 1 mit Froxlor 2 verglichen: Froxlor 1: if (sizeof($dirList) > 0) { $_field = ''; foreach ($dirList as $dir) { if (strpos($dir, $path) === 0) { $dir = substr($dir, strlen($path)); // docroot cut off of current directory == empty -> directory is the docroot if (empty($dir)) { $dir = '/'; } $dir = self::makeCorrectDir($dir); } $_field .= \Froxlor\UI\HTML::makeoption($dir, $dir, $value); } $field = array( 'type' => 'select', 'value' => $_field ); } else { // $field = $lng['panel']['dirsmissing']; // $field = '<input type="hidden" name="path" value="/" />'; $field = array( 'type' => 'hidden', 'value' => '/', 'note' => $lng['panel']['dirsmissing'] ); } Froxlor 2: if (sizeof($dirList) > 0) { $_field = []; foreach ($dirList as $dir) { if (strpos($dir, $path) === 0) { $dir = substr($dir, strlen($path)); // docroot cut off of current directory == empty -> directory is the docroot if (empty($dir)) { $dir = '/'; } $dir = self::makeCorrectDir($dir); } $_field[$dir] = $dir; } $field = [ 'type' => 'select', 'select_var' => $_field, 'selected' => $value ]; } else { $field = [ 'type' => 'hidden', 'value' => '/', 'note' => lng('panel.dirsmissing') ]; } Vermutlich ist die fett geschriebene Zeile in V2 verkehrt ? Dann bleibt noch das HSTS-Problem. Dies kann man wie folgt unter https://demo.froxlor.org/customer_domains.php?page=domains&action=edit&id=2 nachstellen (zumindest in Firefox): Einen Integer Wert größer 0 unter HTTP Strict Transport Security (HSTS) eintragen und die Einstellung neu laden. Der Wert steht wie erwartet drin. Nun eine 0 eintragen und neu laden. Anstelle von 0 steht nun nichts in diesen Feld. Und deshalb im VHost dann Header always set Strict-Transport-Security "max-age=" Edited April 14, 20232 yr by SCD Vergleich V1 und V2 hinzugefügt
April 14, 20232 yr 17 minutes ago, SCD said: Vermutlich ist die fett geschriebene Zeile in V2 verkehrt Nein, schau in den formfield.templates.wie die selectbox aufgebaut wird, das ist schon richtig so eigentlich. Ich kann das später auf nem Testsystem Mal nachstellen. Hab aktuell im Urlaub nicht viel Zeit am PC, da schimpft die Frau 19 minutes ago, SCD said: Der Wert steht wie erwartet drin. Nun eine 0 eintragen und neu laden. Anstelle von 0 steht nun nichts in diesen Feld. Und deshalb im VHost dann Werd ich in dem Zuge dann auch nachschauen, kann sein das ich da tatsächlich noch nie von 0 auf einen Wert und dann wieder auf 0 zurück bin, das findet sich sicher Danke fürs ausgiebige debuggen.
April 14, 20232 yr Author lib/formfields/customer/domains/formfield.domains_edit.php: 'path' => [ 'label' => lng('panel.path'), 'desc' => (Settings::Get('panel.pathedit') != 'Dropdown' ? lng('panel.pathDescriptionSubdomain').(Settings::G 'type' => $pathSelect['type'], 'select_var' => $pathSelect['value'], 'selected' => $pathSelect['value'], 'value' => $pathSelect['value'], 'note' => $pathSelect['note'] ?? '', ], aber lib/formfields/customer/domains/formfield.domains_add.php 'path' => [ 'label' => lng('panel.path'), 'desc' => (Settings::Get('panel.pathedit') != 'Dropdown' ? lng('panel.pathDescriptionSubdomain').(Settings::G 'type' => $pathSelect['type'], 'select_var' => $pathSelect['select_var'] ?? '', 'selected' => $pathSelect['value'], 'value' => $pathSelect['value'], 'note' => $pathSelect['note'] ?? '', ], Und bei anlegen von neuen Sub-Domains funktioniert es
April 14, 20232 yr jo fürs pathselect sollte folgender patch das problem beheben: diff --git a/lib/formfields/customer/domains/formfield.domains_edit.php b/lib/formfields/customer/domains/formfield.domains_edit.php index 2374029b..6d89369c 100644 --- a/lib/formfields/customer/domains/formfield.domains_edit.php +++ b/lib/formfields/customer/domains/formfield.domains_edit.php @@ -57,7 +57,7 @@ return [ 'label' => lng('panel.path'), 'desc' => (Settings::Get('panel.pathedit') != 'Dropdown' ? lng('panel.pathDescriptionSubdomain').(Settings::Get('system.documentroot_use_default_value') == 1 ? lng('panel.pathDescriptionEx') : '') : null), 'type' => $pathSelect['type'], - 'select_var' => $pathSelect['value'], + 'select_var' => $pathSelect['select_var'] ?? '', 'selected' => $pathSelect['value'], 'value' => $pathSelect['value'], 'note' => $pathSelect['note'] ?? '',
April 15, 20232 yr Author Es funktioniert nun wieder, jedoch ist immer "/" ausgewählt, obwohl der VHost mit einem anderen Verzeichnis verbunden ist.
April 15, 20232 yr Auch unterhalb des Kunden-Heimatverzeichnisses? Diese Pfadauswahl ist etwas eingeschränkt/einschränkend. Du kannst halt nur ordner wählen die es auch gibt. Sonst muss ich das hier bei uns Mal debuggen, kann vieles sein. Wie gesagt beim Testsystem mit ein paar Ordnern ging das eigentlich immer super. Nutzen tun wir selbst diese Feature halt nicht wirklich kommt noch aus syscp Zeiten
April 15, 20232 yr Author Ja, die Domain ist mit /html/domain verknüpft. Wenn ich die Domain editieren möchte ist jedoch "/" aktiv /html/domain ist jedoch in der Liste vorhanden.
April 15, 20232 yr /html/domain oder /var/customers/webs/[kunde]/html/Domainbitte eindeutige.aussagen treffen sonst wird das helfen schwer
April 15, 20232 yr 13 minutes ago, SCD said: Wenn ich die Domain editieren möchte ist jedoch "/" aktiv /html/domain ist jedoch in der Liste vorhanden. Also kunde.editieren oder als admin?
April 15, 20232 yr Author Kann es sein, das folgende Zeile fehlt - dann funktioniert es nämlich lib/Froxlor/FileDir.php } elseif ($fieldType == 'dropdown') { $dirList = self::findDirs($path, $uid, $gid); natcasesort($dirList); if (sizeof($dirList) > 0) { $_field = []; foreach ($dirList as $dir) { if (strpos($dir, $path) === 0) { $dir = substr($dir, strlen($path)); // docroot cut off of current directory == empty -> directory is the docroot if (empty($dir)) { $dir = '/'; } $dir = self::makeCorrectDir($dir); } $_field[$dir] = $dir; } $field = [ 'type' => 'select', 'select_var' => $_field, 'selected' => $value, 'value' => $value ];
Create an account or sign in to comment