入门须知¶
欢迎使用 XenForo 2!
本文档旨在帮助您开始 XenForo 2.0 开发。 本文档的前提条件假设您已熟悉 PHP 和 MySQL。 并非一定要拥有 XenForo 以前版本的经验,但这将是一个优势。
在接下来的页面中,我们将向您简要介绍如何设置本地服务器,准备安装,全新安装 XenForo 2.0 以及运行 XF2 开发的一些概念。
开发人员有什麽新功能?¶
尽管 XenForo 2.0 为您的论坛及其成员增加了许多改进,但我们仍投入了大量精力来改进 XenForo 的底层框架。 您可以在以下帖子中阅读更多关于这些更改的更多信息:
入门须知¶
XF 开发入门很容易。 您只需要下载文件,将它们上传到 Web 服务器并触发安装即可。
如果你还没有 Web 服务器,不用担心,你可以在本地端电脑上设置一个。
下载 XF 2.0¶
要下载 XF 2.0,只需访问 客户区 并正常登录即可。 找到正确的许可证,然后単击 "下载 XenForo" 链接。 选择您要下载的版本,套件类型并接受许可协议。 最后,単击下载按钮以下载文件。
XF 2.0 环境要求¶
从 XF 1.5 开始,运行 XF 2.0 的环境要求已更改。建议的环境要求如下:
- 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。
- 安装预构建的虚拟机
- 安装预构建的 Stack。
自己进行设置比较复杂,但往往可以让您更好地控制所有设置。
预先构建的虚拟机¶
网络上有多种预构建的虚拟机,这些虚拟机的优势在于,将所需的所有服务以整齐的方式打包到一个地方即可运行 XenForo,而不必直接在自己的计算机上安装和维护它们。
一些 XenForo 开发人员使用名为 Scotch Box 的虚拟机,它包含了运行 XenForo 所需的一切,无需任何配置。 我们有逐步安装和运行 XenForo 开发服务器的 逐步指南 - 您可以通过运行一些命令,在短短几分锺内就使虚拟网络和数据库服务器正常运行。
预构建 Stack¶
那里有许多预构建 Stack,它们在功能集,性能和可靠性方面可能会有所不同。Bitnami 维护许多 Stack,包括分别用于 Linux,Mac 和 Windows 的 LAMP, MAMP 和 WAMP Stacks。 它们都包括对 Apache,MySQL 和 PHP 的完全配置安装,并包括用于管理 MySQL 的 PhPMyAdmin。
上传¶
要安装 XF 2.0,您只需要提取从客户区下载的 ZIP 文件并上传其中的一些文件和目录。
解压缩后,您会看到一个名为 upload
的目录。 您需要进入该目录,然后将文件和目录上载到你服务器的 Web 根目录。 这通常会在一个名为
public_html
, htdocs
或 www
的目录。
创建 src/config.php¶
如果使用 CLI 安装 XF 2.0,则需要手动创建 config.php 文件。 要做到这一点,请在您上载到服务器的 XF 2.0 文件中输入 src
目录。 创建一个名为 config.php 的新文件,并填入你的 MySQL 服务器的主机,端口,用户名,密码和数据库名称。
Note
确保在 src
目录中创建配置文件。 该 library
目录仅用于旧版目的。
完成后,它应如下所示:
<?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 支持(例如 emoji 表情),则还应该在安装前添加以下内容:
$config['fullUnicode'] = true;
关于文件权限说明¶
XenForo 在运行时需要将文件写入特定位置。 在正常操作中,这仅限于 data
和 internal_data
目录(及其子目录)。 这些文件写入将由附件上传之类的东西触发,因此它们通常将由用户 PHP 象在 Web 服务器中一样运行来触发。 因此,必须确保在这些目录中设置了权限,以便 Web 伺务器可以对其进行写入。 您必须先运行此操作,然后才能开始安装。
当涉及到 CLI 时,这种情况变得更加棘手,因为现在可能有两个用户需要能够写入文件。 因此,采取措施避免写入这些文件的问题很重要。 这里有几个选择。
- 在 CLI 和 Web 服务器使用相同的用户。 这可以采取以下形式:在运行任何安装或升级命令(或任何其他将写入文件的命令)之前切换到 Web 服务器用户。
- 如果可用,请考虑将 ACL 应用于
data
和internal_data
目录中。 该概念因操作系统和配置而异,但 此处 描述的是总体思路。 - 对 PHP 写入的内容强制授予特定的权限。 这可以通过 src / config.php 文件中帯有如下一行的代码来完成:
$config['chmodWritableValue'] = 0666;
这种方法对于开发目的来说可能是最简単的。
请注意,如果您正在开发附加组件,则可能会有其他需要由 CLI 和 Web 服务器用户写入的位置。 值得注意的是,这包括附加组件中的 _output
目录。 在这种情况下,以您的 CLI 用户身分运行 Web 服务器可能会减少摩擦。
如果您采用其他任何方法,则可能需要确保您的 Web 服务器可以写入整个 XenForo 安装;在生产中不建议这样做。
安装¶
当前安装 XF 2.0 的方式是通过新的 CLI 系统。 许多开发过程只能使用 CLI 来进行,所以我们就来使用它来安装 XF 2.0。 要运行这些命令,您将需要访问 终端/shell,使用 php CLI 命令和当前工作目录应该是您上传 XF 2.0 文件的根目录。
Warning
为消除文件权限问题,我们建议以与 PHP 在 web 服务器上运行的相同用户来运行安装程序。 如果不这样做,则应该采取措施确保权限设置正确。 有关更多详细信息,请参见上面的章节。
要开始安装,只需输入以下命令:
Terminal
$ php cmd.php xf:install
您会被问到许多问题,例如初始管理员用户名和密码,板块标题。 此后,将导入 XF 2.0 数据库表和主要的数据。
XF 2.0 现在已安装完成!
重新安装¶
有时可能需要重新安装 XF2。 在不支持升级的 "开发预览" 阶段尤其如此。 如果准备好重新安装,请按照上面的 下载 XF 2.0 部分下载新文件(如果适用)。 一般来说,应该可以合并和复盖现有文件。 如果要进行完全干净的重新安装,则可能需要保存 config.php 文件的副本,或者按照 创建 src/config.php 中的说明重新创建它。
在上传新文件之前,您应该删除 data
和 internal_data
目录的内容。
最后,您只需要开始安装即可,与上面类似。 您将需要使用此 --clear
选项来删除所有现有的 xf_ 资料表。
Terminal
$ php cmd.php xf:install --clear
重新安装完成后,您现在应该可以重新登录了。
如果您正在开发附加组件,并且选择保留或备份现有 src/addons
目录,则可以使用 导入开发输出 命令来还原附加组件数据。
Warning
如果选择备份和还原 src/addons
目录,请小心。 其中的 XF
目录包含 XF 主要的数据,因此不应从备份中还原,以确保您始终拥有最新版本的文件。
以这种方式运行重新安装是破坏性的操作,它将删除您创建的所有数据。 此外,请记住,仅帯有 xf_
前缀的资料表才会被清除。 这也是建议所有资料表(甚至是附加组件)都应该以 xf_
为前缀的一个重要原因。
验证文件完整性¶
当您安装 XF2 时,我们会在安装过程中运行文件完整性检查。 如有必要,并且您无法通过 Admin CP 中的页面运行检查,则可以运行 CLI 命令来运行该检查。
Terminal
$ php cmd.php xf:file-check [addon_id]
如果您希望对所有文件(包括 XF 本身)进行文件运行健康检查,只需省略 [addon_id]
参数即可。 仅对于 XF,仅使用 XF
代替该参数,或者对于特定的附加组件,只需指定您要检查的附加组件 ID。
Add-on 管理命令¶
除了上述用于安装 XF2 的命令之外,还有一些用于管理附加组件的命令。
安装¶
Terminal
$ php cmd.php xf:addon-install [addon_id]
安装指定的附加组件,只要它是可用的,并通过文件运行健康检查。 如果有可用的开发输出,您将被要求确认是否要将其用于安装,而不是导出的数据 XML 文件。
升级¶
Terminal
$ php cmd.php xf:addon-upgrade [addon_id]
只要指定的附加组件是可升级的,就对其进行升级,并通过文件运行健康检查。 可以选择从开发输出中进行导入。
重建¶
Terminal
$ php cmd.php xf:addon-rebuild [addon_id]
只要指定的附加组件是可重建的,就为其重建主要的数据,并通过文件运行健康检查。 这将重新导入附加组件的数据。 可以选择性地运行从开发输出中导入。
卸载¶
Terminal
$ php cmd.php xf:addon-uninstall [addon_id]
卸载指定的附加组件,只要它是不可卸载的。