Jump to content
Froxlor Forum

SCD

Members
  • Posts

    20
  • Joined

  • Last visited

SCD's Achievements

Apprentice

Apprentice (3/14)

  • First Post
  • Collaborator Rare
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

0

Reputation

  1. 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 ];
  2. 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.
  3. Es funktioniert nun wieder, jedoch ist immer "/" ausgewählt, obwohl der VHost mit einem anderen Verzeichnis verbunden ist.
  4. 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
  5. 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="
  6. Also sind die Beispiele unter doc/example/ noch verkehrt ? Wo genau sind die Settings verkehrt - Wie gesagt mit der altern Froxlor-Version ging es ohne Probleme. 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 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
  7. 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.
  8. Hallo, ich möchte per API alle Domains abfrage, welche für E-Mail Dienste genutzt werden: $response = $froxlor->request("Domains.listing", array("sql_search" => array("isemaildomain" => 1))); Zurück bekomme ich leider nur SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'isemaildomain' in where clause is ambiguous Wo ist mein Fehler ?
  9. Bind funktioniert. Jedoch der Reload von Apache nicht: Wrapper xxx/php-fcgi-starter cannot be accessed: (2)No such file or directory (Ein apache2 restart per Hand hilft dann auch nicht)
  10. Kann ich da in Deutsch schreiben ? Mein Englisch ist nicht so besonders Leider nicht, mit array_merge($acmesh_result, $acmesh_result2); geht es
  11. Ich habe als Workaround erstmal das Löschen der FCGI-Datein in der ConfigIO.php auskommentiert. Beim Testen sind mir noch zwei weitere Fehler aufgefallen: Es werden ja erst die Let's Encrypt Zertifikate erstellt und anschließend Bind neugestartet. So sind die neuen Sub-Domains noch nicht in der DNS bekannt und damit schlägt die Generierung fehl. Zum Nachvollziehen einfach eine Sub-Domain anlegen und sofort ein Zertifikat mit anfordern. Die htpasswd Dateien werden ja auch sofort gelöscht. Hier gibt es dann auch einen 500 Internal Server Error (2)No such file or directory: AH01620: Could not open password file: /etc/apache2/froxlor-htpasswd/1-303b8defc8fb743668b7f584053ffd8a.htpasswd Im neuen GIT ist noch folgender Fehler PHP Notice: Array to string conversion in /var/www/froxlor/lib/Froxlor/Cron/Http/LetsEncrypt/AcmeSh.php on line 392 PHP Warning: implode(): Invalid arguments passed in /var/www/froxlor/lib/Froxlor/Cron/Http/LetsEncrypt/AcmeSh.php on line 393
  12. Manuell gefummelt habe ich nur, weil ich das Zertifikat nicht löschen wollte. Der Fehler war vorher schon da. Kann man nicht erst die Zertifikat erstellen und dann die Konfiguration löschen? Es waren jetzt nur drei Domains. Möchte aber nicht dran denken, wenn alle Domains auf einmal ein Renew bekommen. Und da die beim Upgrade ja alle neu erstellt wurden, laufen die ja auch gemeinsam ab. Edit: Eine andere Möglichkeit. Bei neuen Zertfikaten nur den acme aufrufen aber nicht warten. In der DB die Domain schon unter ssl-settings ohne Gültigkeit eintragen. Der Froxlor Cron guckt dann im nächsten Lauf nach, ob schon ein Zertifikat da ist und übernimmt es dann. Den Renew komplett über acme laufen lassen (Den Cron gibt es ja fehlerweise schon) und beim Wartungsjob nachsehen ob es neue Zertifikate gibt ...
  13. Habe den Fehler: Vor der neuen Domain gab es eine andere Domain, wo ein RENEW fällig war, der nie geklappt hat. Nach eine Manipulation des Datums in der DB gingen die neuen Domain durch. Dabei ist mir aber ein großer Fehler aufgefallen: Bevor die neuen Zertifikate durch acme erstellt werden, werden die FCGI Konfigurationen gelöscht. Dadurch gibt es Internal Server Error bei allen Froxlor Domains weil der Starter nicht mehr da ist ...
  14. Could not get Let's Encrypt certificate for xxx: [Do 10. Okt 17:02:00 CEST 2019] Renew: 'xxx' [Do 10. Okt 17:02:00 CEST 2019] 'xxx' is not a issued domain, skip.
×
×
  • Create New...