雨云搭建 Flarum 开源论坛

用雨云 KVM 云服务器 Docker 自建 Flarum,给小圈子一个干净的讨论区
发布于 更新于
8

想给项目用户、兴趣小组搞个交流区,大平台要么要手机号、要么广告多、要么说没就没。Flarum 是一个开源论坛程序,PHP 写的,界面现代、移动端友好、扩展多,数据全在自己服务器。本文用一台雨云 KVM 云服务器,Docker 一把拉起 Flarum + MySQL,配 HTTPS 反代,给小圈子搭个干净的讨论区。

一、先准备一台雨云 KVM 云服务器

Flarum 偏 PHP 应用,1 核 2G 跑得舒服,需要 7×24 在线、有公网 IP、绑域名走 HTTPS(论坛必须 https)。想低成本起一台可以看国产高性价比云服务器,比如雨云:KVM 虚拟化、Debian/Ubuntu 镜像任选,新用户用优惠码 admin01 享五折,入门版折后约 9 元/月,支持 7 天无理由退款。挑机器可参考 VPS 怎么选不踩坑新手买 VPS 先看这几个配置参数

我选 Debian 12。基础安全按 VPS 到手第一件事做什么 走一遍,本文默认你已建好普通用户、开了 ufw。后台走 8888,放行即可。

二、用 Docker 拉起 Flarum + MySQL

装 Docker:

curl -fsSL https://get.docker.com | sh
systemctl enable --now docker

建目录并写 docker-compose.yml(用社区维护的 all-in-one 镜像,自带 Nginx+PHP,省去配环境的麻烦):

mkdir -p /opt/flarum && cd /opt/flarum
version: "3"
services:
  db:
    image: mariadb:11
    container_name: flarum-db
    restart: unless-stopped
    environment:
      - MYSQL_ROOT_PASSWORD=改成强密码
      - MYSQL_DATABASE=flarum
      - MYSQL_USER=flarum
      - MYSQL_PASSWORD=改成另一个强密码
    volumes:
      - ./db:/var/lib/mysql
  flarum:
    image: mondedie/flarum:stable
    container_name: flarum
    restart: unless-stopped
    depends_on:
      - db
    ports:
      - "8888:8888"
    environment:
      - FORUM_URL=https://bbs.example.com
      - DB_HOST=db
      - DB_NAME=flarum
      - DB_USER=flarum
      - DB_PASS=改成另一个强密码
      - DB_ROOT_PASSWORD=改成强密码
      - FLARUM_ADMIN_USER=admin
      - FLARUM_ADMIN_PASS=设管理员密码
      - FLARUM_ADMIN_EMAIL=admin@example.com
      - TZ=Asia/Shanghai
    volumes:
      - ./assets:/flarum/app/public/assets
      - ./extensions:/flarum/app/extensions
      - ./nginx:/etc/nginx/conf.d

DB_PASS 要和 db 服务的 MYSQL_PASSWORD 一致。启动:

docker compose up -d

浏览器先开 http://服务器IP:8888,能进安装页说明服务正常。

三、配 HTTPS 反代

论坛必须 https(否则登录态、混合内容都出问题)。用 Nginx 反代 8888:

