MYF

Flarum轻论坛搭建笔记

之前看到很多论坛都使用了flarum轻论坛,如xclient.info的bbsJSBOX社区,非常美观。

最近加入了Duke的微信群,各种各样的群有7-8个,可以说微信是被玩坏了,属于这个产品的功能在上面搞,不属于这个产品的也在上面搞,最后就是微信无法很好的对这些用户强加上的产品定位进行管理。如果非要管理的话,似乎也只能朝着qq的方向发展。

因此,这两天折腾了一下,搭建了一个基于LAMP的Flarum论坛:https://dukebbs.menyifan.com。鉴于几乎没有人使用这个论坛,所以当你打开这个论坛的时候可能已经关闭了。(此处心塞1s)

Prerequisite

这里使用的是DigitalOcean的最低配置的服务器,系统使用CentOS 7

LAMP安装

这里使用秋水逸冰的lamp安装包:https://lamp.sh

1
2
3
4
5
6
7
8
9
10
11
# 准备工作
yum -y install wget screen git

# 获取代码
git clone https://github.com/teddysun/lamp.git
cd lamp
chmod +x *.sh

# 安装
screen -S lamp
./lamp.sh

Notes: 我使用的是mysql-5.6.39, php-7.0.29,其他版本可能会出现问题,具体兼容哪些版本请参考最新的flarum官方文档。

这个过程大约需要20多分钟,建议先通过ctrl + a然后按d来detach这个screen,过半个小时再回来通过screen -r来恢复这个screen。

composer安装

1
2
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

创建网站目录

1
lamp add

然后根据提示建立虚拟主机,增加ssl证书,记得创建数据库

安装Flarum

这里先备份一下lamp生成的htaccess文件,因为flarum安装必须在一个空目录下

1
2
3
cd /data/www/dukebbs.menyifan.com
mv .htaccess ../htaccess
rm .editorconfig

安装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
2
3
cd /data/www/dukebbs.menyifan.com
composer require jsthon/flarum-ext-simplified-chinese
composer dump-autoload --optimize

删除不必要的插件

在网站的根目录下,有一个叫composer.json的文件,里面有一个require字段,包含了目前论坛所有可用的插件,删除不必要的插件,然后执行composer update即可更新插件列表

Troubleshooting

这两天经常遇到了这样的错误:

1
加载出错,请刷新页面或更换浏览请再试

然后去网站根目录下编辑config.phpdebug改为true就解决了,如果不行的话就只能禁用插件了,目前还没找到比较好的方法。