*文章已在2021年4月修改

*文章已在2021年7月修改

Flarum是一款非常棒的轻量级的论坛系统(目前仍在开发中,不建议用在生产环境正式版已发布),拥有超快的架构,详细了解

接下来我将会介绍如何安装Flarum论坛。

*仅供参考,站长搭建的:dome.zqana.cn开发版

*默认安装的是最新版,安装后与图片内容不一致的以程序为准

目录

一、服务器环境
二、安装宝塔 Linux 面板
三、安装 LNMP 环境
四、安装 Composer
五、安装 Flarum
六、配置运行
七、Flarum 安装引导
八、常用插件安装

注:若不使用宝塔面板采用linux,可省略第二步,其他步骤可参考。
 


一、服务器环境说明

  1. 宝塔 7.0.3 或更新版本
  2. Linux Server(本文用的是 CentOs 7.4.6 64位)
  3. Apache 或者 Nginx(本文用的是 Nginx 1.16.0)
  4. MySQL 5.6+(本文使用 MySQL 5.7,原因请看下方引用)
  5. PHP 7.1+(本文 PHP-7.3)
  6. 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 update -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 依次执行以下命令:

   # (此步骤可省略)进入当前用户目录

  1. cd

   # 将安装脚本下载到当前目录

  1. php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"

   # 运行安装脚本

  1. php composer-setup.php

   # 删除安装脚本

  1. php -r "unlink('composer-setup.php');"

   # 全局安装 composer(配置系统环境变量)

  1. mv composer.phar /usr/local/bin/composer

由于 Composer 的服务器在国外,可能导致下载 Flarum 已经依赖包会很慢,所以我们需要更换一下源地址。至于 Composer 是啥,其实就是 PHP 的一个包管理,类似 Java 的 Maven 和 Gradle 工具。
——引用自 ryanc.cc

   # 变更全局范围内的 Composer 服务器地址:(如果您禁用了
putenv() 函数,会导致此命令执行失败)。将 composer 源改成阿里云的镜像(境内可选、境外忽略)

  1. 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 的数据库。最后提交。

5.2 配置 SSL 证书

打开站点设置,进入 SSL 选项卡页面,挑选您想要配置的安全证书方式:

  • 宝塔一键 SSL(一年证书免费申请,需要登录宝塔账号并实名认证)
  • Let’s Encrypt 三个月免费证书
  • 已有证书文件,上传至宝塔

配置完成后,请注意开启 “ 强制 HTTPS ”!否则在 6.2 步骤中无法正常访问网站

5.3 下载 Flarum

因为 Flarum 要求安装目录必须是空目录,因此我们还需要删除刚刚新建的网站目录里的所有文件。

在 SSH 中执行:

   # 进入网站目录。注意网站目录每个人都不一样!记得替换!

  1. cd /www/wwwroot/example.com

2. 删除包括 .user.ini 在内的宝塔面板中(或者在 FTP 中)网站目录下的所有文件。

   # 确保进入网站目录执行

  1. composer create-project flarum/flarum . --stability=beta

执行成功后会下载 Flarum 并更新依赖包。更新依赖包会根据服务器地理位置花费 十几秒 至 三十分钟 不等的时间,请耐心等待。

Flarum 以及对应的依赖安装完成应该是这个样子的:


六、配置运行

上面其实就已经安装好了 Flarum,但是还需要进一步配置才能正确运行。

6.1 修改 Nginx 配置

进入宝塔面板,打开站点设置,修改网站配置文件:(可对照下图修改)
6.1.1 root:需要在路径后面加上 public,比如原本是 root /www/wwwroot/example.com;,需要修改为 root /www/wwwroot/example.com/public;
6.1.2 引入 Flarum 提供的伪静态配置,在 server name 下方加上 include /www/wwwroot/example.com/.nginx.conf;,网站目录不要忘记更换成自己的。(宝塔会自动识别伪静态,如未识别请打开上方文件复制到伪静态中)

修改站点配置,别忘记保存

6.2 检查 Nginx 配置

修改完上一步的配置,在点击保存时,宝塔会自动检查,如有错误,会保存失败并弹窗提示。
注:上方6.1.2步骤删除线内容如果跟着做可能报错,删除即可,务必设置伪静态。
 


七、Flarum 安装引导

在浏览器中访问安装 Flarum 的站点网址。

可以看到出现下面的情况:

这是因为没有给予网站目录写入的权限,我们加一下权限即可:

前往宝塔面板,点击左侧【文件】,(或者使用 SSH 工具)进入 /www/wwwroot 目录。

右击您的站点目录,选择【权限】,权限修改为 755 权限并保存。不要忘记勾选 “ 应用到子目录 ”。

如果打开显示报错为502或者403,请默默的打自己一巴掌然后设置php版本为已经安装的7.2+版本。

接着刷新一下论坛网页就好了,根据图片提示填写好论坛信息。数据库名数据库用户名数据库密码都可以在宝塔面板查看。

填写完数据库信息、管理员信息,点击安装即可。
安装部署部分到此结束。
 


八、常用插件安装

安装完成后会发现不支持中文,所以我们需要安装中文语言包。还有一些常用的插件。更多插件,请前往插件标签查看。

   # xxx 为网站目录名称,因为安装插件需在 Flarum 根目录执行。

cd /data/wwwroot/xxx

   # 简体中文语言包

   # 编辑器 Emoji 表情选择框

   # 导航栏菜单插件

   # 显示帖子阅读次数

   # 论坛用户名录

   # 上传文件

   # Sitemap (网站地图)生成器

   # Fancybox 图片灯箱(放大)插件

安装完成后去后台启用即可(后台地址:网址/admin)。

如果安装后依旧没有变成中文,您可以再给自己来一巴掌然后选择常规设置语言为简体中文。

如果还没有变成简体中文,建议删除重新来!!!你没救了。

分类: 网络转载随笔

小煜

一个可能很温柔也可能很暴躁的钢铁直男!