如果您了解 Flarum,或者使用 Wappalyzer 工具,那您应该很容易了解到,本站(悠然宜想亭)是基于 Flarum
来搭建的;此帖,即与感兴趣的朋友,分享下:"如何基于 Flarum 搭建一个优雅简洁论坛"。
在 Flarum Installation 文档中,颇为清晰的说明 Flarum
该如何安装:
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 进行操作,很快就搭建完成,并发布上线;在此,跟大家分享下具体操作:
- 基于如下方法搭建,须要一个前提,即:安装 Docker 和 docker-compose;
- 建议
docker-compose.yml
,并做如下配置:
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
- 建立本地目录
flarum
及文件 flarum/flarum.dev
,并做配置:
# 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="悠然宜想亭"
- 基于
docker-compse
运行命令,启动 Flarum 服务:
docker-compse up -d
- 解析域名,配置 Nginx 反代 Flarum 服务(设定为:8888 端口):
解析域名,这就不在多说了,在域名商处,对想要的域名,添加 A,指定服务器 IP 即可,非常简单;至于 Nginx 配置,也比较简单,即在 nginx/conf.d
目录下,添加了 forum-lovejade-cn.conf
文件,并做了简单配置即可:
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 即能生效。
include /etc/nginx/conf.d/*.conf;
- 重启 Nginx(
nginx -s reload
),见证奇迹:浏览器打开域名地址,填写数据库信息以及管理员信息,点击安装即可(如下图)。于是悠然宜想亭就这么搭建了起来,👏。
以上,便是"如何基于 Flarum 搭建一个优雅简洁论坛"的大部分内容,有同欲者,可按照如上方法,搭建属于您的论坛(社区),如有问题,欢迎留言探讨。就使用体验来看,Flarum 有几个明显优点点:
- 响应速度,出奇的快,本站未做额外处理,且服务器使用的是 DigitalOcean,朋友们可访问本站,以体验之;
- 界面简洁,支持自定义;功能丰富,尤其是后台,支持各种设定;下面就部分功能做了截图,大家可感受下;
早些时候倒也想过,手动写一个社区,考虑到所需耗时太长、精力过重,就作罢了;搭建悠然宜想亭,有率先考虑 Discuz!Q、88250/symphony 并做尝试,只不过几番操作,却不能快速成事;这才转而折腾 Flarum,深入了解,大感其妙。从 Flarum 的设计哲学,也学到很多:类似工具,须当以简易搭建而始,更多设定,该是在网站后台提供操作;否则,将很多用户绝于道途,这样可不好。
于深圳·福田 2021.03.13,上次修改 2021.03.22。
您可能感兴趣的文章