此教程适用于以下操作系统版本

  • Ubuntu 24.04(Noble Numbat)
  • Ubuntu 20.04(Focal Fossa)
  • Ubuntu 18.04(Bionic Beaver)

本页内容

  • 环境准备(前置条件)
  • 安装依赖
  • 配置 UFW(简单防火墙)
  • 配置 PHP
  • 配置 MariaDB 服务器
  • 下载 Flarum 源代码
  • 为 Flarum 配置 Apache 虚拟主机
  • 使用 HTTPS 保护 Flarum
  • 安装 Flarum
  • 总结

Flarum 是一款基于 PHP、JavaScript 和 TypeScript 开发的免费开源论坛软件。它是新一代的论坛软件,设计理念是极简,并通过扩展(Extension)实现高度可扩展。Flarum 是论坛软件的现代化解决方案,它快速、简洁,且易于使用和安装。

在本教程中,我们将展示如何在 Ubuntu 24.04 上安装 Flarum。你将通过 LAMP 技术栈(Linux、Apache、MySQL/MariaDB 和 PHP)安装 Flarum,然后使用 Certbot 和 Let's Encrypt 通过 HTTPS 对其进行安全加固。

环境准备(前置条件)

在跟随本教程操作之前,请确保你已满足以下要求:

  • 一台 Ubuntu 24.04(Noble Numbat)系统。
  • 一个具有管理员权限的非 root 用户。
  • 已运行 UFW(简单防火墙)。
  • 一个已解析到服务器 IP 地址的域名。

安装依赖

Flarum 是一款使用 PHP 编写的开源论坛软件。要安装它,你需要为 Ubuntu 服务器安装相关依赖。这包括 LAMP 技术栈(Linux、Apache、MySQL/MariaDB)、Git 和 Composer。

在本节中,你将通过 Ubuntu 软件仓库安装 Flarum 所需的依赖。

首先,运行以下命令来更新 Ubuntu 的软件包索引。

sudo apt update

在 Ubuntu 24.04 上安装 Flarum 新一代论坛程序

现在运行以下命令,将 LAMP 技术栈(Linux、Apache、MySQL/MariaDB 和 PHP)、Composer 和 Git 等依赖安装到你的 Ubuntu 系统中。

sudo apt install apache2 mariadb-server php php-common php-mysql libapache2-mod-php php-gd php-curl php-json php-xmlrpc php-intl php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-soap php-tokenizer composer git

输入 Y 确认安装。

在 Ubuntu 24.04 上安装 Flarum 新一代论坛程序

安装完成后,使用以下命令检查 Apache 服务状态。你将看到 Apache Web 服务器已启用,状态为 ' active (running) '(运行中)。

sudo systemctl is-enabled apache2
sudo systemctl status apache2

在 Ubuntu 24.04 上安装 Flarum 新一代论坛程序

现在使用以下命令验证 MariaDB 服务器的状态。你将看到类似的输出,表明 MariaDB 已启用并正在运行。

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

在 Ubuntu 24.04 上安装 Flarum 新一代论坛程序

最后,使用以下命令检查 PHP 和 Composer 的版本。你将看到系统中已安装 PHP 8.3 和 Composer 2.7.1。

php -v
sudo -u www-data composer -v

在 Ubuntu 24.04 上安装 Flarum 新一代论坛程序

配置 UFW(简单防火墙)

安装完依赖后,你需要通过 UFW(简单防火墙)开放对 Apache Web 服务器的访问。Apache Web 服务器提供了一个名为 ' Apache Full ' 的 UFW 应用配置,用于同时允许 HTTP 和 HTTPS 访问。

运行以下命令,通过 ' Apache Full ' 配置开放 HTTP 和 HTTPS 访问。添加后,你将看到 ' Rules Added '(规则已添加)的输出。

sudo ufw allow 'Apache Full'

现在使用以下命令查看 UFW 上的规则列表。

sudo ufw status

你应当看到防火墙上已启用 ' Apache Full ' 配置。这样一来,对 Apache Web 服务器的 HTTP 和 HTTPS 访问都会被允许。

在 Ubuntu 24.04 上安装 Flarum 新一代论坛程序

