什么是Flarum?

flarum.jpg
flarum.jpg

  • Flarum是基于PHP构建的一款论坛软件,可以说她是我见过最简洁美观的一款,没有之一

Flarum 的前身是 esoTalkFluxBB ,她生来就被设计如此:

  • 快速、简单。 不杂乱不臃肿,没有复杂的依赖关系。Flarum 使用 PHP 构建,因此很容易被部署。同时界面采用高性能 JavaScript 框架 Mithril ,因此占用空间很小。
  • 漂亮、响应式。 专为人设计的论坛程序。Flarum 经过精心设计,完美支持跨平台、开箱即用。
  • 强大、可扩展。 您可以客制化、扩展或集成 Flarum 以满足您的社区需求。Flarum 拥有非常全面、强大的 扩展 API ,她的架构及其灵活。
  • 免费、开源。 Flarum 基于 MIT 协议 发布。
    以上摘自Flarum 中文社区

更多关于Flarum的内容可以查看Flarum文档

怎么为自己搭建一个Flarum?

搭建准备工作

  1. 域名
  2. 服务器
  3. 时间

有了这些东西后就可以开始了!

搭建过程

本次搭建使用环境

  1. CentOS 7.9.2009
  2. BT-Panel 7.5.1
  3. Nginx 1.18.0
  4. MySQL 5.6.50
  5. PHP-7.3

开始搭建

一、安装宝塔面板

  • 在你的服务器上安装宝塔面板,你可以在服务器购买页面选择默认安装宝塔
    然后在服务器控制台放行8888端口(不然无法打开宝塔控制面板)

通过远程SSH连接服务器,输入以下命令

  • 外网面板地址
sudo /etc/init.d/bt default
  • 登陆用户名
sudo /etc/init.d/bt default
  • 登录密码
sudo /etc/init.d/bt default

login.jpg
login.jpg

二、安装运行环境

1.安装LNMP

通过浏览器进入宝塔控制面板,首次进入会弹出两个安装选项,选择LNMP环境(L指Linux,N指Nginx,M指MySQL,P指PHP),自己选择需要安装的具体版本
建议使用编译安装,虽然耗时,但更稳定
官方推荐版本为

  • Nginx 1.16+
  • MySQL 5.6+
  • PHP 7.1+
  • phpMyAdmin 4.7
    tip:不要过分追求高版本,要考虑服务器性能和自己的需求,老版本都是经过长时间检验的,相对来说比较稳定
2.修改PHP配置

安装完成后我们还需要开启以下功能

  • 在宝塔面板中点击软件商店→已安装→PHP设置
  • 选择安装扩展(fileinfo、opcache、exif)
    php.jpg
    php.jpg

在此页面我们还需解除PHP函数禁用,否则会导致使用Composer 安装 Flarum 时报错。

  • 需要解除禁用的函数为:putenv(),pcntl_signal(),proc_open()
    p.jpg
    p.jpg

三、将域名解析到服务器

以阿里云为例
在域名控制台中,点击解析

yuming.jpg
yuming.jpg

按如下方式添加记录

主机记录记录类型解析线路(isp)记录值TTL
@A默认你的服务器地址10分钟

四、安装准备

1.在宝塔控制面板,点击网站,选择添加站点

web.jpg
web.jpg

2.删除目录

由于Flarum安装要求安装目录为空目录,所以我们需要删除刚刚创建网站的根目录
tip:.user.ini文件可以更改其权限后删除

3.修改Nginx配置
①在宝塔控制面板点击网站
②点击设置→配置文件
server
{
    listen 80;
    server_name eck.ink;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/eck.ink;
...
}
③修改

在路径 root /www/wwwroot/example.com; 后添加public
添加一行代码include /www/wwwroot/example.com/.nginx.conf;
将 example.com 更换为自己的地址
完成后代码如下

server
{
    listen 80;
    server_name eck.ink;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/eck.ink/public;
    include /www/wwwroot/eck.ink/.nginx.conf;
...
}
4.安装 Composer

使用SSH连接到你的服务器,输入以下命令

①安装
yum update -y
  • 安装完成后,会提示 Complete!
    com.jpg
    com.jpg
②将安装脚本下载到当前目录
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
③运行安装脚本
php composer-setup.php
④删除安装脚本
php -r "unlink('composer-setup.php');"
⑤全局安装Composer
mv composer.phar /usr/local/bin/composer
⑥将Composer源改成阿里云的镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

comssh.jpg
comssh.jpg

四、下载Flarum文件

使用SSH连接到你的服务器,输入以下命令

1.进入网站目录
cd /www/wwwroot/example.com

将 example.com 改成你自己的域名

2.执行该命令
composer create-project flarum/flarum . --stability=beta

成功后会下载 Flarum ,更新依赖包。(花费时间可能较长,请耐心等待)

php73.jpg
php73.jpg

tip:如果运行该命令后出现如下报错
Your requirements could not be resolved to an installable set of packages.
PHP版本问题

  • 解决方法
    尝试使用其他版本,例如PHP 7.3

Updating dependencies (including require-dev)
killed
服务器内存不够导致

  • 解决方法(该方法可能降低系统性能)
    使用SSH输入以下指令

查看当前服务器内存情况

free -m

free.jpg
free.jpg

图中Swap表示虚拟内存,可增加虚拟内存达到运行目的。

五、在浏览器输入你的域名打开

安装完成!