xenforo_root/ (XenForo 安装根目录)
│
├── src/ (核心程序源代码 - PHP)
│ ├── XF/ (框架核心代码)
│ ├── addons/ (所有已安装插件的代码 - 每个插件一个子目录)
│ └── ... (其他核心类和文件)
│
├── vendor/ (Composer 依赖库 - 第三方 PHP 库)
│
├── js/ (核心 JavaScript 文件)
│ ├── xf/ (XenForo 框架 JS)
│ └── vendor/ (第三方 JS 库)
│
├── styles/ (样式 - 主题)
│ ├── default/ (默认主题)
│ │ ├── xf/ (核心样式模板/图像)
│ │ └── ... (主题特定文件)
│ └── ... (其他已安装主题)
│
├── data/ (动态生成的可公开访问数据 - **重要备份**)
│ ├── avatars/ (用户头像)
│ ├── attachments/ (附件)
│ └── ... (其他插件可能生成的公开数据)
│
├── internal_data/ (动态生成的非公开数据 - **极其重要备份!**)
│ ├── code-cache/ (PHP 代码缓存)
│ ├── css_cache/ (编译后的 CSS 缓存)
│ ├── install-lock.php (防止重复安装的锁文件)
│ ├── logs/ (日志文件 - 错误日志等)
│ ├── sitemaps/ (生成的站点地图)
│ └── ... (其他内部数据、缓存、备份等)
│
├── public.php (主要前端入口点 - 论坛页面)
├── admin.php (管理面板入口点)
├── index.php (通常重定向到 public.php)
├── install/ (安装程序目录 - 安装后建议删除或重命名)
├── .htaccess (Apache Web 服务器配置 - URL 重写等)
├── LICENSE.txt (许可证文件)
├── README.md (说明文件)
├── CHANGELOG.md (更新日志)
└── ... (其他可能的文件,如 composer.json, .user.ini 等)
关键目录详解:
│
├── src/ (核心程序源代码 - PHP)
│ ├── XF/ (框架核心代码)
│ ├── addons/ (所有已安装插件的代码 - 每个插件一个子目录)
│ └── ... (其他核心类和文件)
│
├── vendor/ (Composer 依赖库 - 第三方 PHP 库)
│
├── js/ (核心 JavaScript 文件)
│ ├── xf/ (XenForo 框架 JS)
│ └── vendor/ (第三方 JS 库)
│
├── styles/ (样式 - 主题)
│ ├── default/ (默认主题)
│ │ ├── xf/ (核心样式模板/图像)
│ │ └── ... (主题特定文件)
│ └── ... (其他已安装主题)
│
├── data/ (动态生成的可公开访问数据 - **重要备份**)
│ ├── avatars/ (用户头像)
│ ├── attachments/ (附件)
│ └── ... (其他插件可能生成的公开数据)
│
├── internal_data/ (动态生成的非公开数据 - **极其重要备份!**)
│ ├── code-cache/ (PHP 代码缓存)
│ ├── css_cache/ (编译后的 CSS 缓存)
│ ├── install-lock.php (防止重复安装的锁文件)
│ ├── logs/ (日志文件 - 错误日志等)
│ ├── sitemaps/ (生成的站点地图)
│ └── ... (其他内部数据、缓存、备份等)
│
├── public.php (主要前端入口点 - 论坛页面)
├── admin.php (管理面板入口点)
├── index.php (通常重定向到 public.php)
├── install/ (安装程序目录 - 安装后建议删除或重命名)
├── .htaccess (Apache Web 服务器配置 - URL 重写等)
├── LICENSE.txt (许可证文件)
├── README.md (说明文件)
├── CHANGELOG.md (更新日志)
└── ... (其他可能的文件,如 composer.json, .user.ini 等)
关键目录详解:
- src/: 核心所在。绝对不要直接修改 src/XF/ 里的框架核心文件。修改应通过插件 (src/addons/) 或模板覆盖进行。
- src/addons/: 所有插件(Add-ons)的代码都安装在这里。每个插件有自己的子目录(通常以开发者 ID 开头,如 AB/MyAddon)。
- vendor/: 由 Composer 管理的第三方 PHP 库。核心功能依赖此目录。
- js/: 存放 JavaScript 文件。核心 JS 在 js/xf/,第三方库在 js/vendor/。插件和主题可以添加自己的 JS 文件。
- styles/: 存放所有主题(Styles)。default 是基础主题。每个主题目录包含:
- xf/: 核心模板的覆盖版本(.less 样式文件)。
- public/: 主题特定的 CSS、字体、图片等资源。
- templates/: 覆盖的 HTML 模板文件。
- data/: 重要! 包含用户生成且需通过 URL 访问的内容(头像、附件)。必须可由 Web 服务器写入。备份关键!
- internal_data/: 极其重要! 包含敏感的内部数据(缓存、日志、安装锁、配置备份等)。必须严格保护(通常通过 .htaccess 阻止直接访问),且必须可由 Web 服务器写入。备份最关键!
- public.php: 用户访问论坛的主要入口点(处理所有非管理员的页面请求)。
- admin.php: 管理员访问控制面板的入口点。
- install/: 包含安装/升级程序。强烈建议在成功安装/升级后删除或重命名此目录,以防止未经授权的访问和潜在的安全风险。
- 备份: 定期备份整个 XenForo 根目录 以及 数据库。data/ 和 internal_data/ 包含了动态内容,丢失它们等同于丢失用户数据(头像、附件)和关键运行信息(缓存、日志)。
- 权限: data/ 和 internal_data/ 必须可由 Web 服务器进程(如 www-data, apache, nobody)写入。其他目录通常应设置为只读(除了安装/升级时)。
- 核心修改: 永远不要直接修改 src/XF/ 下的文件。所有定制都应通过官方插件系统或模板覆盖实现。直接修改会在升级时被覆盖且可能导致不稳定。
- install/ 目录: 安装完成后务必移除或重命名,这是重要的安全措施。
- .htaccess: 此文件对 URL 重写(实现友好 URL)和某些安全设置至关重要。除非你清楚自己在做什么,否则不要随意修改。