之前看到很多论坛都使用了flarum轻论坛,如xclient.info的bbs和JSBOX社区,非常美观。
最近加入了Duke的微信群,各种各样的群有7-8个,可以说微信是被玩坏了,属于这个产品的功能在上面搞,不属于这个产品的也在上面搞,最后就是微信无法很好的对这些用户强加上的产品定位进行管理。如果非要管理的话,似乎也只能朝着qq的方向发展。
因此,这两天折腾了一下,搭建了一个基于LAMP的Flarum论坛:https://dukebbs.menyifan.com。鉴于几乎没有人使用这个论坛,所以当你打开这个论坛的时候可能已经关闭了。(此处心塞1s)
Prerequisite
这里使用的是DigitalOcean的最低配置的服务器,系统使用CentOS 7
LAMP安装
这里使用秋水逸冰的lamp安装包:https://lamp.sh
1 | # 准备工作 |
Notes: 我使用的是mysql-5.6.39
, php-7.0.29
,其他版本可能会出现问题,具体兼容哪些版本请参考最新的flarum官方文档。
这个过程大约需要20多分钟,建议先通过ctrl + a
然后按d
来detach这个screen,过半个小时再回来通过screen -r
来恢复这个screen。
composer安装
1 | curl -sS https://getcomposer.org/installer | php |
创建网站目录
1 | lamp add |
然后根据提示建立虚拟主机,增加ssl证书,记得创建数据库。
安装Flarum
这里先备份一下lamp生成的htaccess文件,因为flarum安装必须在一个空目录下
1 | cd /data/www/dukebbs.menyifan.com |
安装flarum
1 | composer create-project flarum/flarum . --stability=beta |
这样如果没问题的话,打开你的域名或者ip就可以看到flarum的安装界面了。这样所有的工作就已经完成了。
为flarum安装插件
Flarum安装插件经常需要一些php的功能,但是在lamp安装过程中,部分函数是被禁用了。这里要先开启这些功能,这可能引发一些其他的问题。
编辑/usr/loacl/php/etc/php.ini
文件,找到disable_functions = passthru,exec,system,chroot,chgrp,chown,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore
这一行,将这行注释掉即可。
这里列一些个人推荐的插件:
- jsthon/flarum-ext-simplified-chinese 没啥好说的,让论坛支持中文
- sijad/flarum-ext-links 添加论坛顶部的logo旁边的一些链接
- xengine/flarum-ext-markdown-editor 像word那样通过选中更改样式,对于不会Markdown的同学会比较友好
安装方式(以中文语言包为例)
1 | cd /data/www/dukebbs.menyifan.com |
删除不必要的插件
在网站的根目录下,有一个叫composer.json
的文件,里面有一个require
字段,包含了目前论坛所有可用的插件,删除不必要的插件,然后执行composer update
即可更新插件列表
Troubleshooting
这两天经常遇到了这样的错误:
1 | 加载出错,请刷新页面或更换浏览请再试 |
然后去网站根目录下编辑config.php
将debug
改为true
就解决了,如果不行的话就只能禁用插件了,目前还没找到比较好的方法。