Flarum 是一款非常棒的开源论坛程序,在这里记录下非常详细的适用于宝塔+linux 的搭建步骤,供环境相同的同志们参考参考。
目录
一、服务器环境
二、安装宝塔 Linux 面板
三、安装 LNMP 环境
四、安装 Composer
五、安装 Flarum
六、配置运行
七、Flarum 安装引导
八、常用插件安装
一、服务器环境说明
- 宝塔 7.0.3 或更新版本
- Linux Server(本文用的是 CentOs 7.4.6 64位)
- Apache 或者 Nginx(本文用的是 Nginx 1.16.0)
- MySQL 5.6+(本文使用 MySQL 5.7,原因请看下方引用)
- PHP 7.1+(本文 PHP-7.3)
- phpMyAdmin 4.7
MySQL 自 5.7 开始支持 FULLTEXT 中文搜索,后续方便我们优化 Flarum 论坛的中文关键词搜索。
二、安装宝塔 Linux 面板
使用 SSH 工具(查看使用方法),执行命令开始安装(大约2分钟完成面板安装)。
Centos安装宝塔面板命令:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
执行安装命令,询问是否安装,回答 “ y ”
安装完成会打印这些东西(面板 ip 地址、用户名、密码):
图源:宝塔面板
三、安装 LNMP 环境
浏览器输入宝塔面板的 ip 地址。登陆账号,进入面板。
首次进入面板,在弹出的“推荐安装套件”窗口中选择左侧的「LNMP 极速安装」
选择好 PHP 等环境的版本号,点击一键安装后,会弹出消息盒子,等待任务执行完毕即可。
需要注意的是,在 LNMP 安装完成之后,我们还需要安装一些 PHP 的扩展(exif / fileinfo),其中 fileinfo 是必须的,否则下面 Flarum 会安装失败。exif 是图片上传所需的扩展。
进入宝塔面板 – 【软件商店】 – 【已安装】,点击 PHP 设置。
选择【安装扩展】,安装 fileinfo(opcache、exif 非必选)。
等待安装完毕。
四、安装 Composer
4.1 更新服务器软件包
使用 SSH 执行下方命令:
yum <span class="hljs-keyword">update</span> <span class="hljs-operator">-</span>y
更新完左下角会提示 “ Complete! ”
4.2 解除 PHP 函数禁用
此步骤仅适用于宝塔面板用户,如您直接使用 OneinStack 一键安装服务器环境,请跳过此步。
宝塔面板默认禁用一些安装 Composer 要用到的 3 个函数
putenv()
、pcntl_signal()
、proc_open()
,我们需要解除禁用,否则导致步骤 4.3 Composer 变更源地址时报错、步骤 5.3 Composer 安装 Flarum 时报错。
如下图所示,进入宝塔面板,打开 PHP 设置,在【禁用函数】中,删除 putenv
、 pcntl_signal
以及 proc_open
若您不取消这三个函数的禁用,则会出现以下问题:
4.3 安装 Composer
使用 SSH 依次执行以下命令:
# (此步骤可省略)进入当前用户家目录
-
<span class="hljs-built_in">cd</span>
# 将安装脚本下载到当前目录
-
php -r "<span class="hljs-built_in">copy</span>('https://install.phpcomposer.com/installer', 'composer-setup.php');"
# 运行安装脚本
-
php composer-setup.php
# 删除安装脚本
-
php -r "<span class="hljs-built_in">unlink</span>('composer-setup.php');"
# 全局安装 composer(配置系统环境变量)
-
<span class="hljs-built_in">mv</span> composer.phar /usr/local/bin/composer
由于 Composer 的服务器在国外,可能导致下载 Flarum 已经依赖包会很慢,所以我们需要更换一下源地址。至于 Composer 是啥,其实就是 PHP 的一个包管理,类似 Java 的 Maven 和 Gradle 工具。
——引用自 ryanc.cc
# 变更全局范围内的 Composer 服务器地址:(如果您禁用了
putenv() 函数,会导致此命令执行失败)。将 composer 源改成阿里云的镜像
-
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
五、安装 Flarum
5.0 设置设置PHP配置文件:
最大脚本运行时间(max_execution_time):600
脚本内存限制(memory_limit):512M 或 1024M
5.1 新建存放 Flarum 的网站
前往宝塔面板 – 【网站】 – 【添加站点】,同时创建用于 Flarum 的数据库。最后提交。
务必注意!数据库字符集一定要是 utf8mb4,至于为什么是 utf8mb4,参考:
https://www.jianshu.com/p/6967ce16a202
5.2 配置 SSL 证书
打开站点设置,进入 SSL 选项卡页面,挑选您想要配置的安全证书方式:
- 宝塔一键 SSL(一年证书免费申请,需要登录宝塔账号并实名认证)
- Let’s Encrypt 三个月免费证书
- 已有证书文件,上传至宝塔
配置完成后,请注意开启 “ 强制 HTTPS ”!否则在 6.2 步骤中无法正常访问网站
5.3 下载 Flarum
因为 Flarum 要求安装目录必须是空目录,因此我们还需要删除刚刚新建的网站目录里的所有文件。
在 SSH 中执行:
# 进入网站目录。注意网站目录每个人都不一样!记得替换!
-
<span class="hljs-built_in">cd</span> /www/wwwroot/example.com
# 解除 .user.ini 的文件锁定,否则该文件无法被删除
-
chattr -<span class="hljs-selector-tag">i</span> <span class="hljs-selector-class">.user</span><span class="hljs-selector-class">.ini</span>
然后在宝塔面板中(或者在 FTP 中)删除网站目录下的所有文件。
# 确保进入网站目录执行(前面也提到了,若您禁用了pcntl_signal()
函数和 proc_open()
函数,此步执行会出错)
-
composer create-project flarum/flarum .
执行成功后会下载 Flarum 并更新依赖包。更新依赖包会根据服务器地理位置花费 十几秒 至 三十分钟 不等的时间,请耐心等待。
Flarum 以及对应的依赖安装完成应该是这个样子的:
六、配置运行
上面其实就已经安装好了 Flarum,但是还需要进一步配置才能正确运行。
6.1 修改 Nginx 配置
进入宝塔面板,打开站点设置,修改网站配置文件:(可对照下图修改)
- root:需要在路径后面加上
public
,比如原本是root /www/wwwroot/example.com;
,需要修改为root /www/wwwroot/example.com/public;
。 - 引入 Flarum 提供的伪静态配置,在
server name
下方加上include /www/wwwroot/example.com/.nginx.conf;
,网站目录不要忘记更换成自己的。
修改站点配置,别忘记保存
6.2 检查 Nginx 配置
修改完上一步的配置,在点击保存时,宝塔会自动检查,如有错误,会保存失败并弹窗提示。
七、Flarum 安装引导
在浏览器中访问安装 Flarum 的站点网址。
可以看到出现下面的情况:
这是因为没有给予网站目录写入的权限,我们加一下权限即可:
前往宝塔面板,点击左侧【文件】,(或者使用 SSH 工具)进入 /www/wwwroot
目录。
右击您的站点目录,选择【权限】,权限修改为 755 权限并保存。不要忘记勾选 “ 应用到子目录 ”。
接着刷新一下论坛网页就好了,根据图片提示填写好论坛信息。数据库名
、数据库用户名
、数据库密码
都可以在宝塔面板查看。
填写完数据库信息、管理员信息,点击安装即可。
安装部署部分到此结束。
八、常用插件安装
安装完成后会发现不支持中文,所以我们需要安装中文语言包。还有一些常用的插件。更多插件,请前往插件标签查看。
# xxx 为网站目录名称,因为安装插件需在 Flarum 根目录执行。
<span class="hljs-built_in">cd</span> /data/wwwroot/xxx
Flarum ID Slug插件 – 只用 id 作为 slug
# 简体中文语言包
# 导航栏菜单插件
# 显示帖子阅读次数
# 论坛用户名录
# 上传文件
安装完成后去后台启用即可(后台地址:网址/admin)。