
飞牛NAS论坛搭建:本地部署Flarum开源论坛最新版 | 2025最全教程
✨ 朋友们,之前总有人问我:现在谁还搞论坛啊?这你就错啦!在自家NAS上搭个轻巧又好看的私人论坛,整理技术笔记、分享最新八卦,或是组个游戏开黑小队,简直方便又实用!
说起开源论坛软件 ——Flarum,它基于 PHP Laravel 框架开发,轻量又美观,对小白超友好。Flarum 的诞生还有段故事,它的开发者 Toby Zerner 曾开发 esoTalk,后来因拓展性不足放弃,转而打造了 Flarum 。如今,Flarum 经过多年打磨,已经相当成熟。我知道很多朋友都有自己的飞牛 NAS,今天就来给大家分享在飞牛 NAS 上本地部署 Flarum 论坛的详细图文教程,让你轻松搭建属于自己的高品质社区,赶紧看下去吧!
本文将详细介绍如何在 飞牛NAS 上本地部署 Flarum 论坛,适合喜欢自己折腾环境的朋友。操作步骤循序渐进,即使是新手也能顺利完成。
关于 Flarum:打造优雅简洁的开源论坛
Flarum 是一款现代化的开源论坛软件,旨在为用户提供快速、简洁且高度可扩展的讨论平台。它继承了 esoTalk 和 FluxBB 的精髓,融合了现代 Web 技术,打造出一个既美观又实用的社区解决方案。
🎯 核心目标
Flarum 的设计理念可以归纳为以下三点:
-
快速、简洁:去除冗余,避免复杂的依赖关系,核心代码精简,部署便捷。
-
美观、响应式:采用 Mithril 框架构建前端,提供流畅的用户体验,支持多种设备访问。
-
强大、可扩展:通过扩展机制,用户可以根据需求自定义功能,满足不同社区的管理需求。
🔧 功能亮点
-
现代化界面:扁平化设计,支持暗黑模式,适配各种屏幕尺寸。
-
社区互动:支持点赞、@提及、实时通知等社交功能,增强用户互动性。
-
权限管理:细粒度的权限控制,支持用户组和分类权限配置,满足不同管理需求。
-
扩展机制:丰富的插件生态,用户可以根据需要安装或开发扩展,拓展论坛功能。
-
多语言支持:社区提供多种语言包,用户可以轻松切换界面语言。
🌐 加入 Flarum 社区
Flarum 的发展离不开社区的支持和贡献。无论您是开发者、设计师、文档撰写者,还是翻译志愿者,都可以通过以下方式参与其中:
-
开发扩展:为 Flarum 或其扩展贡献代码,提升功能和性能。
-
撰写文档:为官方文档提供翻译或编写教程,帮助更多用户上手。
-
社区支持:在讨论区解答他人疑问,分享使用经验,共同成长。
-
捐赠支持:通过 GitHub Sponsors 或 OpenCollective 平台进行捐赠,支持 Flarum 的持续发展。
环境要求
在安装 Flarum 之前,请确认服务器满足以下要求:
-
Web 服务器: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 和必要的维护命令
部署教程
本文以 飞牛NAS 系统为例。其他 Linux 系统环境大同小异,只要安装好 Docker 与 Docker Compose 即可。
首先,打开 NAS 的 SSH 功能,使用终端软件连接,并切换到 root 用户。
安装工具
1. 更新系统
sudo apt update && sudo apt upgrade -y
遇到提示时,直接回车即可。
2. 添加 Sury PHP 仓库
安装依赖(这是 PHP 官方推荐的第三方源,维护最新的 PHP 版本):
sudo apt install -y apt-transport-https lsb-release ca-certificates curl gnupg
导入 GPG key:
curl -fsSL https://packages.sury.org/php/apt.gpg | sudo gpg --dearmor -o /usr/share/keyrings/sury-php.gpg
添加仓库:
echo "deb [signed-by=/usr/share/keyrings/sury-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list
更新软件源:
sudo apt update
3. 安装 PHP 依赖
安装 PHP GD( PHP 内置的图像处理库):
apt install -y php-gd
安装 PHP 8.2 及 Flarum 依赖扩展:
sudo apt install -y php8.2 \
php8.2-cli php8.2-common php8.2-curl php8.2-mbstring \
php8.2-mysql php8.2-pgsql php8.2-xml php8.2-gd \
php8.2-zip php8.2-intl php8.2-bcmath unzip git curl
验证 PHP 版本:
php -v
应该能看到:
PHP 8.2.x (cli) (built: ...)
检查扩展:
php -m | grep -E "curl|dom|fileinfo|gd|mbstring|openssl|pdo_mysql|pdo_pgsql|tokenizer|xml"
✅如果都能输出,说明环境就绪。
4. 额外扩展安装
安装 MySQL 驱动:
sudo apt install -y php8.2-mysql
验证扩展是否生效
php -m | grep pdo_mysql
输出:
pdo_mysql
✅说明安装成功
安装 Composer(官方推荐安装方式):
apt install composer -y
安装 php-xml
扩展(包含 ext-dom
):
apt install -y php-xml
确认扩展已启用,安装后执行:
php -m | grep dom
✅如果输出有 dom
,说明扩展已生效。
安装 php-curl
扩展:
apt install -y php8.2-curl
安装后,运行:
php -m | grep curl
✅如果看到 curl
出现在输出中,说明扩展已生效。
重要操作
飞牛系统使用Nginx默认占用 80 端口,会和 Flarum 冲突。
执行完毕后,建议重启 NAS。
创建 MySQL 数据库
-
点击docker文件夹>右键>详细信息>常规>复制原始路径(演示将所有项目都放在了docker文件夹)
-
进入docker文件夹
# 将 /vol1/1000/docker 换成你自己实际的文件夹路径 cd /vol1/1000/docker
-
创建MySQL数据库文件夹并进入文件夹
mkdir mysql && cd mysql
-
创建MySQL数据库持久化存储文件夹
mkdir data
-
编辑docker-compose.yml模板文件
vi docker-compose.yml
-
按字母
i
键进入编辑模式,复制并修改下面的配置文件,粘贴到终端,按Esc
键退出编辑模式,输入:wq
保存并退出。(排版太挤的就先粘贴到文本文件内,修改后再使用,灵活应变。)
version: "3.9" services: # ---------------- MySQL 数据库 ---------------- mysql: container_name: flarum-mysql # 容器名称 image: mysql:8.1 # MySQL 镜像,可根据需要调整版本 restart: always # 容器异常退出自动重启 environment: MYSQL_ROOT_PASSWORD: rootpassword # MySQL root 密码 MYSQL_DATABASE: flarum # 初始数据库名--就是flarum数据库名称 MYSQL_USER: flarumuser # 新建用户--就是flarum数据库的用户名,可以自己修改。 MYSQL_PASSWORD: flarumpassword # 新建用户密码--就是flarum数据库的密码,可以自己修改。 volumes: - ./data:/var/lib/mysql # 数据持久化到宿主机当前的 ./data/mysql 文件夹 ports: - "13306:3306" # 本地端口映射,方便外部访问,由于NAS基本都自带数据库且被占用默认3306端口,所以左侧的13306端口我们可以自己修改。 command: --default-authentication-plugin=mysql_native_password healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] interval: 10s timeout: 5s retries: 5 start_period: 10s networks: default: driver: bridge
-
执行命令,启动docker-compose模板文件,拉取镜像并创建容器。
docker compose up -d 或 docker-compose up -d
安装 Flarum
-
点击docker文件夹>右键>详细信息>常规>复制原始路径(演示将所有项目都放在了docker文件夹)
-
进入docker文件夹
# 将 /vol1/1000/docker 换成你自己实际的文件夹路径 cd /vol1/1000/docker
-
创建项目文件夹并进入文件夹
mkdir flarum && cd flarum
-
使用 Composer 安装当前最新版
V1.8.*
:
(composer建议不要使用root权限执行,你可以exit
退出root模式,然后重新进入flarum文件夹执行下面的命令。如果是root权限执行的就看下一步。)composer create-project flarum/flarum:^1.8.0 .
-
如果是以root权限执行的,看到提示时输入
yes
后按回车键,继续执行。root@i5-4570:/vol1/1000/docker/flarum# composer create-project flarum/flarum:^1.8.0 . Do not run Composer as root/super user! See https://getcomposer.org/root for details Continue as root/super user [yes]? yes # 这里------------《《《《《《 Creating a "flarum/flarum:^1.8.0" project at "./" Installing flarum/flarum (v1.8.1) - Downloading flarum/flarum (v1.8.1) - Installing flarum/flarum (v1.8.1): Extracting archive Created project in /vol1/1000/docker/flarum/. Loading composer repositories with package information
-
等待一下即可完成,下面是以非root权限执行的日志。
(如果有问题,那么需要删除flarum项目文件夹内的所有文件,清空文件夹然后重新执行上一条安装命令。)- Installing flarum/sticky (v1.8.2): Extracting archive - Installing flarum/subscriptions (v1.8.1): Extracting archive - Installing flarum/suspend (v1.8.4): Extracting archive - Installing flarum/tags (v1.8.4): Extracting archive 51 package suggestions were added by new dependencies, use `composer suggest` to see details. Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead. Generating autoload files 73 packages you are using are looking for funding.
启动 Flarum
有三种方式可供选择:
方法一:临时运行
前台运行的临时开发服务器模式
# 可将0.0.0.0换成你的NAS局域网IP
# 将8008换成你自己想用的端口
php -S 0.0.0.0:8008 -t public
如果 停止查看日志
/ 断开SSH连接
,这个方式就没了,需要重新执行。
方法二:后台运行
nohup
+ &
(简单后台运行)
# 可将0.0.0.0换成你的NAS局域网IP
# 将8008换成你自己想用的端口
nohup php -S 0.0.0.0:8008 -t public > flarum.log 2>&1 &
-
nohup
:忽略挂断信号,避免 SSH 断开后进程退出 -
&
:让进程后台运行 -
flarum.log
:日志文件
查看进程:
ps -ef | grep php
如果重启服务器,这个方式就没了,需要重新执行。
⏹ 如果要临时停止就看下面的步骤
1️⃣ 查看后台 PHP 进程
执行:
ps aux | grep "php -S"
你会看到类似:
root 12345 0.0 0.1 ... php -S 0.0.0.0:8008 -t public
其中 12345
就是 PHP 服务器的 进程号(PID)。
2️⃣ 停止进程
用 kill
命令停止:
kill 12345
如果不生效,可以强制杀掉:
kill -9 12345
方法三:使用 screen/tmux(推荐)
# 可将0.0.0.0换成你的NAS局域网IP
# 将8008换成你自己想用的端口
screen -S flarum
php -S 0.0.0.0:8008 -t public
然后按 Ctrl+A D
分离会话,即使退出 SSH 也不会关闭。
再次进入运行日志状态:
screen -r flarum
同样,重启机器后需要重新运行。
初始化配置
-
打开浏览器,以NAS的IP+设置的端口号进行访问。
以本机为例:http://192.168.2.6:8008http://NAS-IP:8008
-
前面你创建数据库和用户的 SQL 已经写好了,所以 Flarum 安装页面可以这样填数据库连接信息(对应你创建的数据库容器信息):
-
MySQL host:
192.168.2.6:13306
或者0.0.0.0:13306
-
MySQL database:
flarum
-
MySQL username:
flarumuser
-
MySQL password:
flarumpassword
-
Table prefix:留空就行(除非你想在同一个数据库里装多个 Flarum,这时才需要设置前缀)
📌 小提醒:
如果你是在 本机 Mac 上跑 MySQL,用localhost
是没问题的;如果是 Docker 容器 或远程 MySQL,需要把localhost
改成数据库容器名或服务器 IP。
-
完成安装后,登录后台进入管理面板。
-
登录成功,点击右上角头像--Administration。
-
你可以看到当前还是英文状态,进行下一步教程安装中文语言包。
扩展配置
默认只能用命令行安装扩展,若想在后台操作,需安装 扩展程序管理器:
(同样是在非root模式下执行,如果是root模式下执行的就看到提示输入yes
然后继续。)
composer require flarum/extension-manager:"*"
安装中文语言包(推荐 v1.6.0,适配 flarum 1.8 版本):
composer require flarum-lang/chinese-simplified:^v1.6.0
# 如果安装最新版执行下面的命令
composer require flarum-lang/chinese-simplified
清除缓存:
php flarum cache:clear
基础设置
-
回到flarum管理员后台下拉到最后,点击中文简体,开启之后点击跳转到【常规】页面。
-
点击选择中文简体作为默认语言,下拉到底部点击保存。
插件扩展
-
进入 Flarum 官方扩展目录,找到所需插件,在 Extension Manager 中安装即可。
-
例如实时在线用户插件,复制插件名。
-
点击Extension Manager,然后开启,将你想安装的插件名粘贴到框内,然后点击安装。
-
安装完之后自动跳转到插件页面,点击开启后简单设置一下,然后保存。
-
回到论坛首页后刷新即可看到插件
-
至于其他的全部都是中文,部分没汉化的自己浏览器打开翻译功能,都能看的懂,就不再啰嗦了。
总结
至此,Flarum 在飞牛NAS 上的本地部署已完成。通过本教程,你可以快速搭建一个轻量级论坛系统,并根据需要扩展插件和语言包,让论坛更加符合实际使用需求。
相关地址
-
官网地址:https://flarum.org/
-
官方论坛地址:https://discuss.flarum.org/
-
官方文档地址:https://docs.flarum.org/zh/
-
官方插件市场地址:https://flarum.org/extensions?tableSortColumn=created_at&tableSortDirection=desc
-
GitHub项目地址:https://github.com/flarum/framework
-
使用Docker安装Flarum(停更数年版本过于老旧):https://github.com/mondediefr/docker-flarum
-
Flarum 论坛源码部署文件:https://pan.quark.cn/s/9faa28cbc406?pwd=s2gB
文末
👇👇👇
- 感谢你赐予我前进的力量