欢迎使用 XenForo 2
本文档旨在帮助您快速上手 XenForo 2.0 开发工作。
阅读本文档的先决条件:① 熟悉 PHP;②熟悉 MySQL。读者无需具备 XenForo 早期版本的经验,但若有相关经验则会更有帮助。
接下来的内容将会简要概述如何搭建本地服务器、准备并安装全新的 XenForo 2.0,并介绍一些 XF2 开发的基本概念。
准备开始
XF 开发入门非常简单。只需下载文件,将其上传到 Web 服务器并执行安装程序即可。如果没有 Web 服务器,也不用担心,可以在本地计算机上搭建一个。
下载 XenForo 2.0
要下载 XF 2.0,只需登录并访问 XenForo 客户区域。确认当前许可证无误,然后点击下载 XenForo 链接。
选择要下载的版本、软件包类型并接受许可协议。最后,点击下载按钮即可下载文件。
系统需求
XF 2.0 的运行需求与 XF 1.5 相比有所变化。推荐的配置如下:
| 模块 | 要求 |
|---|---|
| PHP | 5.4.0+ |
| MySQL | 5.5+ |
| PHP 扩展 | MySQLi、GD(支持 JPEG)、PCRE、SPL、SimpleXML、DOM、JSON、iconv、ctype、cURL |
点击此处以下载系统需求测试程序。
配置本地服务器
为了进行开发,搭建本地 Web 服务器通常更为方便。一般来说,有几种方法可以实现这一点:
- 自行安装 Apache(或 nginx)、MySQL(或 MariaDB)和 PHP;
- 安装预装虚拟机;
- 安装预装技术栈。
预装技术栈
市面上有很多预构建的技术栈,它们的功能、性能和可靠性各不相同。Bitnami 维护着多种堆栈,包括分别适用于 Linux、Mac 和 Windows 的 LAMP、MAMP 和 WAMP 技术栈。它们都包含完整配置的 Apache、MySQL 和 PHP 环境,并包含用于管理 MySQL 的 phpMyAdmin。
上传
要安装 XF 2.0,只需解压缩从客户区域下载的 ZIP 文件,然后上传其中的一些文件和目录。解压缩后,会看到一个名为upload的目录。进入该目录,并将其中的文件和目录悉数上传至服务器的网站根目录。通常情况下,网站根目录位于名为public_html、htdocs或www的目录中。
创建配置文件
如果使用命令行界面 (CLI) 安装 XF 2.0,则需要手动创建config.php文件——进入已上传到服务器的 XF 2.0 文件所在的src目录,创建一个名为config.php的新文件,并在其中填写 MySQL 服务器的主机、端口、用户名、密码和数据库名。
创建完成后,该文件应该看起来像这样:
<?php
$config['db']['host'] = 'localhost';
$config['db']['port'] = '3306';
$config['db']['username'] = 'root';
$config['db']['password'] = 'mypassword';
$config['db']['dbname'] = 'xf2';
现在方可正式开始安装了。
如果当前使用的是 MySQL 5.5 或更高版本,且希望获得完整的 Unicode 支持(如表情符号),则在安装前还应添加以下内容:
$config['fullUnicode'] = true;
关于文件权限的说明
XenForo 在运行时需要将文件写入特定位置。正常情况下,写入操作仅限于data和internal_data目录(及其子目录)。这些文件写入操作会由附件上传等事件触发,因此通常会由 Web 服务器上运行的 PHP 用户触发。所以,必须确保这些目录的权限设置正确,以便 Web 服务器可以写入这些目录。在安装正式开始之前应完成这些关于权限配置的操作。
如果使用命令行界面 (CLI),情况会变得更加复杂,因为此时可能有两个用户需要能够写入这些文件。因此必须采取措施避免写入这些文件时出现问题。以下是一些建议。
- 命令行界面 (CLI) 和 Web 服务器必须使用同一用户。这意味着在运行任意安装或升级命令(或其它会写入文件的命令)之前,需要手动切换到 Web 服务器用户;
- 若条件允许,应考虑对
data和internal_data目录使用访问控制策略 (ACL)。具体做法因操作系统和配置而异,但基本思路可参照此处; - 强制 PHP 写入特定内容的权限——通过修改
src/config.php文件来实现,如添加一行:$config['chmodWritableValue'] = 0666;这种方法对于开发而言可能是最简单的。
_output目录。这种情况下,让 Web 服务器以 CLI 用户身份运行可能是最省事的选择。如果选择其它方式,则可能需要确保 Web 服务器可以写入整个 XenForo 安装目录。不建议在生产环境中这么做。安装
对于开发者而言,应通过命令行方式安装 XF 2.0,因为许多开发工作只能通过 CLI 完成。要运行 XenForo 命令行指令,需要先访问终端或 Shell,具备执行 PHP 命令行的权限,且当前工作目录应该是 XF 2.0 源代码文件的根目录。
要开始安装,只需输入以下命令:
php cmd.php xf:install
控制台会提出一些问题,如初始管理员用户名和密码、网站名称等。随后,安装程序便会导入 XF 2.0 数据库表。
重新安装
有时可能需要重新安装 XF2,尤其是在开发预览阶段,因为该阶段不支持执行升级操作。
如果准备重新安装,请按照上文中的说明下载新文件。通常情况下只需合并并覆盖现有文件即可。若要进行完全重新安装,建议先保存一份config.php文件的副本,或者按照上文说明重新创建该文件。
在上传新文件之前,应删除data和internal_data目录中的内容。
最后,只需按照上述步骤开始安装即可,但需要在安装命令后面添加额外的--clear参数,以删除所有现有的xf_数据表。
php cmd.php xf:install --clear
重新安装完成后,便可以重新执行登录。
对于插件开发者而言,若想要在重新安装期间保留或备份现有的src/addons目录,则应使用导入开发模式输出命令来恢复插件数据。
验证文件完整性
安装 XF2 时,系统会执行文件完整性检查。若必要,且无法通过管理员控制面板中的页面执行此检查,则可以执行 CLI 命令来启动该检查。
php cmd.php xf:file-check [addon_id]
若要对所有文件(包括 XF 本身)进行文件完整性检查,只需忽略[addon_id]参数即可。
如果仅对 XF 内核进行检查,只需用 XF 代替该参数;如果要检查特定插件,只需指定要检查的插件 ID 即可。
与插件管理相关的命令
除了上述用于安装 XF2 的命令外,还有几个用于管理插件的命令。
安装
只要指定的插件可用且文件完整性检查通过,就会安装该插件。如果当前开发模式输出可用,则系统会询问是否要基于该输出进行安装,而不是使用导出的数据 XML 文件。
php cmd.php xf:addon-install [addon_id]
升级
升级指定的插件(前提是该插件可升级且文件完整性检查通过)。可以选择性地从开发模式输出执行导入。
php cmd.php xf:addon-upgrade [addon_id]
重建
重建指定插件的主数据(前提是该主数据可重建且通过文件完整性检查)。此操作会重新导入插件的数据。可以选择性地从开发模式输出执行导入。
php cmd.php xf:addon-rebuild [addon_id]
卸载
卸载指定的插件。
php cmd.php xf:addon-uninstall [addon_id]