Froxlor 2.3.16 配置参数详解
Froxlor 2.3.16 配置体系三层结构(GUI/panel_settings 表/userdata.inc.php)实测详解:276 行参数 20 组分布全量盘点、system/panel/phpfpm/customer/login/api 各组核心参数逐项说明、GUI 分组页与 SQL 改值闭环实测、panel_settinggroups 表名证伪与 distro_mismatch 实录、生产配置模板(Ubuntu 22.04 + MariaDB 10.11 + PHP 8.2 实测,2026-11-02)。
Froxlor 2.3.16 配置参数详解
目标:把 Froxlor 2.3.16 的全部配置参数(
panel_settings表 276 行、20 个分组)按"在哪看、怎么改、什么含义、改完怎么生效"讲透,并给出生产配置模板与三条改值/排障实录。已在 Ubuntu 22.04 服务器 + Froxlor 2.3.16(PHP 8.2.35 / MariaDB 10.11.19 / Apache 2.4.69)实测通过。
Froxlor 没有传统面板的"主配置文件":除数据库连接凭据外,所有配置参数都存在 MySQL/MariaDB 的 panel_settings 表里,Web 界面只是这张表的编辑器,CLI 任务作业读取同一张表渲染下游服务配置。部署过程见《Froxlor 2.3.16 Docker Compose 部署指南》,组件背景见《Froxlor 介绍与选型指南》。
一、环境信息
| 项目 | 取值 |
|---|---|
| 服务器操作系统 | Ubuntu 22.04(x86_64) |
| Froxlor 版本 | 2.3.16(db_version 202608210,stable 通道) |
| PHP / Web 服务器 | 8.2.35 / Apache 2.4.69(面板自身 mod_php 模式) |
| 数据库 | MariaDB 10.11.19,库名 froxlor |
| 演示环境形态 | Docker Compose 栈(项目 froxlor-2.3.16-stack,见部署篇);进入服务后所有 SQL/文件操作与主机安装形态完全一致 |
| 面板账号 | admin / q1w2e3r4 |
| 数据库凭据文件 | /var/www/html/froxlor/lib/userdata.inc.php(0600,www-data) |
| 参数总量 | panel_settings 276 行(实测 SELECT COUNT(*),见 4.1) |
| 面板访问 | http://<服务器>:8141/ |
二、前置条件
- 面板已完成安装并可登录(安装链路见部署篇 4.9–4.11;未安装时
panel_settings只有 276 行出厂值,改参数无意义); - 具备进入服务执行命令的通道(主机形态直接 SSH;本演示环境为
docker compose exec froxlor bash); - 能连上面板数据库:凭据在
userdata.inc.php,本环境业务账号froxlor/q1w2e3r4、全权限安装账号froxroot/q1w2e3r4、主机名db; - 改参数前建议备份:
mysqldump -h db -u froxroot -pq1w2e3r4 froxlor > settings-backup.sql。
三、参数查看与修改方式
Froxlor 的配置分三层,互相独立、职责不同:
| 层 | 载体 | 内容 | 修改方式 |
|---|---|---|---|
| GUI 层 | panel_settings 表的可视化编辑器 | 全部 276 项业务参数 | 后台"系统 → 设置"按分组编辑保存 |
| SQL 层 | 直接操作 panel_settings 表 | 同上(GUI 不可达/批量场景) | mysql 客户端 UPDATE |
| 连接层 | lib/userdata.inc.php | 仅数据库连接(host/user/password/db + root 账号列表) | 手工编辑文件(GUI 的"数据库服务器"页写回的也是它) |
3.1 GUI 层:分组设置页
后台路径 System(系统)→ Settings(设置),每个分组一张编辑表单。分组页 URL 形态为 admin_settings.php?part=<分组名>,实测抓取 panel 分组页并核对 paging 参数当前值:
curl -s -b cookies.txt -o settings.html -w "GET admin_settings.php?part=panel -> %{http_code}\n" \
http://127.0.0.1:8141/admin_settings.php?part=panel
grep -o -m1 'panel_paging[^<]*' settings.html
grep -o -m1 'value="20"' settings.html
GET admin_settings.php?part=panel -> 200
panel_paging" class="col-sm-6 col-form-label pe-3">
value="20"
表单字段命名规则为 <settinggroup>_<varname>(如 panel_paging、session_sessiontimeout),保存即 UPDATE panel_settings。
💡 说明:GUI 有"简单/专家"两种模式(
panel.settings_mode,实测出厂0=简单模式),简单模式会隐藏标记为不常用/不兼容的参数(system.hide_incompatible_settings实测1);要看全量 276 项请切专家模式,或直接走 SQL 层。
3.2 SQL 层:panel_settings 表
表结构一行一参数:settinggroup(分组)、varname(参数名)、value(值),读取时拼成 组.参数(代码里 Settings::Get('panel.paging'))。实测读取与修改闭环:
mysql -h db -u froxroot -pq1w2e3r4 froxlor -e \
"SELECT settinggroup, varname, value FROM panel_settings WHERE varname='paging'"
mysql -h db -u froxroot -pq1w2e3r4 froxlor -e \
"UPDATE panel_settings SET value='25' WHERE settinggroup='panel' AND varname='paging'"
mysql -h db -u froxroot -pq1w2e3r4 froxlor -e \
"SELECT settinggroup, varname, value FROM panel_settings WHERE varname='paging'"
settinggroup varname value
panel paging 20
settinggroup varname value
panel paging 25
改回 20 后复核(见 7.2 实录与注意事项)。
⚠️ 注意:SQL 层改值立即对面板进程生效(每次请求现读),但凡是"影响下游服务配置文件"的参数(vhost、DNS、邮件表等),必须等一次
froxlor:cron 'tasks'任务作业重新渲染才落到/etc/apache2等目录——手动触发:php /var/www/html/froxlor/bin/froxlor-cli froxlor:cron 'tasks' -f(实测回显见部署篇 4.11)。
3.3 连接层:userdata.inc.php
安装器生成(实测 ls -l:-rw------- 1 www-data www-data 303),内容节选:
<?php
// autogenerated froxlor file
$sql = [
'debug' => false,
'host' => 'db',
'user' => 'froxlor',
'password' => 'q1w2e3r4',
'db' => 'froxlor',
];
$sql_root = [
'0' => [
'caption' => 'Default',
'host' => 'db',
'user' => 'froxroot',
'password' => 'q1w2e3r4',
],
];
$sql:面板日常读写用的业务账号(仅需froxlor库权限);$sql_root:数组,可登记多套 root 级凭据——多数据库服务器场景(admin_mysqlserver.php里每加一台就追加一项);面板建客户库/账号走这里,所以必须带转授权限;'debug' => true可让面板把 SQL 错误详情打到页面,排障用,生产保持 false。
3.4 安装层:install.json
无人值守安装的 JSON 字段(mysql_*/admin_*/distribution/serveripv4/webserver 等,见部署篇 4.9)本质是"一次性批量写上述三层":mysql_* → userdata.inc.php,其余 → panel_settings。已装环境改参不走这条路,用 froxlor:config-services -i <file> 导入另一台安装的设置属于迁移范畴(见 CLI 篇相关命令)。
四、参数总览
4.1 总量与分组分布(实测)
mysql -h db -u froxroot -pq1w2e3r4 froxlor -e "SELECT COUNT(*) AS total FROM panel_settings"
mysql -h db -u froxroot -pq1w2e3r4 froxlor -e \
"SELECT settinggroup, COUNT(*) AS n FROM panel_settings GROUP BY settinggroup ORDER BY n DESC"
total
276
settinggroup n
system 170
panel 43
phpfpm 16
antispam 7
customer 6
logger 5
defaultwebsrverrhandler 5
admin 3
login 3
api 2
session 2
mail 2
spf 2
dmarc 2
customredirect 2
perl 2
catchall 1
2fa 1
caa 1
nginx 1
解读:system 组独占 170 行(62%),是"面板接管主机哪些服务、怎么接管"的总账;panel 组 43 行管界面与品牌;其余小分组各管一个功能域(phpfpm 进程池、antispam 反垃圾、spf/dmarc/caa 邮件 DNS 记录模板、login/session/2fa/api 登录与会话……)。没启用的功能域参数保持出厂默认即可,不必清理。
4.2 第二张设置表:domain_ssl_settings
库内匹配 %setting% 的表实测只有两张:
Tables_in_froxlor (%setting%)
domain_ssl_settings
panel_settings
panel_settings 是全局参数;domain_ssl_settings 是按域名覆盖的 SSL 参数表(每个域名的证书类型/SSL 特殊设置等,对应后台域名编辑页的 SSL 区块),不属于全局配置体系,本文不展开。
五、核心参数分类详解
以下逐项取自本环境实测值(SELECT settinggroup, varname, value FROM panel_settings 全量 276 行导出),"本环境值"即 2.3.16 出厂默认或安装器写入值。
5.1 system:主机与网络
| 参数 | 本环境值 | 说明 |
|---|---|---|
system.hostname | panel.froxlor.test | 面板主机名,进 vhost ServerName 与邮件域校验 |
system.ipaddress | 10.89.68.10 | 面板监听 IP,vhost 文件名即 10_froxlor_ipandport_<IP>.<端口>.conf;换 IP 用 froxlor:switch-server-ip(CLI 篇) |
system.defaultip | 1 | 新域名默认分配的 IP/端口组合 ID(对应 panel_ipsandports 表) |
system.froxlordirectlyviahostname | 1 | 允许直接通过主机名访问面板站点 |
system.validate_domain | 1 | 添加域名时做语法/保留字校验 |
system.nameservers | 空 | 域名 NS 记录值,启用 DNS 托管时必填 |
system.mxservers | 空 | 域 MX 记录值,同上 |
system.axfrservers | 空 | 允许 zone 传输的对端 IP 列表 |
system.mysql_access_host | db,10.89.68.10 | 面板为客户建库时写入的访问主机白名单(多库服务器逐台维护) |
system.httpuser / system.httpgroup | www-data / www-data | Web 服务器运行账号,进所有生成配置的文件属主 |
system.froxlorusergroup | 空 | 面板专属用户/组(留空用 httpuser) |
5.2 system:Web 服务器与站点
| 参数 | 本环境值 | 说明 |
|---|---|---|
system.webserver | apache2 | 接管的 Web 服务器(apache24/nginx 二选一,安装时定) |
system.apacheconf_vhost | /etc/apache2/sites-enabled/ | vhost 生成目录 |
system.apacheconf_diroptions | /etc/apache2/sites-enabled/ | 目录选项(htaccess 替代)文件目录 |
system.apacheconf_htpasswddir | /etc/apache2/froxlor-htpasswd/ | 密码保护站点 htpasswd 存放目录 |
system.apachereload_command | service apache2 reload | 配置渲染后的重载命令,可改 systemctl |
system.documentroot_prefix | /var/customers/webs/ | 客户站点根前缀 |
system.deactivateddocroot | /var/www/html/froxlor/templates/misc/deactivated/ | 停用站点指向的"已停用"页 |
system.logfiles_directory | /var/customers/logs/ | 客户访问/错误日志目录 |
system.logfiles_type | 1 | 日志格式(combined);logfiles_piped 可接管道压缩 |
system.errorlog_level | warn | Apache 错误日志级别 |
system.traffictool | goaccess | 流量统计工具(awstats/webalizer/goaccess 三选一,awstats_* 组参数配套) |
system.customredirect.enabled / default | 1 / 1 | 是否允许客户自定义重定向状态码(配合 redirect_codes 表) |
system.defaultwebsrverrhandler.enabled | 0 | 全局自定义 401/403/404/500 错误页开关(err401~err500 四项配套) |
💡 技术拓展:Froxlor 支持三种 PHP 运行模式,客户站点行为由此分岔——
模式 开关参数 隔离性 mod_php 面板自身使用(安装 webserver_backend)无,全部站点同 httpuser PHP-FPM phpfpm.enabled(本环境0)每客户/域名独立进程池,隔离最好 FCGID system.mod_fcgid(本环境0)按 Unix 用户隔离,配 mod_fcgid_*12 项生产托管建议至少启用 PHP-FPM(见第六章模板),本演示环境保持 mod_php 单模式。
5.3 system:邮件与 FTP
| 参数 | 本环境值 | 说明 |
|---|---|---|
system.mtaserver / system.mdaserver | postfix / dovecot | 出站/投递服务选型(面板据此渲染对应配置模板) |
system.ftpserver | proftpd | FTP 服务选型(当前仅支持 proftpd) |
system.vmail_uid / vmail_gid | 2000 / 2000 | 邮件虚拟用户 UID/GID,所有邮箱文件属主 |
system.vmail_homedir / vmail_maildirname | /var/customers/mail/ / Maildir | 邮箱目录布局 |
system.mail_quota_enabled / mail_quota | 0 / 100 | 邮箱配额开关与默认额度(MB) |
system.mailpwcleartext | 0 | 是否明文存邮箱密码(默认否;后台有专项页一键清除残留,见 admin_settings.php?page=wipecleartextmailpws) |
system.mail_use_smtp / mail_smtp_host / mail_smtp_port / mail_smtp_auth / mail_smtp_usetls | 0 / localhost / 25 / 1 / 1 | 面板自身发信走 SMTP relay 的配置(默认直接本机投递) |
system.mailtraffic_enabled | 1 | 统计邮件流量计入客户流量配额 |
system.mtalog / system.mdalog | /var/log/mail.log | 出站/投递流量日志采集路径(maillog 解析口径) |
system.allow_customer_shell / available_shells | 0 / 空 | 是否允许客户拿到真实 shell 账户 |
5.4 system:DNS、TLS 与 Let's Encrypt
| 参数 | 本环境值 | 说明 |
|---|---|---|
system.bind_enable / system.dns_server / system.dnsenabled | 0 / Bind / 0 | DNS 托管总开关与后端(Bind/PowerDNS,powerdns_mode 默认 Native) |
system.bindconf_directory | /etc/bind/ | BIND zone 文件目录 |
system.bindreload_command | service bind9 reload | zone 渲染后重载命令 |
system.defaultttl | 604800 | 自动建 zone 的默认 TTL(秒) |
system.dns_createcaaentry / dns_createhostnameentry / dns_createmailentry | 1 / 0 / 0 | 面板自动写 CAA/主机名/MX 记录开关 |
system.leenabled / leregistered / leaccount | 0 / 0 / 空 | Let's Encrypt 总开关、账号注册状态(本演示未启用,froxlor:validate-acme-webroot 实测直接提示未激活) |
system.letsencryptca / leapiversion / letsencryptkeysize | letsencrypt / 2 / 4096 | CA 环境(生产用 letsencrypt,测试用 letsencrypt-staging)、ACME 版本、密钥位数 |
system.acmeshpath | /root/.acme.sh/acme.sh | acme.sh 路径(签发引擎) |
system.letsencryptchallengepath | /var/www/html/froxlor | ACME webroot 校验路径(与 CLI 篇 validate-acme-webroot 联动) |
system.le_domain_dnscheck / le_domain_dnscheck_resolver | 1 / 1.1.1.1 | 签发前做域名解析校验及所用 DNS 服务器 |
system.le_renew_hook | systemctl restart postfix dovecot proftpd | 证书续期后重载服务钩子 |
system.le_froxlor_enabled / le_froxlor_redirect | 0 / 0 | 面板自身域名是否也用 LE 证书/强制跳转 |
system.use_ssl / ssl_cert_file / ssl_key_file | 0 / /etc/ssl/froxlor_selfsigned.pem / /etc/ssl/froxlor_selfsigned.key | 面板自身 TLS 开关(安装器已备好自签证书,开 1 即启用) |
system.ssl_protocols / ssl_cipher_list | TLSv1.2 / ECDHE 全家桶串 | 生成 vhost 的 TLS 基线(TLSv1.3 单独走 tlsv13_cipher_list) |
system.hsts_maxage / hsts_incsub / hsts_preload | 10368000 / 0 / 0 | HSTS 参数(120 天,不含子域) |
system.http2_support / http3_support / honorcipherorder | 0 / 0 / 0 | 协议开关 |
system.customer_ssl_path | /etc/ssl/froxlor-custom/ | 客户证书存放目录 |
5.5 system:任务作业、发行版模板与更新
| 参数 | 本环境值 | 说明 |
|---|---|---|
system.cronconfig | /etc/cron.d/froxlor | 面板自管的调度文件(安装生成,勿手编) |
system.croncmdline | /usr/bin/nice -n 5 /usr/bin/php -q | 调度行命令前缀——硬编码 /usr/bin/php,非标准 PHP 路径环境需改这里或建符号链接(部署篇 11.3) |
system.crondreload | service cron reload | 调度文件更新后重载命令 |
system.debug_cron | 0 | 置 1 后 cron 任务输出写 syslog 便于排障 |
system.lastcronrun / last_tasks_run / last_traffic_run | 时间戳 | 各作业最近执行时刻(巡检用) |
system.distribution | bookworm | 服务配置模板线(可选 bullseye/bookworm/trixie/focal/jammy/noble,froxlor:config-diff -l 实测清单) |
system.distro_mismatch | 1 | 面板自检发现所选模板线与实际发行版不符(实录见 7.3) |
system.update_channel | stable | 更新通道 |
system.cron_allowautoupdate | 0 | 是否允许 cron 顺带自动更新 |
system.report_enable / report_webmax / report_trafficmax | 1 / 90 / 90 | 资源用量告警邮件阈值(%) |
system.send_cron_errors | 0 | cron 出错是否发信给管理员 |
system.sessiontickets / sessionticketsenabled | 1 / 1 | 表单 CSRF ticket 机制(安全项,勿关) |
5.6 panel 组:界面、品牌与口令策略
| 参数 | 本环境值 | 说明 |
|---|---|---|
panel.version / panel.db_version | 2.3.16 / 202608210 | 本体/库结构版本,升级核对用 |
panel.is_configured | 1 | 安装完成标志(置 0 会退回安装向导) |
panel.frontend | froxlor | 前端形态(froxlor 经典 Bootstrap) |
panel.paging | 20 | 列表每页行数(SQL 改值实测见 7.2) |
panel.standardlanguage | en | 默认语言(界面逐用户可切,lng/ 含中文包) |
panel.default_theme / allow_theme_change_* | Froxlor / 1/1 | 主题与是否允许管理/客户换主题 |
panel.menu_collapsed / natsorting | 1 / 1 | 侧栏折叠、自然排序 |
panel.settings_mode | 0 | 设置页简单/专家模式 |
panel.adminmail / adminmail_defname | admin@froxlor.test / Froxlor Administrator | 面板发信人(安装器按 admin 邮箱写入) |
panel.password_min_length | 0 | 出厂不强制长度,生产必改(见第六章) |
panel.password_alpha_lower / alpha_upper / numeric / special_char_required | 1 / 1 / 0 / 0 | 口令复杂度:默认仅要求含小写+大写 |
panel.password_special_char | !?<>§$%+#=@ | "特殊字符"认定集合 |
panel.password_regex | 空 | 可另挂自定义正则 |
panel.login.deactivatetime / maxloginattempts / domain_login | 900 / 3 / 0 | (login 组)失败 3 次锁定 15 分钟;是否允许"用户@域名"登录 |
panel.phpmyadmin_url / webmail_url / webftp_url | 空 | 外部工具入口链接(phpMyAdmin/Roundcube 等) |
panel.imprint_url / privacy_url / terms_url | 空 | 法务页脚链接 |
panel.unix_names | 1 | 客户 Unix 账号命名规则 |
panel.decimal_places | 4 | 流量数值小数位 |
panel.sendalternativemail / allow_preset | 0 / 1 | 通知邮件抄送备用地址;是否允许客户预置套餐 |
5.7 login / session / 2fa / api:登录安全四组
| 参数 | 本环境值 | 说明 |
|---|---|---|
login.maxloginattempts | 3 | 失败锁定阈值(解锁用 froxlor:user <用户> -u,CLI 篇实测) |
login.deactivatetime | 900 | 锁定时长(秒) |
session.sessiontimeout | 600 | 会话空闲超时(秒),GUI 保存时校验不得低于 60(源码 admin_settings.php 第 72 行实测逻辑) |
session.allow_multiple_login | 0 | 禁止同账号多会话并行 |
2fa.enabled | 1 | 允许用户启用 TOTP 双因素(逐用户在个人页开启,panel_2fa_tokens 表存储) |
api.enabled | 0 | JSON API 总开关(默认关;开启后在"设置→API"生成密钥,配合 froxlor:api-call/HTTP api.php) |
api.customer_default | 1 | 新客户默认允许用 API |
5.8 customer / phpfpm:默认资源与进程池
customer 组 6 项是新客户命名/默认值模板(真正的配额在 panel_plans/panel_customers 表):
| 参数 | 本环境值 | 说明 |
|---|---|---|
customer.accountprefix | web | 客户 Unix 账号前缀(web1、web2…) |
customer.ftpprefix / mysqlprefix | ftp / sql | FTP 账号、数据库名前缀 |
customer.ftpatdomain | 0 | FTP 用户名是否带域名后缀 |
phpfpm 组 16 项(本环境 enabled=0,启用后生效):
| 参数 | 本环境值 | 说明 |
|---|---|---|
phpfpm.enabled / enabled_ownvhost | 0 / 0 | FPM 总开关;面板自身是否也走 FPM |
phpfpm.vhost_httpuser / vhost_httpgroup | froxlorlocal | FPM 池运行账号(与 Apache 解耦的降权账号) |
phpfpm.aliasconfigdir / fastcgi_ipcdir | /var/www/php-fpm/ / /var/lib/apache2/fastcgi/ | 池配置与 socket 目录 |
phpfpm.tmpdir | /var/customers/tmp/ | 每客户上传临时目录(open_basedir 联动) |
phpfpm.envpath | /usr/local/bin:/usr/bin:/bin | 池 PATH |
phpfpm.ini_admin_flags / ini_admin_values | 长白名单 | 仅管理员可改的 php.ini 项(含 memory_limit、open_basedir、disable_functions 等 16+26 项,实测全量值见 SELECT 导出) |
phpfpm.ini_flags / ini_values | 长白名单 | 客户可自改的 php.ini 项(display_errors、upload_max_filesize、max_execution_time 等) |
phpfpm.vhost_defaultini | 2 | 新站点默认 php.ini 方案 |
5.9 功能域小组速查
| 组(行数) | 关键参数与本环境值 | 一句话 |
|---|---|---|
| antispam (7) | activated=0、config_file=/etc/rspamd/local.d/froxlor_settings.conf、reload_command=service rspamd restart、dkim_keylength=1024、default_policy_greylist=1 | rspamd 对接:开关、配置落点、DKIM 位数、灰名单 |
| spf / dmarc / caa (各1-2) | use_spf=0、spf_entry=v=spf1 a mx -all;use_dmarc=0、dmarc_entry=v=DMARC1; p=none;;caa_entry 空 | 面板自动写这三类 DNS 记录的模板值,启用后逐域生成 |
| catchall (1) | catchall_enabled=1 | 允许域名级邮箱全收 |
| logger (5) | enabled=1、logtypes=syslog,mysql、severity=1、log_cron=0 | 面板操作日志双写(syslog+panel_syslog 表),级别 1=仅重要 |
| mail (2) | allow_external_domains=0、enable_allow_sender=0 | 是否允许添加非本机邮件域/自定义发信人 |
| customredirect (2) | enabled=1、default=1 | 自定义重定向(见 5.2) |
| nginx (1) / perl (2) | fastcgiparams=/etc/nginx/fastcgi_params;suexecpath=/var/www/cgi-bin/ | 仅 webserver=nginx 时相关 |
| admin (3) | show_news_feed=0、show_version_footer=0、show_version_login=0 | 后台是否显示新闻源/版本号(生产建议保持关版本外露) |
| defaultwebsrverrhandler (5) | enabled=0 + err401/403/404/500 | 全局错误页 |
六、生产配置模板
适用场景:单台 16GB 内存 / NVMe SSD 的 Debian 12(bookworm)真机、对外提供 Web+邮件托管、Apache 2.4。以下为相对出厂值的建议改项(值为推荐口径,改法用 3.1 GUI 或 3.2 SQL 均可;改完跑一次 froxlor:cron 'tasks' -f 落盘):
| 参数 | 建议值 | 理由 |
|---|---|---|
system.use_ssl | 1 | 面板强制 HTTPS(先备好证书或启用 LE) |
system.leenabled + le_domain_dnscheck | 1 + 1 | 站点证书自动签发/续期 |
system.distribution | bookworm | 与真机一致,消掉 distro_mismatch |
phpfpm.enabled | 1 | 客户站点进程级隔离(多租户必开) |
panel.password_min_length | 8;numeric/special_char_required 置 1 | 出厂口令策略几乎不设防(5.6 实测 min_length=0) |
session.sessiontimeout | 300 | 默认 600s 偏长 |
api.enabled | 按需 1,密钥仅发对接主机 | 开通自动化;默认 0 最安全 |
admin.show_version_footer / show_version_login | 0(出厂已 0) | 版本信息不外露,防定向攻击 |
system.report_enable / report_webmax / report_trafficmax | 1 / 80 / 80 | 用量告警提前量 |
system.mail_quota_enabled + mail_quota | 1 / 按套餐 | 邮箱配额管控 |
system.send_cron_errors | 1 | 任务失败邮件告警(配合 panel.adminmail) |
system.debug_cron | 0 | 生产别刷 syslog |
logger.logtypes | syslog,mysql(出厂) | 双写保留审计 |
⚠️ 注意:
system.croncmdline、system.apacheconf_*这类路径参数不要凭想象改——必须与真机实际布局一致(本演示环境/usr/bin/php缺失导致整条 cron 链失败的教训见部署篇 11.3);改路径类参数后务必手动跑一次froxlor:cron 'tasks' -f -d验证渲染与重载成功。
七、常见问题
7.1 想查"分组字典表",报 Table 'froxlor.panel_settinggroups' doesn't exist
现象(实测踩坑原样):
SELECT groupid, settinggroup, description FROM panel_settinggroups ORDER BY groupid;
ERROR 1146 (42S02) at line 1: Table 'froxlor.panel_settinggroups' doesn't exist
按 panel_settings_groups 猜同样报错。定位:2.3.16 里 %setting% 匹配的表实测只有 panel_settings 与 domain_ssl_settings 两张,不存在分组字典表——分组名硬编码在代码与各 varname 的元数据里,settinggroup 列就是分组本身。解决:看分组分布直接用 GROUP BY settinggroup COUNT(*)(4.1 实测),分组含义对照本文第五章。
7.2 SQL 直改 panel.paging 实测闭环
3.2 节演示了 20 → 25(UPDATE 后 SELECT 立即回显 25)。收尾必须改回:
mysql -h db -u froxroot -pq1w2e3r4 froxlor -e \
"UPDATE panel_settings SET value='20' WHERE settinggroup='panel' AND varname='paging'"
mysql -h db -u froxroot -pq1w2e3r4 froxlor -e \
"SELECT varname, value FROM panel_settings WHERE varname='paging'"
varname value
paging 20
要点:SQL 改值后GUI 分组页同步显示新值(同一张表),列表分页立即按新值走;不存在"要重启面板"的问题,但 GUI 里改过未保存的表单会把你的 SQL 值盖回去,两条路别并行用。
7.3 distro_mismatch=1 是怎么回事
实测本环境 system.distribution=bookworm、system.distro_mismatch=1(SQL 回显见 3.2 末与部署篇基底说明):安装选了 bookworm 模板线,而运行基底的真实发行版是 Debian 13。面板启动时自检 OS 版本并记账,不改变行为(配置仍按所选模板渲染)。处理二选一:把 system.distribution 改成实际代号(trixie 在支持清单内,froxlor:config-diff -l 实测可见);或维持 bookworm 并知晓差异范围——用 froxlor:config-diff bookworm trixie 可逐文件量化(实测差异集中在 proftpd 模块表,回显见 CLI 篇 config-diff 一节)。
7.4 GUI 设置页看不到某些参数
原因:panel.settings_mode=0(简单模式)+ system.hide_incompatible_settings=1 会隐藏与当前 Web 服务器/PHP 模式不兼容或非常用的参数(例如 nginx.*、mod_fcgid_* 在 Apache+mod_php 环境不可见)。解决:切专家模式,或按 3.2 直接 SQL 读写——参数在不在 panel_settings 表里与 GUI 显不显示无关(4.1 的 276 行全量包含所有隐藏项)。
7.5 改了 vhost 相关参数,站点没变化
定位:这类参数只写库,落盘靠任务队列。验证链:SELECT value FROM panel_settings WHERE varname='last_tasks_run' 看最近任务时刻 → 手动 php /var/www/html/froxlor/bin/froxlor-cli froxlor:cron 'tasks' -f -d(全量回显见部署篇 4.11)→ 检查生成的 vhost 文件与 Web 服务重载日志。
八、参考链接
- 官方设置文档:https://docs.froxlor.org/latest/admin-guide/settings/
- 官方系统设置(System settings)章节:https://docs.froxlor.org/latest/admin-guide/settings/system.html
- GitHub 源码(参数元数据定义于安装 SQL
sql/*.sql与lib/Froxlor/Settings.php):https://github.com/Froxlor/Froxlor - 同系列:《Froxlor 介绍与选型指南》、《Froxlor 2.3.16 Docker Compose 部署指南》、《Froxlor 2.3.16 常用 CLI 命令与工具详解》