Solutions
-
d00p's post in Froxlor upgrade cannot be completed (Froxlor: 0.10 -> 2.1.6-1 | Ubuntu 18.04 -> 20.04 -> 22.04) was marked as the answerJust now, dyers said: I meant the froxlor user Admin has been renamed.
no, it has not
1 minute ago, dyers said: So I feel stupid.
I changed the BROWSER from Chrome to Safari. And the page appeared after login just fine -.-
and the upgrade worked fine too...
so, a local cache thing then....aight
-
d00p's post in Email Passwort Verschlüsselung was marked as the answerAuf 2.1.6 updaten. Das war ein Bug in der 2.1.5 (die es nur einen Tag lang gab)
-
d00p's post in unerwartetes Feedback vom cron (traffic-task) was marked as the answerGerne testen, ich kam noch nicht dazu:
diff --git a/lib/Froxlor/Cron/Traffic/TrafficCron.php b/lib/Froxlor/Cron/Traffic/TrafficCron.php index 421505e3..b764b0d3 100644 --- a/lib/Froxlor/Cron/Traffic/TrafficCron.php +++ b/lib/Froxlor/Cron/Traffic/TrafficCron.php @@ -618,7 +618,7 @@ class TrafficCron extends FroxlorCron $format = Settings::Get('system.logfiles_type') == '2' ? 'VCOMBINED' : 'COMBINED'; $monthyear = $monthyear_arr['month'] . '/' . $monthyear_arr['year']; $return_value = false; - FileDir::safe_exec("grep '" . $monthyear . "' " . escapeshellarg($logfile) . " | goaccess " . $keep_params . " --db-path=" . escapeshellarg($outputdir) . " -o " . escapeshellarg($outputdir . '.tmp.json') . " -o " . escapeshellarg($outputdir . 'index.html') . " --html-report-title=" . escapeshellarg($caption) . " --log-format=" . $format . " - ", $return_value, ['|']); + FileDir::safe_exec("grep '" . $monthyear . "' " . escapeshellarg($logfile) . " | goaccess " . $keep_params . " --db-path=" . escapeshellarg($outputdir) . " -o " . escapeshellarg($outputdir . '.tmp.json') . " -o " . escapeshellarg($outputdir . 'index.html') . " --html-report-title=" . escapeshellarg($caption) . " --log-format=" . $format . " --no-parsing-spinner --no-progress - ", $return_value, ['|']); if (file_exists($outputdir . '.tmp.json')) { // need jq here because of potentially LARGE json files
-
d00p's post in Froxlor selbst: Unterstützte PHP-Versionen was marked as the answerDie Infos kommen mit der v2.1 - siehe https://docs.froxlor.org/v2.1/general/installation/
Und nein, php-8.3 habe ich noch nicht getestet, wir konzentrieren uns im normalfall auf die default php versionen der unterrstützten Distros
-
d00p's post in Subdomain direkt einrichten lassen was marked as the answer2 minutes ago, K3uleMax said: Dann sind aber keine SSL Zertifikate über Froxlor erstellber oder?
doch sicher...du weist doch dem kunden eine Subdomain zu, setz halt da den Server-Alias auf "kein Alias" oder "www-Alias" und dann kannst du wunderbar auch Let's Encrypt verwenden
edit: du sollst ja nicht in froxlor einen Wildcard-Alias erstellen, sondern in der DNS Zone ...z.B.
@ IN A 123.123.123.123 * IN A 123.123.123.123 Damit zeigt: "domain.tld" auf 123.123.123.123 genauso wie auch "irgendwas.domain.tld" oder "wasanderes.domain.tld" oder was auch immer
-
d00p's post in froxlor-cli froxlorcron 'tasks' wirft "no such file or directory" bei "checking froxlor file permissions" was marked as the answerah du bist im ordner "/var/www/php-fcgi-scripts/ckt/tools.***.de" - die php-fcgi-scripts ordner werden vom cron komplett geleert und neuerstellt...daher der fehler.
-
d00p's post in Internal PHP error: #2 Undefined array key "groups" was marked as the answerif you want, try the following patch, it should resolve the behavior:
diff --git a/lib/Froxlor/SImExporter.php b/lib/Froxlor/SImExporter.php index a40e24bb..f823f295 100644 --- a/lib/Froxlor/SImExporter.php +++ b/lib/Froxlor/SImExporter.php @@ -65,7 +65,7 @@ class SImExporter public static function export() { $settings_definitions = []; - foreach (PhpHelper::loadConfigArrayDir('./actions/admin/settings/')['groups'] as $group) { + foreach (PhpHelper::loadConfigArrayDir(Froxlor::getInstallDir() . '/actions/admin/settings/')['groups'] as $group) { foreach ($group['fields'] as $field) { $settings_definitions[$field['settinggroup']][$field['varname']] = $field; }
-
d00p's post in Create e-mail address on subdomain was marked as the answerEdit main-domain, select "emaildomain = yes", and also select something other than "Never" in the setting "Subdomains as email-domains"
-
d00p's post in OpenSSL variuos erros was marked as the answerah, wordpress itself okay. that *might* be due to a disabled *curl_exec* function in the corresponding php.ini (not entirely sure, but looks like it)
-
d00p's post in PHP Fatal error: Uncaught Error: Call to undefined function curl_exec() was marked as the answerValidate that the function "curl_exec" is not in the list of disabled_functions in the corresponding php.ini (it is by default)
-
d00p's post in How to use froxlor-cli for api-calls / how to provide parameters? was marked as the answerJust now, nebulo said: am struggling with how to provide the parameters in the array.
As stated in the --help output of the command:
parameters Paramaters to pass to the command as JSON array Dont see where you are doing anything wrong, looks ok to me (and you've stated that the following works...)
-
d00p's post in Update 2.0.21 to 2.0.22 failed Sql Exception was marked as the answerHm it's related to the navigation menu and it checks for customer stuff but you're admin, can you try this patch:
diff --git a/lib/navigation/00.froxlor.main.php b/lib/navigation/00.froxlor.main.php index f322fe85..9863ce54 100644 --- a/lib/navigation/00.froxlor.main.php +++ b/lib/navigation/00.froxlor.main.php @@ -38,7 +38,7 @@ return [ 'url' => 'customer_email.php?page=emails', 'label' => lng('menue.email.emails'), 'required_resources' => 'emails', - 'add_shortlink' => CurrentUser::canAddResource('emails') ? 'customer_email.php?page=email_domain&action=add' : null, + 'add_shortlink' => !CurrentUser::isAdmin() && CurrentUser::canAddResource('emails') ? 'customer_email.php?page=email_domain&action=add' : null, ], [ 'url' => Settings::Get('panel.webmail_url'), @@ -60,7 +60,7 @@ return [ 'url' => 'customer_mysql.php?page=mysqls', 'label' => lng('menue.mysql.databases'), 'required_resources' => 'mysqls', - 'add_shortlink' => CurrentUser::canAddResource('mysqls')? 'customer_mysql.php?page=mysqls&action=add' : null, + 'add_shortlink' => !CurrentUser::isAdmin() && CurrentUser::canAddResource('mysqls')? 'customer_mysql.php?page=mysqls&action=add' : null, ], [ 'url' => Settings::Get('panel.phpmyadmin_url'), @@ -81,7 +81,7 @@ return [ [ 'url' => 'customer_domains.php?page=domains', 'label' => lng('menue.domains.settings'), - 'add_shortlink' => CurrentUser::canAddResource('subdomains') ? 'customer_domains.php?page=domains&action=add' : null, + 'add_shortlink' => !CurrentUser::isAdmin() && CurrentUser::canAddResource('subdomains') ? 'customer_domains.php?page=domains&action=add' : null, ], [ 'url' => 'customer_domains.php?page=sslcertificates', @@ -98,7 +98,7 @@ return [ [ 'url' => 'customer_ftp.php?page=accounts', 'label' => lng('menue.ftp.accounts'), - 'add_shortlink' => CurrentUser::canAddResource('ftps') ? 'customer_ftp.php?page=accounts&action=add' : null, + 'add_shortlink' => !CurrentUser::isAdmin() && CurrentUser::canAddResource('ftps') ? 'customer_ftp.php?page=accounts&action=add' : null, ], [ 'url' => Settings::Get('panel.webftp_url'),
-
d00p's post in Ändern des ServerAdmin in den automatisch erstellten vHosts was marked as the answerEs wird die E-Mail Adresse des entsprechenden Kunden verwendet
-
d00p's post in SSL Froxlor Host was marked as the answerSolange die acme.conf für den Webserver eingerichtet ist besteht ein globaler alias für .well-known und dann sollte das ebenso auch via certbot gehen.
Würde allerdings empfehlen hier let's encrypt in froxlor auch für den froxlor vhost zu aktivieren damit alles von froxlor verwaltet wird.
Zusätzlich kannst du mittels https://docs.froxlor.org/latest/admin-guide/cli-scripts/#validate-acme-webroot auch prüfen, ob da alles ok ist
-
d00p's post in PHP for admin interface not working after initial setup was marked as the answerThe froxlor setup automatically sets up your ip/port entries using default/standard ports.
You might need to adjust these in the table `panel_ipsandports` in froxlor's database and re-run the cronjob
-
d00p's post in SQLSTATE[42000] Error when Upgrading v0.10.38.3 to v2.0.15 was marked as the answereither use a more recent OS / mariadb or see here:
-
d00p's post in wie kann ich das debuggen? was marked as the answerProbier mal Folgendes:
diff --git a/lib/Froxlor/Dns/Dns.php b/lib/Froxlor/Dns/Dns.php index 9bd13988..dc7a134b 100644 --- a/lib/Froxlor/Dns/Dns.php +++ b/lib/Froxlor/Dns/Dns.php @@ -279,8 +279,7 @@ class Dns } } } - $zonerecords[] = new DnsEntry($entry['record'], $entry['type'], $entry['content'], $entry['prio'], - $entry['ttl']); + $zonerecords[] = new DnsEntry($entry['record'], $entry['type'], $entry['content'], $entry['prio'] ?? 0, $entry['ttl']); } // add missing required entries
-
d00p's post in LE bei Domain ohne DNS mit Validierung nicht möglich was marked as the answerOkay, jenachdem ist php wohl sehr zickig was die Klassenangabe bei `instanceof` angeht, hiermit geht es bei mir im test-szenario:
diff --git a/lib/Froxlor/PhpHelper.php b/lib/Froxlor/PhpHelper.php index c81f50bd..75e7d7ac 100644 --- a/lib/Froxlor/PhpHelper.php +++ b/lib/Froxlor/PhpHelper.php @@ -263,7 +263,7 @@ class PhpHelper try { $answer = $resolver->query($host, 'A')->answer; foreach ($answer as $rr) { - if ($rr instanceof Net_DNS2_RR_A) { + if ($rr instanceof \Net_DNS2_RR_A) { $ips[] = inet_ntop(inet_pton($rr->address)); } } @@ -276,7 +276,7 @@ class PhpHelper try { $answer = $resolver->query($host, 'AAAA')->answer; foreach ($answer as $rr) { - if ($rr instanceof Net_DNS2_RR_AAAA) { + if ($rr instanceof \Net_DNS2_RR_AAAA) { $ips[] = inet_ntop(inet_pton($rr->address)); } }
-
d00p's post in Andere PHP Version für einzelne Domain was marked as the answerDie verfügbaren PHP Konfigurationen müssen dem Kunden zugewiesen/erlaubt werden.
Entweder die entsprechenden Kunden bearbeiten oder, sofern gewünscht, beim Anlegen/bearbeiten der PHP Konfiguration ganz unten das Häkchen setzen um diese allen aktuellen Kunden zur Verfügung zu stellen
-
d00p's post in Fehlermeldung zu IP-Adressen nach Update was marked as the answerJust now, anmu said: Was kann ich tun?
Auf 2.0.8 aktualisieren
-
d00p's post in admin_domains.php - Speichern funktioniert nicht (Fokus stattdessen auf der ersten IPv6) was marked as the answerIst in git schon behoben, es gibt ein Problem wenn nicht alle IP Adressen gewählt sind (required flag der checkbox)
-
d00p's post in MySQL-Server Konfiguration nicht möglich was marked as the answerPunkt 2 und 3 werden im laufe des nachmittags mit 2.0.7 gefixed - das hatte ich vorhin schon von jemandem gemeldet bekommen, da gibts leider ein problem im update-prozess
-
d00p's post in Keine IP-Adresse im Pfad als Weiterleitungsziel einer Domain möglich was marked as the answerFalls du es dir für 0.10.x noch adaptieren möchtest (layout sollte sehr gleich sein): https://github.com/Froxlor/Froxlor/commit/2dd226c96c14e024b104a8cd9beab212eae24b46
-
d00p's post in Froxlor im Docker Container was marked as the answerEs führt das restart-command aus, welches in den webserver-einstellungen hinterlegt ist, wenn ihr das in irgendeiner art und weise customizen wollt, könnt ihr dort ja auch ein shell-script o.Ä. hinterlegen
-
d00p's post in Fehler beim Löschen von DNS-records seit 0.10.38.3 was marked as the answerHiermit sollte es wieder gehen:
diff --git a/dns_editor.php b/dns_editor.php index 293502cb..da10f5cd 100644 --- a/dns_editor.php +++ b/dns_editor.php @@ -24,7 +24,7 @@ use Froxlor\Api\Commands\DomainZones as DomainZones; // This file is being included in admin_domains and customer_domains // and therefore does not need to require lib/init.php -$domain_id = isset($_GET['domain_id']) ? (int) $_GET['domain_id'] : null; +$domain_id = isset($_GET['domain_id']) ? (int) $_GET['domain_id'] : (isset($_POST['domain_id']) ? (int)$_POST['domain_id'] : null); $record = isset($_POST['record']['record']) ? trim($_POST['record']['record']) : null; $type = isset($_POST['record']['type']) ? $_POST['record']['type'] : 'A'; @@ -56,12 +56,11 @@ if ($action == 'add_record' && ! empty($_POST)) { } } elseif ($action == 'delete') { // remove entry - $entry_id = isset($_GET['id']) ? (int) $_GET['id'] : 0; - if ($entry_id > 0) { + if ($id > 0) { if (isset($_POST['send']) && $_POST['send'] == 'send') { try { DomainZones::getLocal($userinfo, array( - 'entry_id' => $entry_id, + 'entry_id' => $id, 'id' => $domain_id ))->delete(); // success message (inline) @@ -73,7 +72,8 @@ if ($action == 'add_record' && ! empty($_POST)) { \Froxlor\UI\HTML::askYesNo('dnsentry_reallydelete', $filename, array( 'page' => $page, 'action' => $action, - 'id' => $id + 'id' => $id, + 'domain_id' => $domain_id ), $id); } }