Flarum:一个高大上的论坛程序

-
-
2023-08-02

前言

Flarum,是一款非常简洁的开源论坛软件。 它响应快速、简便易用,拥有打造一片成功的社区所需的所有功能。

Flarum 具有以下几个特点:

  • 快速、简单: 不杂乱不臃肿,没有复杂的依赖关系。 Flarum 使用 PHP 构建,因此很容易被部署。 界面采用高性能- 且小巧的 JavaScript 框架 Mithril。
  • 漂亮、响应式。 以人为本的论坛软件。 Flarum 被精心设计以在不同平台间保持一致性和直观性,开箱即用。
  • 强大、可扩展。 您可以客制化、扩展或集成 Flarum 以满足您的社区需求。 Flarum 基于 MIT 协议 发布。
  • 免费、开源。 Flarum 以 MIT 许可证 发布。

搭建教程

本文主要基于Debain + Docker + Docker-compose 进行快速部署,如有不同之处请自行调整。

1、创建docker-compose.yml容器编排文件(本处仅为范例,请根据自身需求进行修改)

# 创建挂载目录 & 进入挂载主目录 & 创建 docker-compose.yml
mkdir /home/docker/flarum && cd /home/docker/flarum && nano docker-compose.yml

2、复制下方内容到docker-compose.yml中(本处仅为范例,请根据自身需求进行修改)

version: "3"
services:
  flarum:
    image: mondedie/flarum:stable   # stable是稳定版、latest是最新版,按需选择
    container_name: flarum
    hostname: flarum
    ports:
      - 8080:8888   # 左边的8080可以自己调整端口号,右边的8888不要改
    volumes:   # 数据映射到本地,数据不会因为Docker停止而丢失
      - ./assets:/flarum/app/public/assets
      - ./extensions:/flarum/app/extensions
      - ./logs:/flarum/app/storage/logs
      - ./nginx:/etc/nginx/flarum
    env_file:
      - ./flarum.env   # 引用环境配置文件,位置在docker-compose.yml文件的同级目录下
    restart: unless-stopped   # 自动重启

2、在docker-compose.yml同目录下继续创建flarum.env配置文件:

# 创建挂载目录 & 进入挂载主目录 & 创建 docker-compose.yml
nano flarum.env

2、复制下方内容到flarum.env中(本处仅为范例,请根据自身需求进行修改)

DEBUG=false

# 可以自行修改,这个是论坛的网站  注意域名地址没有的话 要填IP+port 要不然会报错
FORUM_URL=https://demo.com   

# 数据库配置
DB_HOST=172.0.0.1    # mysql访问地址
DB_NAME=flarum        # mysql名称
DB_USER=root          # mysql用户名称
DB_PASS=password    # mysql用户密码
DB_PREF=flarum_       # mysql表前缀
DB_PORT=3306          # mysql访问端口

# 管理员信息配置(第一次安装时的环境变量)
# 管理员密码必须至少包含8个字符
FLARUM_ADMIN_USER=admin           # 可以自行修改,修改成自己的账号
FLARUM_ADMIN_PASS=password        # 可以自行修改,修改成自己的密码
FLARUM_ADMIN_MAIL=admin@user.com  # 可以自行修改,修改成自己的邮箱
FLARUM_TITLE=Test flarum          # 可以自行修改,这个是论坛的标题

3、运行命令完成搭建

docker-compose up -d 

功能扩展

Flarum 具有很强的扩展性,主要依赖插件实现,本处提供几个常用的插件供大家选择。

因为 Flarum 容器需要使用内部预置的extension脚本来进行安装插件,故安装命令格式与正常的有所差异,需要将以下命令中的composer替换为extension,以下以安装简体中文包插件flarum-lang/chinese-simplified举例:

# 常规安装命令:composer
docker exec -ti flarum composer require flarum-lang/chinese-simplified
# 脚本安装命令:extension
docker exec -ti flarum extension require flarum-lang/chinese-simplified

以下提供一些笔者目前在使用的插件供参考:

  • 简体中文包:flarum-lang/chinese-simplified
  • 谷歌机器人验证:fof/recaptcha:"*"
  • pwa应用:askvortsov/flarum-pwa
  • 日夜切换按钮:fof/nightmode:"*"
  • 个人资料背景图:sycho/flarum-profile-cover:*
  • 草稿箱:fof/drafts:"*"
  • 留言板:fof/moderator-notes:"*"
  • 个性签名:fof/user-bio:"*"
  • 会员名录:fof/user-directory:"*"
  • cookie使用提醒:fof/cookie-consent
  • 贴子卡片样式:dem13n/discussion-cards
  • 中文搜索:ganuonglachanh/flarum-ext-search
  • 图片灯箱:darkle/fancybox
  • 导航栏链接:fof/links
  • 自定义静态页面:fof/pages
  • 公告栏:afrux/news-widget
  • 网页短址:pipecraft/flarum-ext-id-slug
  • 拉黑IP:fof/ban-ips
  • 发帖地址:gbcl/userip:"*"
  • BBCode文章折叠:flarumite/simple-spoilers:"*"
  • Markdown表格:askvortsov/flarum-markdown-tables:"*"
  • 修改帖子作者,时间:clarkwinkelmann/flarum-ext-author-change
  • BBCode 下载链接样式:ramesh-dada/download-button

参考资料


目录