Jump to content
Froxlor Forum

rseffner

Members
  • Posts

    216
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by rseffner

  1. Ich habe FCGID aktiviert, falls das eine Rolle spielt. Das Ändern der PHP-Konfiguration unter System -> Einstellungen -> Froxlor VirtualHoste Einstellungen führt leider nur zu: error.not in option Was habe ich falsch gemacht?
  2. Drücke ich einen der Sortierpfeile neben "In Verwendung für Domain(s) unter den PHP-Konfigurationen, erhalte ich folgenden Fehler: 500 SQLSTATE[42S22]: Column not found: 1054 Unknown column 'domains' in 'order clause' Ist das eine SYSCP-Leiche oder ein aktueller Bug? An der Stelle würde ich mir sogar Sortierung "in zwei Ebenen" wünschen: primär nach Kurzbeschreibung und innerhalb dieser Trefferblöcke dann nach Domain.
  3. Ich konnte das nicht nochmal reproduzieren. Also: kein Fehler.
  4. Ich habe eine DOMAIN.TLD für die ich SSL mit LE aktiviere, aber auch einen manuellen CAA setze. Multiple CAA ist laut RFC erlaubt. Im Froxlor DNS-Editor unter DNS-Zone sehe ich dann beide CAA, meinen und den automagisch generierten für LE (weil ich das in den Settings von Froxlor so wünschte). In der physischen Zone unter /etc/bind dann allerdings fehlt der LE-CAA - Froxlor schreibt den gar nicht. Füge ich nun noch einen manuellen CAA für LE der Zone hinzu, zeigt der Editor dann 3 CAA (2 davon LE) und in der Zone landet je einer (LE und meiner; so wie ich das eigentlich erreichen will). Ich vermute hier einen kleinen Logikbug. [UPDATE] Inzwischen stehen im Zonefile doch 2 LE CAA Einträge - ich bin sicher das war gerade nicht so, LE hatte sich ja auch beschwert, das die CAA nicht zuließ, ein Zertifikat auszustellen.
  5. Danke fürs genau Hingucken. Das war unnötiger Lärm, den ich dadurch gemacht habe, sorry.
  6. Das Entfernen von "-q" am php ändert nix an der Ausgabe. Ich habe direkt über "FileDir::safe_exec('chown -R ' . $user . ':' . $group . ' ' . escapeshellarg($_mypath));" in der Funktion validateOwnership der MasterCron.php mal folgendes hinzugefügt: $output->writeln('chown -R ' . $user . ':' . $group . ' ' . escapeshellarg($_mypath)); Die Ausgabe ist nun: root@froxlor /var/www/php-fcgi-scripts/ckt/tools.***.de # /usr/bin/php /var/www/html/froxlor/bin/froxlor-cli -vvv froxlor:cron 'tasks' Checking froxlor file permissions... chown -R froxlorlocal:froxlorlocal '/var/www/html/froxlor/' sh: 0: getcwd() failed: No such file or directory OK Running "tasks" job root@froxlor /var/www/php-fcgi-scripts/ckt/tools.***.de # chown -R froxlorlocal:froxlorlocal '/var/www/html/froxlor/' root@froxlor /var/www/php-fcgi-scripts/ckt/tools.***.de # Der aufzurufende Befehl funktioniert also grundsätzlich.
  7. Hallo, wie kann ich der Ursache für folgendes Verhalten auf den Grund gehen, wenn potenziertes "verbose" nichts hilft? root@froxlor /var/www/php-fcgi-scripts/ckt/tools.***.de # /usr/bin/php -q /var/www/html/froxlor/bin/froxlor-cli -vvv froxlor:cron 'tasks' Checking froxlor file permissions...sh: 0: getcwd() failed: No such file or directory OK Running "tasks" job
  8. Ja, dass das im UI ne Menge Arbeit bedeuten würde ist mir klar. Ich möchte erstmal wissen, ob die %d Ersetzung von der Adressberechtigung auf die Domainberechtigung wechselt. Man könnte das ja als Tipp in die Doku aufnehmen. Die Kür wäre dann, wenn ein DB:Profi mal schaut wie man diese Anfrage auf alle Domains des Kunden, zu dem das Saale-Login passt, erweitert.
  9. Hallo, froxlor kommt ja mit einer Datenbankabfrage für den postfix-Parameter smtpd-sender-login-maps, die das SASL-Login mit der MAIL-FROM Adresse abgleicht - sprich tim@example.com kann auch nur als tim@example.com versenden, wenn man das aktiviert. Nun habe ich hier aber häufig Anwendungsfälle, in denen tim auch als timea@example.com (gleicher domainpart) oder sogar tim@example.de (abweichender, aber dem Froxlor-Kunden zugeordneter domainpart) versenden können soll. Ich frage mich, ob man (also ich jetzt individuell) dazu nicht die SQL-query abändern könnte und wenn ja wie: Wir haben: SELECT DISTINCT username FROM mail_users WHERE email in ((SELECT mail_virtual.email_full FROM mail_virtual WHERE mail_virtual.email = '%s' UNION SELECT mail_virtual.destination FROM mail_virtual WHERE mail_virtual.email = '%s')); Das "%s" steht laut postfix-Doku für "address". Wenn der SASL tim@example.com also als tim@example.com oder timea@example.com versenden dürfen soll, müsste es doch genügen, das erste Vorkommen von "%s" durch "%d" zu ersetzen - nicht? SELECT DISTINCT username FROM mail_users WHERE email in ((SELECT mail_virtual.email_full FROM mail_virtual WHERE mail_virtual.email = '%d' UNION SELECT mail_virtual.destination FROM mail_virtual WHERE mail_virtual.email = '%s')); Ferner scheint das auch nur so mit catch-all-Konten zu klappen (zumindest aus SQL-Sicht), ich bin mir nicht klar ob postfix dann noch localpart und domainpart durchprobiert. Nun lässt sich das doch sicher auch so bauen, dass ein beliebiges Konto eines Froxlor-Kunden im Namen aller Nutzer und Domains des Kunden versenden dürfte. Das verkompliziert das SELECT dann, weil über die Kunde-ID gegangen werden muss. Gibt es hier SQL-Kenntnisse, die das ermöglichen würden?
  10. Problem beseitigt.
  11. UPDATE Es hat nichts mit Domainanlegen zu tun. Ich habe in einem anderen Froxlor globale Settings geändert und erhalten den Fehler nun auch dort ;-( /usr/bin/php8.1 -q /var/www/webs/***/bin/froxlor-cli froxlor:cron 'tasks' --debug # der Fehler kommt erst NACH der letzten Domian in der debug-Ausgabe /usr/bin/php8.1 -q /var/www/webs/***/bin/froxlor-cli froxlor:cron 'tasks' -v /usr/bin/php8.1 -q /var/www/webs/***/bin/froxlor-cli froxlor:cron 'tasks' -vv /usr/bin/php8.1 -q /var/www/webs/***/bin/froxlor-cli froxlor:cron 'tasks' -vvv Bringt leider auch keine Spur.
  12. Erst die Tage das letzte Update (2.0.13) per git eingespielt, dann gestern zwei Domains anlegen wollen und nun per cron task aller 5 Minuten das hier: PHP Fatal error: Uncaught TypeError: Froxlor\Dns\DnsEntry::__construct(): Argument #4 ($prio) must be of type int, null given, called in /var/www/webs/***/lib/Froxlor/Dns/Dns.php on line 283 and defined in /var/www/webs/***/lib/Froxlor/Dns/DnsEntry.php:47 Stack trace: #0 /var/www/webs/***/lib/Froxlor/Dns/Dns.php(283): Froxlor\Dns\DnsEntry->__construct() #1 /var/www/webs/***/lib/Froxlor/Cron/Dns/Bind.php(118): Froxlor\Dns\Dns::createDomainZone() #2 /var/www/webs/***/lib/Froxlor/Cron/Dns/Bind.php(69): Froxlor\Cron\Dns\Bind->walkDomainList() #3 /var/www/webs/***/lib/Froxlor/Cron/System/TasksCron.php(276): Froxlor\Cron\Dns\Bind->writeConfigs() #4 /var/www/webs/***/lib/Froxlor/Cron/System/TasksCron.php(79): Froxlor\Cron\System\TasksCron::rebuildDnsConfigs() #5 /var/www/webs/***/lib/Froxlor/Cli/MasterCron.php(134): Froxlor\Cron\System\TasksCron::run() #6 /var/www/webs/***/vendor/symfony/console/Command/Command.php(298): Froxlor\Cli\MasterCron->execute() #7 /var/www/webs/***/vendor/symfony/console/Application.php(1040): Symfony\Component\Console\Command\Command->run() #8 /var/www/webs/***/vendor/symfony/console/Application.php(301): Symfony\Component\Console\Application->doRunCommand() #9 /var/www/webs/***/vendor/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun() #10 /var/www/webs/***/bin/froxlor-cli(64): Symfony\Component\Console\Application->run() #11 {main} thrown in /var/www/webs/***/lib/Froxlor/Dns/DnsEntry.php on line 47 Habe die Domains wieder gelöscht, aber das Problem besteht immer noch. Kann man das irgendwie debuggen - ist doch sicher was in der SQL gelandet, was der DNS-Conde nicht verkraftet?
  13. Dann ignoriere meine grep-Zählerei bitte. Die hat keine scopes und Verzeichnisse berücksichtigt.
  14. Ich habe noch eine Domain ohne LE gefunden. Dort geht es jetzt (mit eingespieltem Patch).
  15. Da es im Code von Froxlor dutzende Vorkommnisse von instanceof mit \ aber auch ähnlich viele ohne gibt, wirft das die Frage auf, ob da noch mehr gefixt werden sollte. Liegts an der eingesetzten PHP-Version oder worauf bezieht sich "jenachdem"?
  16. Hatte ich das nicht geschrieben. Das war natürlich sichergestellt.
  17. Ich habe in den Einstellungen als Validierungsresolver für LE einmal 8.8.8.8 und einmal nichts probiert. Beide, also 8.8.8.8 und auch 127.0.0.1 liefern auf die Domain und die Subdumain www einen A-record, der der IP, die der Domain zugeordnet ist, entspricht. Dennoch erhalte ich beim Versuch ein LE-Zertifikat für die Domain im Panel zu aktivieren die Meldung "Die DNS-Einträge der Domain enhalten keine der gewählten IP Adressen. Let's Encrypt Zertifikats-Erstellung ist nicht möglich." Besonderheit ist hier vielleicht, dass ich ausnahmsweise mal nicht di DNS-Zone verwalte. Was übersehe ich?
  18. Update : Query geht nun auch für catchall-Adressen / es wird ggf. für rspamd das Symbol BYPASS_VIRUS_CHECK gesetzt, dazu muss noch die /etc/rspamd/local.d/multimap.conf erweitert (oder angelegt werden) BYPASS_VISRUS_CHECK { type = "rcpt"; map = "file:///var/lib/rspamd/virus_lovers.inc"; symbol = "BYPASS_VIRUS_CHECK"; score = 0.0; } froxlor2rspamd
  19. Ich hatte hier eine Version die Mails doppelt signiert mit SHA und ellyptischen Kurven - da letzteres noch nicht viel Support hat, jetzt die abgespeckte Version #!/bin/bash chown root._rspamd /etc/postfix/dkim/* SIGNFILE=/tmp/dkim_signing.conf echo "# If false, messages with empty envelope from are not signed" >$SIGNFILE echo "allow_envfrom_empty = true;" >>$SIGNFILE echo "# If true, envelope/header domain mismatch is ignored" >>$SIGNFILE echo "allow_hdrfrom_mismatch = true;" >>$SIGNFILE echo "# If true, multiple from headers are allowed (but only first is used)" >>$SIGNFILE echo "allow_hdrfrom_multiple = false;" >>$SIGNFILE echo "# If true, username does not need to contain matching domain" >>$SIGNFILE echo "allow_username_mismatch = true;" >>$SIGNFILE echo "# If false, messages from local networks are not selected for signing" >>$SIGNFILE echo "sign_local = true;" >>$SIGNFILE echo "# If false, messages from domains not defined here will not be signed" >>$SIGNFILE echo "try_fallback = false;" >>$SIGNFILE echo "symbol = "DKIM_SIGNED";" >>$SIGNFILE echo "use_domain = "envelope";" >>$SIGNFILE echo "domain {" >>$SIGNFILE cat /etc/postfix/dkim/dkim-keys.conf | while read LINE; do DOMAIN=`echo $LINE | awk -F: '{ print $2 }'` echo " $DOMAIN {" >>$SIGNFILE KEY=`echo $LINE | awk -F: '{ print $3 }'` echo " path = \"$KEY\";" >>$SIGNFILE SELECTOR=`echo $KEY | awk -F/ '{ print $5 }' | awk -F. '{ print $1 }'` echo " selector = \"$SELECTOR\";" >>$SIGNFILE echo " }" >>$SIGNFILE done echo "}" >>$SIGNFILE cp $SIGNFILE /etc/rspamd/local.d/dkim_signing.conf systemctl reload rspamd rm $SIGNFILE
  20. Verrätst Du bitte, welche Datei(en) betroffen sind - ich habe hier ja hauptsächlich apt-Installationen. Gefunden
  21. Ich bin im froxlor 2.0.7 als Admin angemeldet und möchte geänderte "Domaineinstellungen" speichern. Nach Druck auf den nun einzigen Knopf "Speichern" ganz am Ende der Seite scrollt diese mit dem Eingabefokus auf die erste IP-Adresse unter "Webserver-Einstellungen" zurück, die Änderungen werden aber durch den cronjob nicht durchgeführt und sind bei erneutem Aufrufen der "Domaineinstellungen" auch wieder weg (z.B. VHost-Settings oder Schalter zur Vererbung an Subdomains). Das tritt NICHT bei allen meinen Installationen auf, gemeinsam haben die mit dem Fehler u.a. = im froxlor konfigurierte IPv6-Adressen (und genau dort sitzt nach dem scrollen der Fokus). Normal müsste er ja auf die Liste mit Domains zurückspringen. Scrolle ich nach dem Speichern-Druck durch die Seite, kann kein keine Fehlermeldung finden. Wie können wir das debuggen.
  22. Die haben eben keine Präfixe. Setze ich {CRYPT} gehts dann - erschließt sich mir nun auch dank Deines Tips mit doveadm pw -l. Wie alt müssen diese Kennwörter wohl sein ... aus SYSCP-Zeiten?
  23. Einfach ein {CRYPT} direkt an den Anfang der Passworstrings in der Spalte password_enc bei ausschließlich den Einträgen die nicht mit "{" beginnen hilft.
  24. Zu BLF-CRYPT schrieb ich doch nur, dass das gesetzt wird, wenn ich jetzt mit froxlor2 ein Kennwort setze. Diese funktionieren dann übrigens. Ich konnte es auf den ersten Typ eingrenzen, Kennwörter, die kein "{***-CRYPT gesetzt}" haben. Vielleicht kann man die ja um {irgendwas-CRYPT}$irgendwas am Begin ergänzen und dann gehts wieder?
×
×
  • Create New...