宝塔 Linux 面板安装 Flarum

Flarum 是一款非常棒的开源论坛程序,跟着网上教程搭建了 Flarum ,不过并没有完全符合我自己环境的步骤,所以在这里记录下非常详细的适用于我自己的搭建步骤。也供跟我环境相同的同志们参考参考。

目录

一、服务器环境说明

    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.2)
    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 / opcache),其中 fileinfo 是必须的,否则 Flarum 会安装失败。

进入宝塔面板 – 【软件商店】 – 【已安装】,点击 PHP 设置。

选择【安装扩展】,安装 fileinfo(opcache、exif 非必选)。

等待安装完毕。

四、安装 Composer

4.1 更新服务器软件包

使用 SSH 执行下方命令:

  1. yum update -y

更新完左下角会提示 “ Complete! ”

4.2 解除 PHP 函数禁用

此步骤仅适用于宝塔面板用户,如您直接使用完全的 Linux 命令行安装服务器环境,请跳过此步
宝塔面板默认禁用一些安装 Composer 要用到的 3 个函数putenv()pcntl_signal()proc_open(),我们需要解除禁用,否则导致步骤 4.3 Composer 变更源地址时报错、步骤 5.3 Composer 安装 Flarum 时报错。
如下图所示,进入宝塔面板,打开 PHP 设置,在【禁用函数】中,删除 putenvpcntl_signal 以及 proc_open

4.3 安装 Composer

使用 SSH 依次执行以下命令:

    1. # CD 服务器根目录,全局安装 composer
  1. cd
    1. # 将安装程序下载到当前目录
  1. php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
    1. # 运行安装程序
  1. php composer-setup.php
    1. # 删除安装程序
  1. php -r "unlink('composer-setup.php');"
    1. # 将 composer.phar 移至默认目录
  1. mv composer.phar /usr/local/bin/composer

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

——引用自 ryanc.cc

        1. # 变更全局范围内的 Composer 服务器地址:(如果您禁用了 
      putenv() 函数,会导致此命令执行失败)。将 composer 源改成阿里云的镜像
  1. composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

五、安装 Flarum

5.1 新建存放 Flarum 的网站

前往宝塔面板 – 【网站】 – 【添加站点】,同时创建用于 Flarum 的数据库。最后提交。

务必注意!数据库字符集一定要是 utf8mb4,至于为什么是 utf8mb4,参考:https://www.jianshu.com/p/6967ce16a202

5.2 配置 SSL 证书

选择您要配置的证书:

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

5.3 下载 Flarum

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

在 SSH 中执行:

    1. # 进入网站目录。注意网站目录每个人都不一样!记得替换!
  1. cd /www/wwwroot/bbs.csur.fun
    1. # 解除 .user.ini 的文件锁定,否则该文件无法被删除
  1. chattr -i .user.ini

然后在宝塔面板中(或者在 FTP 中)删除网站目录(本文是 /www/wwwroot/bbs.csur.fun)下的所有文件。

          1. # 接着,确保进入网站目录执行:(若您禁用了
        pcntl_signal() 函数和 proc_open() 函数,此步执行会如下图出错。)
    1. composer create-project flarum/flarum . --stability=beta
    2. 禁用 pcntl_signal() 函数,会导致无法执行下载 Flarum 命令
  1. 3. 禁用 proc_open() 函数,会导致安装 Flarum 报错
  2. 执行成功后会下载 Flarum 并更新依赖包。更新依赖包会用花费大约十五分钟的时间,请耐心等待。

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

六、配置运行

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

6.1 修改 Nginx 配置

进入宝塔面板,打开站点设置,修改网站配置文件:(可对照下图修改)

  1. root:需要在路径后面加上 public,比如我的原本是 root /www/wwwroot/bbs.csur.fun;,需要修改为 root /www/wwwroot/bbs.csur.fun/public;
  2. 引入 Flarum 提供的配置,在 server name 下方加上                                                               include /www/wwwroot/xxx/.nginx.conf;,xxx 为网站目录名。比如我的是 include /www/wwwroot/bbs.csur.fun/.nginx.conf;
修改站点配置,别忘记保存

 

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

6.2 检查 Nginx 配置

最后我们需要检查 Nginx 配置是否有误并重载 Nginx 配置:
    1. # 运行检查命令
  1. nginx -t
    1. # 返回如下结果,说明配置无误
  1. nginx: the configuration file /www/server/nginx/conf/nginx.conf syntax is ok
  2. nginx: configuration file /www/server/nginx/conf/nginx.conf test is successful
    1. # 重载 Nginx 配置
  1. nginx -s reload

七、Flarum 安装引导

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

我的是:bbs.csur.fun

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

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

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

右击 bbs.csur.fun 站点目录,选择【权限】,将 755 权限修改为 775 权限。不要忘记勾选 “ 应用到子目录 ”。


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

 

填写完数据库信息、管理员信息,点击安装即可。

安装部署部分到此结束。

八、常用插件安装

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

    1. # xxx 为网站目录名称,因为安装插件需在 Flarum 根目录执行。
  1. cd /data/wwwroot/xxx

# 简体中文语言包

  1. composer require littlegolden/flarum-lang-simplified-chinese

# 繁体中文语言包

  1. composer require csineneo/lang-traditional-chinese

# 编辑器 Emoji 表情选择框

  1. composer require clarkwinkelmann/flarum-ext-emojionearea

# 导航栏菜单插件

  1. composer require fof/links

# 最佳回答

  1. composer require wiwatsrt/flarum-ext-best-answer

# 显示帖子阅读次数

  1. composer require michaelbelgium/flarum-discussion-views

# 论坛用户列表

  1. composer require avatar4eg/flarum-ext-users-list

# 生成静态页面

  1. composer require fof/pages

# 在帖子中直接生成外链预览小图(此插件已标记为弃用,请勿再安装)

  1. composer require zerosonesfun/flarum-ext-link-previews

# 上传文件

  1. composer require fof/upload

# 插件商店

  1. composer require extiverse/bazaar

# Sitemap 生成器

  1. composer require flagrow/sitemap

# Fancybox 插件

  1. composer require squeevee/flarum-ext-fancybox

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