前言
为啥要装个论坛?论坛是聚集特定用户群体的一种方式,而论坛本身也是网络站点的一种。目前,国内的论坛大多都是使用 Discuz 驱动的。Discuz 框架老旧,样式过时。这个时候,如果想要美观而且速度快的论坛程序,Flarum 一定是一个非常好的选择。
Flarum 官网:https://flarum.org
环境准备
Oneinstack 是一个建站环境一键包,包括 Nginx,Apache,PHP,Tomcat,MySQL 等等一系列的程序。
我们需要 Oneinstack 标准 Web 环境,即 Nginx + PHP + MySQL 三连。强烈不建议使用 Nginx + Apache php_mod 的架构,容易出问题。另外我们需要一个管理 MySQL 数据库的工具,如 phpMyAdmin 或者 Adminer;phpMyAdmin 是 Oneinstack 的可选选项,但是个人更加推荐使用 Adminer。当然如果你拥有足够的经验,也可以直接操作命令行。
Oneinstack 的安装十分简单,请参考:https://oneinstack.com/auto/
Flarum 程序需要 PHP 插件 FileInfo,可以在 Oneinstack 下通过以下方式安装:
cd ~cd oneinstack./addons.shCopy
然后按照提示选择即可。
下载程序
首先我们需要把 Flarum 的源码下载到我们的服务器上。Flarum 默认使用 Composer 进行管理和分发,然而这东西着实难用,我就从来没折腾成功过,所以我们使用一个替代的项目:https://github.com/skywalker512/FlarumChina
FlarumChina 将原版 Flarum 程序转换成可供虚拟主机使用的 .zip 压缩包,让安装更为简单。尽管我们将使用 VPS 进行安装,但是依然可以用这个项目。并且 FlarumChina 自带中文语言翻译,免去了官方原版需要寻找语言本地化补丁的烦恼。
首先,我们在 VPS 的根目录进入 Oneinstack 的目录并且准备创建一个 “站点” – 我们暂且称之为 beta.example.com:
cd oneinstack./vhost.shCopy
然后进入这个站点的目录:
cd /data/wwwroot/beta.example.comCopy
从 https://github.com/skywalker512/FlarumChina/releases 下载最新版本的 FlarumChina:
wget https://github.com/skywalker512/FlarumChina/archive/v0.1.0-beta.7C.zipCopy
解压缩:
unzip v0.1.0-beta.7C.zipCopy
接下来我们需要服务器文件管理软件 WinSCP,进行一些图形化操作:
按照 ssh 的方式登陆即可:
进入 /data/wwwroot/beta.example.com/FlarumChina-0.1.0-beta.7C 目录,全选所有文件,然后 右键 – Move To 域名的根目录:
回到 wwwroot 目录,授权域名根目录:
cd /data/wwwroot/chmod -R 777 beta.example.comCopy
现在打开 beta.example.com,就应该可以顺利地看到安装界面。如果出现任何错误提示,请阅读错误提示并且确认上述步骤全部完成。
接下来使用数据库管理工具创建数据库以及用户,并将所有信息填写到安装页面里面,然后点击安装。大约十秒钟以后就可以看到 Flarum 的样子了:
最后,我们还需要设置 Nginx Rewrite,使用 WinSCP 在 /usr/local/nginx/conf/vhost/beta.example.com.conf 里面适当的位置加上这三行 Rewrite Rules 即可:
location / { try_files $uri $uri/ /index.php?$query_string; } location /api { try_files $uri $uri/ /api.php?$query_string; } location /admin { try_files $uri $uri/ /admin.php?$query_string; }Copy
添加完毕以后返回 ssh 客户端,重启 Nginx:
service nginx restartCopy
然后回到你的 Flarum 站点,点击管理后台测试 Rewrite 是否正确:
如果成功进入后台,就说明 Rewrite 成功。如果出现任何 HTTP 报错,请检查 Nginx 配置文件是否正确。
领取专属 10元无门槛券
私享最新 技术干货