配置 PHP

在本节中,你将通过编辑 ' php.ini ' 文件来为 Flarum 配置 PHP。你需要调整一些 PHP 配置项,例如 memory_limit(内存限制)和 upload_max_filesize(上传文件大小上限),以适配你的 Flarum 安装。

使用以下 nano 编辑器命令打开默认的 PHP 配置文件 ' php.ini '。

sudo nano /etc/php/8.3/apache2/php.ini

将以下默认 PHP 配置修改为相应的值。请务必根据情况调整 memory_limit 和 date.timezone(时区)选项的值。

memory_limit = 512M
upload_max_filesize = 150M
max_execution_time = 600
date.timezone = Europe/Paris

修改完成后,保存文件并退出。

现在运行以下命令重启 Apache Web 服务器,使新的 PHP 配置生效。

sudo systemctl restart apache2

配置 MariaDB 服务器

配置完 PHP 后,你将安全加固 MariaDB 服务器,并创建一个供 Flarum 使用的新数据库和用户。你可以通过 ' mariadb-secure-installation ' 命令加固 MariaDB,然后通过 ' mariadb ' 客户端创建新的数据库和用户。

要加固 MariaDB 服务器,请执行以下 ' mariadb-secure-installation ' 命令。执行过程中,系统会询问你一些 MariaDB 的配置项。

sudo mariadb-secure-installation

以下是你将被提示的配置项:

  • MariaDB 默认安装没有设置密码,在提示输入密码时直接按 ENTER(回车)。
  • 输入 Y 设置 MariaDB 的 root 密码。然后输入新的 MariaDB 密码并重复确认。
  • 输入 Y 从 MariaDB 安装中删除匿名用户。
  • 在提示禁用 MariaDB root 用户的远程登录时,再次输入 Y。
  • 输入 Y 从 MariaDB 中删除默认的 test 数据库。
  • 最后,输入 Y 重新加载权限表并应用新的更改。

MariaDB 加固完成后,使用以下命令登录 MariaDB 服务器。在提示时输入你的 MariaDB root 密码。

sudo mariadb -u root -p

现在运行以下 SQL 语句,为 Flarum 创建一个新的数据库和用户。在本示例中,你将创建一个名为 ' flarum ' 的数据库、一个名为 ' flarum ' 的用户,密码为 ' password '。你可以将这些信息替换为你自己的设置。

CREATE DATABASE flarum;
CREATE USER flarum@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON flarum.* TO flarum@localhost;
FLUSH PRIVILEGES;

在 Ubuntu 24.04 上安装 Flarum 新一代论坛程序

接下来,运行以下 SQL 语句验证用户 ' flarum ' 的权限。这将确保用户 ' flarum ' 能够访问数据库 ' flarum '。

SHOW GRANTS FOR flarum@localhost;

你可以看到用户 ' flarum ' 能够访问数据库 ' flarum '。

现在输入 quit 退出 MariaDB 服务器。

在 Ubuntu 24.04 上安装 Flarum 新一代论坛程序

下载 Flarum 源代码

所有依赖配置完成后,你就可以下载 Flarum 源代码了。在本节中,你将创建一个用于存放 Flarum 的新的网站根目录,然后通过 Composer 下载 Flarum 源代码。

首先,运行以下命令创建一个用于安装 Flarum 的新目录 ' /var/www/flarum/ ',以及 Composer 的目录 ' /var/www/.cache ' 和 ' /var/www/.config '。然后,将这些目录的所属用户改为 ' www-data '。

mkdir -p /var/www/{.cache,.config,flarum}
chown -R www-data:www-data /var/www/{.cache,.config,flarum}

现在切换到 ' /var/www/flarum/ ' 目录,并通过以下 Composer 命令下载 Flarum 源代码。

cd /var/www/flarum/
sudo -u www-data composer create-project flarum/flarum .

你可以在下方看到 Flarum 源代码的下载过程。

在 Ubuntu 24.04 上安装 Flarum 新一代论坛程序

下载过程完成后,运行以下 ' ls ' 命令检查 Flarum 源代码。

ls -ah

