如果,您有了解 Flarum,或者使用 Wappalyzer 工具,那您应该很容易了解到,前段时间,吾所搭建的悠然宜想亭社区,是基于 Flarum 来搭建;在这过程中,有过一番折腾;此篇文章,旨在与感兴趣的朋友们,分享下:”如何基于 Flarum,快速 搭建一个优雅简洁论坛”。

微注:本文首发于悠然宜想亭──是基于 Flarum 所搭建的现代化社区,旨在营造温润、宽厚、互助的现代化社区;您可以在这里探讨技术、寻求创意、分享美食、聊聊工作、发布科普等等,甚至是为喜欢的作品打 Call、推广……欲了解更多,可以参见关于“悠然宜想亭”的由来,以及未来悠然宜想亭,各 Tag 的设定说明等文章。

Flarum | 一款优雅简洁论坛软件

Flarum Installation 文档中,颇为清晰的说明 Flarum 该如何安装:

1
composer create-project flarum/flarum . --stability=beta

但实际操作却有着很多问题;如安装 composer,升级 PHP(PHP 须是 7.2.9+)等等;就升级 PHP 这一项,在 Mac 和两台 Linux 服务器上,都根据 stackoverflow 上的回答,分别做了尝试,却仍有其他各种问题;在耗了蛮长时间后,突然想到,Flarum 这么好的工具,肯定有被集成至 Docker 呀,在 Docker Hub 一经检索,果然存在——mondediefr/docker-flarum:💬 🐳 Docker image of Flarum。按照 README 进行操作,很快就搭建完成,并发布上线;在此,跟大家分享下具体操作:

  1. 基于如下方法搭建,须要一个前提,即:安装 Docker 和 docker-compose;
  2. 建议 docker-compose.yml,并做如下配置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
version: "2"
services:
flarum:
image: mondedie/flarum:stable
container_name: flarum
env_file:
- ./flarum/flarum.env
volumes:
- ./flarum/assets:/flarum/app/public/assets
- ./flarum/extensions:/flarum/app/extensions
- ./flarum/nginx:/etc/nginx/flarum
ports:
- 8888:8888
depends_on:
- mariadb
mariadb:
image: mariadb:10.5
container_name: mariadb
environment:
- MYSQL_ROOT_PASSWORD=xxxxxxxxxxx
- MYSQL_DATABASE=flarum
- MYSQL_USER=flarum
- MYSQL_PASSWORD=xxxxxxxxxxx
volumes:
- ./mysql/db:/var/lib/mysql
  1. 建立本地目录 flarum 及文件 flarum/flarum.dev,并做配置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# vim ./flarum/flarum.env
FORUM_URL=https://forum.lovejade.cn
# Database configuration
DB_HOST=mariadb
DB_NAME=flarum
DB_USER=flarum
DB_PASS=xxxxxxxxxxx
DB_PREF=flarum_
DB_PORT=3306
# User admin flarum (environment variable for first installation)
# /!\ admin password must contain at least 8 characters /!\
FLARUM_ADMIN_USER=admin
FLARUM_ADMIN_PASS=xxxxxxxxxxx
FLARUM_ADMIN_MAIL=xyz@xyz.com
FLARUM_TITLE="悠然宜想亭"
  1. 基于 docker-compse 运行命令,启动 Flarum 服务:
1
docker-compse up -d
  1. 解析域名,配置 Nginx 反代 Flarum 服务(设定为:8888 端口):
    解析域名,这就不在多说了,在域名商处,对想要的域名,添加 A,指定服务器 IP 即可,非常简单;至于 Nginx 配置,也比较简单,即在 nginx/conf.d 目录下,添加了 forum-lovejade-cn.conf 文件,并做了简单配置即可:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
upstream forum {
server 127.0.0.1:8888;
keepalive 8;
}
server {
listen 443;
ssl on;
ssl_certificate 1_forum.xyz_bundle.crt;
ssl_certificate_key 2_forum.xyz.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
ssl_prefer_server_ciphers on;
server_name forum.lovejade.cn;
location / {
proxy_set_header Host $http_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;
proxy_pass http://forum;
}
}

需要补充说明的是,在 nginx/nginx.conf 文件,原本已经添加 include 命令(如下),因此上面说在 nginx/conf.d 目录下,直接添加新的 *.conf 文件,重启 Nginx 即能生效。

1
include /etc/nginx/conf.d/*.conf;
  1. 重启 Nginx(nginx -s reload),见证奇迹:浏览器打开域名地址,填写数据库信息以及管理员信息,点击安装即可(如下图)。于是悠然宜想亭就这么搭建了起来,👏。

Flarum Install

以上,便是”如何基于 Flarum 搭建一个优雅简洁论坛”的大部分内容,有同欲者,可按照如上方法,搭建属于您的论坛(社区),如有问题,欢迎留言探讨。就使用体验来看,Flarum 有几个明显优点点:

  1. 响应速度,出奇的快,本站未做额外处理,且服务器使用的是 DigitalOcean,朋友们可访问本站,以体验之;
  2. 界面简洁,支持自定义;功能丰富,尤其是后台,支持各种设定;下面就部分功能做了截图,大家可感受下;

Flarum 论坛后台

早些时候倒也想过,手动写一个社区,考虑到所需耗时太长、精力过重,就作罢了;搭建悠然宜想亭,有率先考虑 Discuz!Q88250/symphony 并做尝试,只不过几番操作,却不能快速成事;这才转而折腾 Flarum,深入了解,大感其妙。从 Flarum 的设计哲学,也学到很多:类似工具,须当以简易搭建而始,更多设定,该是在网站后台提供操作;否则,将很多用户绝于道途,这样可不好。

于深圳·福田 2021.03.13,上次修改 2021.03.22。

您可能感兴趣的文章


静晴轩 ~ 晚晴幽草轩
个人微信公众号晚晴幽草轩;名字取自:“天意怜幽草,人间重晚晴”。
专注互联网开发(Web 大前端、快应用、小程序),以及分享优质网站、AI 应用、效率工具、心得感悟等内容。

文章目录
  1. 1. 您可能感兴趣的文章