✨ 朋友们,之前总有人问我:现在谁还搞论坛啊?这你就错啦!在自家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 用户。fnOS open SSH.png


安装工具

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 数据库

  1. 点击docker文件夹>右键>详细信息>常规>复制原始路径(演示将所有项目都放在了docker文件夹)fnOS-docker.png

  2. 进入docker文件夹

    # 将 /vol1/1000/docker 换成你自己实际的文件夹路径
    
    cd /vol1/1000/docker
  3. 创建MySQL数据库文件夹并进入文件夹

    mkdir mysql && cd mysql
  4. 创建MySQL数据库持久化存储文件夹

    mkdir data
  5. 编辑docker-compose.yml模板文件

    vi docker-compose.yml
  6. 按字母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
  7. 执行命令,启动docker-compose模板文件,拉取镜像并创建容器。

    docker compose up -d
    
    或
    
    docker-compose up -d

安装 Flarum

  1. 点击docker文件夹>右键>详细信息>常规>复制原始路径(演示将所有项目都放在了docker文件夹)fnOS-docker.png

  2. 进入docker文件夹

    # 将 /vol1/1000/docker 换成你自己实际的文件夹路径
    
    cd /vol1/1000/docker
  3. 创建项目文件夹并进入文件夹

    mkdir flarum && cd flarum
  4. 使用 Composer 安装当前最新版V1.8.*
    (composer建议不要使用root权限执行,你可以exit退出root模式,然后重新进入flarum文件夹执行下面的命令。如果是root权限执行的就看下一步。)

    composer create-project flarum/flarum:^1.8.0 .
  5. 如果是以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
  6. 等待一下即可完成,下面是以非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

同样,重启机器后需要重新运行。


初始化配置

  1. 打开浏览器,以NAS的IP+设置的端口号进行访问。
    以本机为例:http://192.168.2.6:8008

    http://NAS-IP:8008
  2. 前面你创建数据库和用户的 SQL 已经写好了,所以 Flarum 安装页面可以这样填数据库连接信息(对应你创建的数据库容器信息):

  • MySQL host192.168.2.6:13306 或者 0.0.0.0:13306

  • MySQL databaseflarum

  • MySQL usernameflarumuser

  • MySQL passwordflarumpassword

  • Table prefix:留空就行(除非你想在同一个数据库里装多个 Flarum,这时才需要设置前缀)

📌 小提醒:
如果你是在 本机 Mac 上跑 MySQL,用localhost 是没问题的;如果是 Docker 容器 或远程 MySQL,需要把 localhost 改成数据库容器名或服务器 IP。

  1. 完成安装后,登录后台进入管理面板。

  2. 登录成功,点击右上角头像--Administration。

  3. 你可以看到当前还是英文状态,进行下一步教程安装中文语言包。


扩展配置

默认只能用命令行安装扩展,若想在后台操作,需安装 扩展程序管理器
(同样是在非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

基础设置

  1. 回到flarum管理员后台下拉到最后,点击中文简体,开启之后点击跳转到【常规】页面。

  2. 点击选择中文简体作为默认语言,下拉到底部点击保存。


插件扩展

  1. 进入 Flarum 官方扩展目录,找到所需插件,在 Extension Manager 中安装即可。

  2. 例如实时在线用户插件,复制插件名。

  3. 点击Extension Manager,然后开启,将你想安装的插件名粘贴到框内,然后点击安装。

  4. 安装完之后自动跳转到插件页面,点击开启后简单设置一下,然后保存。

  5. 回到论坛首页后刷新即可看到插件

  6. 至于其他的全部都是中文,部分没汉化的自己浏览器打开翻译功能,都能看的懂,就不再啰嗦了。


总结

至此,Flarum 在飞牛NAS 上的本地部署已完成。通过本教程,你可以快速搭建一个轻量级论坛系统,并根据需要扩展插件和语言包,让论坛更加符合实际使用需求。


相关地址


文末

👇👇👇