跳到主要内容

安装

即刻测试 Flarum?

欢迎前往我们的 演示站点 试用 Flarum。 您也可以用几秒钟在 Free Flarum(一个免费的非官方社区托管服务)建立属于您自己的论坛。

环境要求

在您安装 Flarum 之前,请确保您的服务器满足以下要求, 以便顺利的安装和运行 Flarum:

  • Apache(需要启用 mod_rewrite 重写模块) 或 Nginx
  • PHP 7.3+ 以及以下扩展:curl、dom、fileinfo、gd、json、mbstring、openssl、pdo_mysql、tokenizer、zip
  • MySQL 5.6+MariaDB 10.0.5+
  • 允许 SSH(命令行),以运行 Composer
即刻测试 Flarum?

现阶段,您不能通过在服务器下载 ZIP 压缩包来安装 Flarum 。 这是因为 Flarum 使用了一个叫做 Composer 的依赖管理系统,它需要在命令行上运行。

这并不意味着您需要一个 VPS。 某些共享主机会给予您 SSH 访问权限,这样您就能够安装 Composer 和 Flarum 了。

开始安装

Flarum 使用 Composer 来管理其依赖包和扩展程序。 在安装 Flarum 之前,您需要先在机器上 安装 Composer。 然后,在要安装 Flarum 的空白目录下执行此命令:

composer create-project flarum/flarum .

您可以在命令执行期间配置您的 Web 服务器。 请确保网站根目录(Webroot)设置为 /<Flarum 路径>/public,并按照下面的说明设置 URL 重写

当一切就绪后,在浏览器中访问您的论坛网址,根据安装向导完成安装。

URL 重写

Apache

Flarum 在 public 目录中附带了一个 .htaccess 文件,请确保它有正确生成。 如果没有启用 mod_rewrite 模块,或禁用了 .htaccess,Flarum 将无法正常运行。 请确认您的主机提供商(或您的 VPS)是否启用了这些功能。 如果您的服务器由您自行管理,您可能需要在您的网站配置中添加以下内容来启用 .htaccess 文件:

<Directory "/path/to/flarum/public">
AllowOverride All
</Directory>

以上确保了覆盖 htaccess 是被允许的,因此 Flarum 可以正确地重写 URL。

启用 mod_rewrite 的方法会因操作系统的不同而不同。 在 Ubuntu 上,您可以通过运行 sudo a2enmod rewrite 命令来启用它。 而在 CentOS 上 mod_rewrite 是默认启用的。 请不要忘记在修改配置后重启 Apache!

Nginx

Flarum 根目录附带了一个 .nginx.conf 文件,请确保它有正确生成。 假如您已经在 Nginx 中建立了一个 PHP 站点,您应当在站点配置中添加以下内容,以导入默认的重写规则:

include /<Flarum 路径>/.nginx.conf;

Caddy

Caddy 的配置很简单。 您需要将下方代码中的 URL 替换为自己的 URL,并将 path 替换为自己的 public 文件夹路径。 如果您使用的是其他版本的 PHP,您还需要修改 fastcgi 路径,使其指向正确的 PHP 安装 Socket 或 URL 。

www.example.com {
root * /var/www/flarum/public
php_fastcgi unix//var/run/php/php7.4-fpm.sock
header /assets/* {
+Cache-Control "public, must-revalidate, proxy-revalidate"
+Cache-Control "max-age=25000"
Pragma "public"
}
file_server
}

目录所有权

在安装过程中,Flarum 可能会要求您将某些目录设置为可写。 现代操作系统通常是多用户的,意味着您所登录的用户与Flarum所运行在的用户不同。 Flarum所运行在的用户必须拥有以下文件的读+写权限:

  • 根安装目录,以便Flarum 编辑 config.php
  • storage 子目录,以便Flarum 编辑日志并存储缓存数据。
  • assets 子目录,以便Logo和头像可以被上传到文件系统。

扩展程序可能需要其它目录,所以你可能需要递归地授予整个Flarum 根安装目录的写权限。

您需要运行几个命令来设置文件权限。 请注意,如果您在执行一部分安装后没有显示警告,您无需运行其余部分。

首先,您需要允许写访问目录。 在 Linux 上:

chmod 775 -R /path/to/directory

如果这还不够,您可能需要检查您的文件所属者是否为正确的群组和用户。 大多数 Linux 发行版,默认 www-data 为 PHP 和 Web 服务器所有者和所属组群。 您需要查看您的 distro 和 web 服务器设置的具体细节才能做出确定。 您可以运行下面这条命令来改变大多数 Linux 操作系统中文件夹的所有者。

chown -R www-data:www-data /path/to/directory

如果您的网页服务器使用了不同的用户/群组,请将 www-data 更改为对应的内容。

此外,您还需要确保您登录终端的 CLI 用户拥有所有权,这样您就可以通过 CLI 安装扩展并管理 Flarum 安装。 要执行此操作,请使用 usermod -a -G www-data YOUR_USERNAME 将当前用户(whoami)添加到 web 服务器组(通常为www-data)。 您可能需要注销并重新登录才能使此更改生效。

最后,如果这不起作用,您可能需要配置 SELinux 以允许 Web 服务器写入目录。 要执行此操作,请运行:

chcon -R -t httpd_sys_rw_content_t /path/to/directory

要了解有关这些命令以及 Linux 上的文件权限和所有权的更多信息,请阅读 本教程。 如果您在 Windows 上设置 Flarum,您可能会发现 此Super User中的问题 的答案有用。

:::注意:环境可能不同

您的环境可能与提供的文档不同,因此请咨询您的 Web 服务器配置或 Web 托管提供商,了解 PHP 和 Web 服务器运行所需的适当用户和组。

:::

:::危险:永远不要使用 777 权限!

您永远不应将任何文件夹或文件设置为 777 权限,因为此权限级别允许任何人访问文件夹和文件的内容,而无论是哪个用户或组。

:::

自定义路径

默认情况下,Flarum 的目录结构包含一个 public 目录,其中仅包含公开可访问的文件。 这是保证安全的最佳做法,可确保所有敏感代码文件完全不能通过 Web 根路径访问。

但是,如果您希望在子目录中托管 Flarum(例如 yoursite.com/forum),或者如果您的主机没有让您控制 Web 根目录(只能使用 public_htmlhtdocs 之类的目录),您可以在没有 public 目录的情况下设置 Flarum。

这种情况下,您需要将 public 目录中的所有文件(包括 .htaccess)全部移动到要安装 Flarum 的目录中。 然后编辑 .htaccess 并取消注释用来保护敏感文件的第 9-15 行代码。 如果是 Nginx,则取消注释 .nginx.conf 文件的第 8-11 行。

然后编辑 index.php 文件,修改这一行:

$site = require './site.php';

最后,编辑 site.php 并更新以下行所指的路径,以翻译新的目录结构:

'base' => __DIR__,
'public' => __DIR__,
'storage' => __DIR__.'/storage',

最后,检查 config.php,确保 url 值是正确的。

导入数据

如果您想用 Flarum 接续运营现有的一个社区,您可以将该论坛的数据导入到 Flarum 中。 虽然目前还没有官方的导入工具,但是社区里已经有人制作了几款非官方的导入工具:

这些导入器还可以用于其他论坛软件,方法是首先将它们迁移到phpBB,然后再迁移到Flarum。 需要说明的是,我们不能保证这些工具一直能正常使用,也不能为他们提供支持服务。