草稿也在这打了!
=======
从头搭建一个统计之都一样的flarum论坛
前言
I web, therefore I am spiderman.
-yihui
虽然BBS的时代早已过去,但头铁如我,既想构建自己的讨论社区,又不愿依附国内各大平台被迫签署各种不平等条约和随时可能出现的么蛾子,于是自己动手搭建了一个flarum论坛,于是记录下整个过程,希望对有相似需求的小伙伴有所帮助。
总结一下搭建flarum论坛的优缺点:
- 优点
- flarum开源且免费
- 构架简单轻便,且移动端也很好用
- 可以提供hugo静态博客的评论系统,国外流行的disqus在国内基本被墙,而国内并无类似的替代第三方服务(应该说有过一些但基本都跑路了)
- 缺点
- 服务器要钱的啊!
- 域名也要钱的啊!
- 论坛的时代真的过去了啊!
另外我的系统是Ubuntu 18.04
话不多说,开始正文吧
服务器
与hugo静态博客那一堆html相比,论坛需要数据库支持,所以还得手动配置服务器。搭建论坛的第一步是租一个虚拟机或者虚拟服务器(VM/VPS)
搜了一圈,可选择的范围还挺多而且价格和配置都差不多(平均水平大致(10GSSD硬盘+1000G流量+单核CPU)5刀/月。我选择的是谷歌云(GCP),因为活动送一年三百刀的羊毛可以薅。
配置GCP的过程大致参考了知乎的这个帖子 https://zhuanlan.zhihu.com/p/33099231
大致流程如下:
- 注册
- 创建项目
- 创建虚拟机, 考虑国内访问速度可以选台湾或服务器(asia-a/b/c),内存CPU都选最小,防火墙一栏勾上允许HTTP流量和HTTPS流量即可, 系统我选的Ubuntu18.04因为比较熟悉
- 创建独立IP
- OK
登录服务器
在GCP console - computer engine - VM instance下面可以看到刚创建好的虚拟机。connect提供了多个登录服务器的方式,网页版感觉不大习惯,而手动配置ssh略麻烦,所以我使用了谷歌提供的gcloud命令行工具
本地装好gcloud之后,复制connect-view gcloud command里的命令在本地终端里执行即可登录服务器
登录之后先 apt-get update/upgrade一下,升级系统的软件包
安装flarum
参考的是这一篇
https://www.howtoforge.com/tutorial/ubuntu-flarum/
大致流程如下
- 安装依赖,有apache2, mariaDB, php7.2的各种扩展
- 安装flarum
- 配置服务器
cloudflare设置域名
在这里我只选择了用cloudflare做域名解析DNS,cloudflare提供的服务当然不只DNS,但实际使用下来发现国内大部分访问起来都是加速变减速。
- dns配置: 配置时在DNS下添加A记录,name为子域名,content为IP,proxy status设为DNS only
- SSL/TLS:拉到FULL(STRICT)没问题
配置SSL
SSL保证了信息在服务器和你之间传递过程中加密,这里选用的是免费的Let's encrypt, 有效期三个月挺短,不过没关系在服务器上配个cron job让它自动更新即可。
在服务器里可以看到地址为https就是SSL加密的网站,还会有个小锁。
参考的是这篇 https://discuss.flarum.org/d/1623
大致流程:
- 配置apache2的ssl模块并打开443端口(
- 安装lets-encrypt
- 执行 lets-encrypt apache2的网站配置都能帮你弄好。
- 修改flarum的配置文件里的域名,刷新缓存
- 配置cron job