server {
    listen 80;
    server_name bbs.example.com;
    location / { return 301 https://$host$request_uri; }
}
server {
    listen 443 ssl;
    server_name bbs.example.com;
    ssl_certificate /etc/letsencrypt/live/bbs.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/bbs.example.com/privkey.pem;
    client_max_body_size 20m;
    location / {
        proxy_pass http://127.0.0.1:8888;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

申请证书:certbot --nginx -d bbs.example.com。放行端口:

ufw allow 80/tcp
ufw allow 443/tcp
ufw reload

打开 https://bbs.example.com,用 compose 里设的管理员账号登录,进后台装扩展、建版块。

四、怎么用出效率

  • 装扩展:后台「Extensions」装 flarum-sitemap(SEO)、fof-upload(附件)、fof-anti-spam(防垃圾)。国人社区还能接第三方验证码扩展。
  • 版块划分:按话题建 Tag/版块,置顶公告,新用户引导帖置顶。
  • 邮件通知:后台配 SMTP,否则注册验证、回复提醒发不出去(见下坑)。
  • 数据备份:核心是 ./db(MySQL)和 ./assets(上传文件)。定期 mysqldump 加打包 ./assets;异地思路见 雨云快照备份与对象存储

五、踩过的坑与经验

  • 必须配 SMTP:不配邮件,新用户收不到验证、密码找回也废。用任意邮箱服务的 SMTP,填到后台「Email」设置,发测试信确认。
  • FORUM_URL 必须 https:填 http 或 IP,前端资源会混协议、登录后样式错乱。改成最终 https 域名再起。
  • 后台暴露:论坛后台路径固定,建议加 Basic Auth 或限制来源 IP,详见 VPS 安全配置实战
  • PHP 版本敏感:Flarum 对 PHP 版本有要求。用 all-in-one 镜像的好处就是版本已配好,别手痒换底包。
  • 反代超时:上传大附件、长连接可能超时,Nginx 加 proxy_read_timeout 120s; 更稳。
  • 容器时区:加 TZ=Asia/Shanghai,否则发帖时间差 8 小时。

小结

小圈子要的是「自己的地盘、规则自己定」。Flarum 部署不难、扩展生态成熟,数据牢牢在手里。常驻论坛服务很适合雨云这类低价稳定 KVM——优惠码 admin01 五折、7 天无理由退款,跑个小社区很合适。

合规提醒:使用雨云及本文所述方案时,请遵守《网络安全法》《个人信息保护法》《数据安全法》等相关法律法规,仅用于合法合规的社区交流,务必落实实名与内容审核、履行个人信息保护与网络安全义务,不得利用本服务搭建或传播违法违规内容的论坛。

常见问题(FAQ)

Flarum 必须用 MySQL/MariaDB 吗,能换数据库吗?
Flarum 只支持 MySQL/MariaDB(含兼容的 Percona),不支持 PostgreSQL 或 SQLite。部署用 docker-compose 同时拉起数据库容器,账号密码两边一致,备份跟着数据库数据卷走。
新用户收不到验证邮件怎么办?
Flarum 不发邮件就收不到注册验证、密码找回。到后台「Email」设置填 SMTP(任意邮箱服务的发信账号),先发测试信确认能通,再开放注册。
登录后样式错乱、资源加载不全?
多半是 FORUM_URL 填成了 http 或 IP。把它改成最终访问的 https 域名,重启 flarum 容器即可。
雨云优惠码 admin01 怎么用?
下单页优惠码/推广码输入框填 admin01 即享五折,以结算页显示为准。论坛是常驻服务,建议开 1 核 2G 月付验证,雨云支持 7 天无理由退款。

本文由作者原创/授权发布于极跃圈(jiyueip.com)未经许可,禁止转载。题图来自Unsplash,基于CC0协议。

声明:极跃圈(JIYUEIP.com)内网友所发表的所有内容及言论仅代表其本人,并不反映任何极跃圈(JIYUEIP.com)之意见及观点。

0 讨论
热门最新
总结
暂无总结
0 / 600

用雨云 KVM 云服务器 Docker 自建 Outline 团队文档协作(Outline+PostgreSQL+Redis+对象存储),配 Nginx 反代 HTTPS、空间权限与备份。含环境变量坑与优惠码 admin01 五折。

用雨云 KVM 云服务器 Docker 自建 BookStack 团队文档/wiki,BookStack+MySQL 部署、Nginx 反代 HTTPS、书架层级与权限。含默认密码坑、413 上传限制与优惠码 admin01 五折。

用雨云 KVM 云服务器 Docker 自建 Cusdis 开源评论系统,Cusdis+SQLite 部署、Nginx 反代 HTTPS、脚本嵌入网站与审核。含 SALT 坑、page-id 唯一性与优惠码 admin01 五折。

用雨云 KVM 云服务器 Docker 部署 Wiki.js + PostgreSQL,搭一个自己托管的私有知识库,文档可接 Git 后端自动备份。含内存调优、反代 HTTPS 与优惠码 admin01 五折。

用雨云 KVM 云服务器 Docker 部署 Code Server,浏览器里直接写代码、跑终端、调端口,环境只在服务器维护一份。含 HTTPS 反代、强密码安全与优惠码 admin01 五折。