你应当看到已下载的 Flarum 源代码,类似如下所示:

在 Ubuntu 24.04 上安装 Flarum 新一代论坛程序

为 Flarum 配置 Apache 虚拟主机

下载 Flarum 后,你需要创建一个新的 Apache 虚拟主机。因此,请确保你已为 Flarum 安装准备好了域名。

在创建虚拟主机之前,运行以下命令启用 Apache 的 ' ssl '、' rewrite ' 和 ' headers ' 模块。

sudo a2enmod ssl rewrite headers

在 Ubuntu 24.04 上安装 Flarum 新一代论坛程序

现在使用以下 nano 编辑器命令创建新的虚拟主机配置文件 ' /etc/apache2/sites-available/flarum.conf '。

sudo nano /etc/apache2/sites-available/flarum.conf

插入以下配置,并务必将 ServerName 选项替换为你的域名,以及将 DocumentRoot 目录路径替换为你的 Flarum 安装路径。

<VirtualHost *:80>
 ServerAdmin 
[email protected]
 DocumentRoot /var/www/flarum/public
 ServerName forum.howtoforge.local
 <Directory /var/www/flarum/public/>
 Options FollowSymlinks
 AllowOverride All
 Require all granted
 </Directory>
 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
 
 <Directory /var/www/flarum/public/>
 RewriteEngine on
 RewriteBase /
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*) index.php [PT,L]
 </Directory>
</VirtualHost>

完成后,保存文件并退出编辑器。

接下来,运行以下命令激活虚拟主机文件 ' flarum.conf ' 并验证你的 Apache 配置语法。

sudo a2ensite flarum.conf
sudo apachectl configtest

如果你的 Apache 配置正确,应当看到 ' Syntax OK '(语法正确)的输出。

在 Ubuntu 24.04 上安装 Flarum 新一代论坛程序

最后,运行以下命令重启 Apache Web 服务器,使新的 Flarum 虚拟主机配置生效。至此,你的 Flarum 应当可以访问了。

sudo systemctl restart apache2

使用 HTTPS 保护 Flarum

如果你在公网域名上运行 Flarum,可以使用 Certbot 和 Let's Encrypt 证书通过 HTTPS 来保护它。如果你使用的是本地域名,则可以使用自签名证书。

使用以下命令安装 Certbot 及 Certbot 的 Apache 插件。输入 Y 确认安装。

sudo apt install certbot python3-certbot-apache

现在执行以下 ' certbot ' 命令,为你的 Flarum 安装生成 SSL/TLS 证书。请务必将域名和电子邮件地址替换为你自己的信息。

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email 
[email protected]
 -d forum.howtoforge.local

过程完成后,你的 Flarum 安装应当已通过 HTTPS 加固。你的 SSL/TLS 证书应当位于 ' /etc/letsencrypt/live/domain.com ' 目录中。

安装 Flarum

打开你的 Web 浏览器并访问你的域名,例如 https://forum.howtoforge.local/。如果你的配置成功,你将看到 Flarum 安装向导。

输入你的论坛标题、MariaDB 数据库、用户和密码的详细信息。然后,输入管理员用户、电子邮件地址和密码,用于你新的 Flarum 安装。

点击 ' Install Flarum '(安装 Flarum)按钮继续安装。

在 Ubuntu 24.04 上安装 Flarum 新一代论坛程序

安装完成后,你将看到如下所示的 Flarum 管理后台:

在 Ubuntu 24.04 上安装 Flarum 新一代论坛程序

现在点击你的用户图标并选择 Administration(管理)。这将显示你 Flarum 安装的详细信息。

正如你在下方所看到的,Flarum 1.8.5 已安装,运行环境为 PHP 8.3 和 MariaDB 服务器 10.11。

在 Ubuntu 24.04 上安装 Flarum 新一代论坛程序

总结

恭喜!你已成功在 Ubuntu 24.04 上完成了 Flarum 的安装。你通过 LAMP 技术栈(Linux、Apache、MySQL/MariaDB 和 PHP)运行了 Flarum,并且使用 Certbot 和 Let's Encrypt 通过 HTTPS 对其进行了安全加固。