服务器准备
服务器环境说明
宝塔 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 论坛的中文关键词搜索。
安装宝塔面板
安装宝塔面板以实现可视化管理和环境配置。
配置必要环境
在宝塔面板中安装 Nginx、PHP 7.3 及以上版本以及 MySQL 5.6 及以上版本。
确保已启用 SSH 服务,以便通过命令行运行 Composer。
PHP 扩展安装与禁用
[链接登录后可见]
在宝塔面板的 PHP 配置中安装以下扩展:exif、fileinfo 和 opcache。
【安装扩展】,安装 fileinfo(opcache、exif 非必选)
宝塔面板默认禁用一些安装 Composer 要用到的 3 个函数 putenv() 、 pcntl_signal() 、 proc_open(),我们需要解除禁用,否则导致Composer 变更源地址时报错、 Composer 安装 Flarum 时报错。
- 安装 Composer
[链接登录后可见]
更新服务器软件包
使用 SSH 执行下方命令:
yum update -y
更新完左下角会提示 “ Complete! ”
切换到服务器根目录:cd。
下载 Composer 安装程序:
php -r "copy('https://install.phpcomposer.com/installer','composer-setup.php');"
运行安装程序:
php composer-setup.php
安装完成后移除安装脚本:
php -r "unlink('composer-setup.php');"
将 composer.phar 移动到全局可执行路径:
mv composer.phar /usr/local/bin/composer
安装 Flarum
3.0 设置设置PHP配置文件:
最大脚本运行时间(max_execution_time):600
脚本内存限制(memory_limit):512M 或 1024M
新建存放 Flarum 的网站
前往宝塔面板 – 【网站】 – 【添加站点】,同时创建用于 Flarum 的数据库。最后提交。数据库字符集一定要是 utf8mb4
配置完成后,请注意开启 “ 强制 HTTPS ”!否则在 6.2 步骤中无法正常访问网站
配置阶段
[链接登录后可见]
创建数据库:在宝塔面板的数据库管理界面添加新的数据库,自行设置数据库名、用户名及密码,并选择 utf8mb4 字符集。
添加网站:在宝塔面板中添加新网站,填入自己的域名(确保已将域名 A 记录解析到服务器 IP 地址),并选择刚才配置好的 PHP 版本。
[链接登录后可见]
清理网站目录:进入网站目录,删除所有初始文件;同时,在网站设置中关闭防跨站攻击(XSS防护)选项。
在 SSH 中执行:# 解除 .user.ini 的文件锁定,否则该文件无法被删除
chattr -i .user.ini
在网站目录的宝塔面板内置终端中,使用 Composer 下载 Flarum 论坛:
composer create-project flarum/flarum .
执行成功后会下载 Flarum 并更新依赖包。更新依赖包会根据服务器地理位置花费 十几秒 至 三十分钟 不等的时间,请耐心等待。
设置与配置
root:需要在路径后面加上 public,比如原本是 root /www/wwwroot/example.com;,需要修改为 root /www/wwwroot/example.com/public;。
调整网站运行目录:在网站设置中,将网站目录设置为 /public 并保存。
[链接登录后可见]
引入 Flarum 提供的伪静态配置,在 server name 下方加上 include /www/wwwroot/example.com/.nginx.conf;,网站目录不要忘记更换成自己的。
编辑 Nginx 配置文件(假设网站目录为 /www/wwwroot/bbs-dome.cn):
找到相应网站的 Nginx 配置文件,并在其 root 目录定义行下方加入如下内容:
include /www/wwwroot/bbs-dome.misenc.cn/.nginx.conf;
保存配置文件后,在宝塔面板的软件商店中重启 Nginx 服务。
[链接登录后可见]
Flarum 安装引导
在浏览器中访问安装 Flarum 的站点网址。
[链接登录后可见]
给予网站目录写入的权限,我们加一下权限即可: