这是即使是哥布林这样的傻瓜也能按图索骥搭建论坛的指南,简直就是喂饭级教程,根据我的步骤走是绝对不会错的,所以每一步都要认真看啊(恼!!)
老实讲,之前很早我就发现了Flarum这个论坛程序,但是当时我还刚刚跟着摸索建站这些东西,现在才明白这些名词究竟能干嘛 最初在建站之初,我便看到了许多程序,尤其是论坛,那时候作为一个啥也不会的小白,到处找资源,逛得最多的就是那些论坛了 由此,我在想,我能不能自己建立一个论坛呢 当然,就算是萌新也知道例如dz这样的,但是一个初入站长行列的人是舍不得投入成本的,所以没有模板的dz论坛显而易见的丑,所以不久后我就放弃这个想法了。 再后来,偶然见看见了Flarum这个论坛,惊为天人,作为一个现代风的论坛颜值还是蛮高的,所以,我当时试了下, 虽然在当时理所当然没成功就是了
至于今天怎么又捡起来,当然是我想看看难倒Jack的是什么东西(笑)
首先是运行环境: 在您安装 Flarum 之前,请确保您的服务器满足以下要求, 以便顺利的安装和运行 Flarum:
Apache(需要启用 mod_rewrite 重写模块) 或 Nginx PHP 7.3+ 以及以下扩展:curl、dom、fileinfo、gd、json、mbstring、openssl、pdo_mysql、tokenizer、zip MySQL 5.6+ 或 MariaDB 10.0.5+ 允许 SSH(命令行),以运行 Composer
当然我更推荐MySQL 5.7,因为MySQL 自 5.7 开始支持 FULLTEXT 中文搜索,后续方便我们优化 Flarum 论坛的中文关键词搜索。(当然你用5.6+其实也没影响,并不影响我们正常的运营论坛)
其次,本教程针对的是本身有服务器,亦或者是共享vps有ssh访问权限的朋友。没有服务器的暂时还是没办法用Flarum做论坛的
由于涉及到PHP函数的问题,为了简单起见我们还是请出我们的老熟人-宝塔面板
由于我的centos7,所以用的是centos的一键安装脚本(其他系统的脚本请在宝塔官网自己找)
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
宝塔安装完后,我们进入了面板首页(出于节省时间考虑,绑定手机号的过程我就省略了,没有账号的注册一个就行了)
然后找到左侧菜单栏倒数第三的软件商店 如图所示
然后找到运行环境(如图)
在这里我采用的环境是LNMP 所以我不用调试其他的,直接选择PHP环境, 这里我选择PHP7.4 注:我第二次测试的时候似乎7.2也可以
安装过程中第一个重点来了 这个时候我们已经安装了PHP环境 打开你安装的PHP环境的设置 找到安装拓展以及禁用函数这两个选项
安装拓展找到fileinfo和exif这两个拓展并安装 其中最主要的是fileinfo 如果fileinfo没有安装,将导致Flarum最后安装失败 至于exif 非必选, 这个exif是用于上传图片的用处, 对于我们安装程序没有什么影响
其次便是关于禁用函数 这个关系到我们后面是否会报错 很多人都会卡在这一步 在这里只需要删除 putenv() 、 pcntl_signal() 、 proc_open()就好
网络上有些教程说要在PHP配置文件注释掉 disable_functions, 我的建议是最好不要这么做 很有可能导致论坛被人挂马
至于为什么不能禁用这三个函数的原因: 1、禁用了 putenv() 函数,会导致变更 Composer 源地址失败。 2、禁用了 pcntl_signal() 函数,会导致无法执行下载 Flarum 命令。(该命令我们在后面会用到) 3、禁用了 proc_open() 函数,会导致安装 Flarum 报错。
在上面我们已经设置好PHP函数设置, 现在我们需要创建一个基本的网站 这里我绑定了我一个快过期的域名 教程吗,问题不大 注意了,创建数据库的时候 数据库字符集一定要是 utf8mb4 这个是出于对数据库兼容性考虑 低版本的MySQL支持的utf8编码,最大字符长度为 3 字节, 但是,如果遇到 4 字节的字符就会出现错误了。
在创建完后记得检查你的域名是否正常解析
看得出来解析正常 当然了,确认解析正常之后 站点目录里面的文件都必须删除了 这是由于flarum安装的时候要求目录必须是空目录 不能有文件 但是, 用过宝塔的朋友都知道: 在每个站点根目录里面都有一个.user.ini 这个即使你删除了,宝塔还是会自动重新创建一个出来 这在一般的情况下是对我们没影响甚至是有利的, 但是,在我们安装flarum的时候就很要命了。
所以这就到了我们需要用到root权限的时候了 通过ssh工具或者云服务器商的VNC连接 在root权限下输入下面代码
cd /www/wwwroot/ourfreehost.cn
这个时候代表我们以root权限进入了ourfreehost.cn这个目录, 如图所示
注意,每个人的站点目录不一样,将我上面的ourfreehost.cn换成你自己的
现在我们继续输入代码
chattr -i .user.ini
这个代码的作用是用于解除 .user.ini 的文件锁定,否则该文件无法被删除
知识点:chattr -i 是一个 Linux 命令,用于改变文件或目录的属性。 这种属性通常用于保护重要的系统文件,防止它们在未经授权的情况下被意外或恶意地修改。 上面的.user.ini文件做例子 假设.user.ini文件没有被锁定,我们想要锁定它的话, 直接输入
chattr -i .user.ini
同样的,想要解锁,再次输入这段就好
chattr -i .user.ini
ps:由于宝塔防跨站的问题,所以有可能输入chattr -i .user.ini反而将文件锁定了 这个时候不要慌,就像我上面说的,再输入一次就好了
这个时候将站点目录里面所有的文件都能够删除了 删除完后, 这个时候目录内没有文件了
按理来说,我们应该可以安装flarum了才是
但是,
考虑到环境兼容性的顾虑
我们需要更新并升级我们的服务器软件包
毕竟,你的眼睛并没有长在服务器里面不是
输入指令
yum update -y
由于我们本身就存在一部分依赖项,
所以我们需要安装升级的依赖项比不多
大概半分钟显示complete就安装完成了
如图
然后变更全局范围内的 Composer 服务器地址:(如果您禁用了 putenv() 函数,会导致此命令执行失败)。将 composer 源改成阿里云的镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
终于可以安装flarum了 由于我们刚刚已经通过SSH输入cd命令进入了站点目录 现在我们在SSH中输入
composer create-project flarum/flarum
输入指令后会返回一行黄色的警示 Do not run Composer as root/super user! See https://getcomposer.org/root for details Continue as root/super user [yes]? 这是警告你并询问你是否是root用户(超级管理员) 默认是yes, 所以你直接回车就好
执行命令成功后会自动下载 Flarum 并更新依赖包。
现在我们能在看到站点目录里面已经放满了文件
但是这并不意味着安装完成了
接下来,我们还要继续修改配置
注意,部分情况下,直接下载到站点目录的是flarum文件夹,
不要去纠结怎么站点目录怎么没有直接全部释放,
将文件夹里面的文件全部剪切到站点目录就行
打开网站设置 将网站的站点目录设置为public,如下图
或者直接在网站的配置文件里面更改 将root /www/wwwroot/ourfreehost.cn/后加入public 即
root /www/wwwroot/ourfreehost.cn/public;
同时在这一栏代码的下方加入
include /www/wwwroot/ourfreehost.cn/.nginx.conf;
位置在宝塔默认的 #CERT-APPLY-CHECK--START注释的上方
如下图所示的蓝色选中区域
修改完上一步的配置,在点击保存时,宝塔会自动检查,如有错误,会保存失败并弹窗提示。
这个时候你打开还不算完 这个时候你打开网站显示的可不是flarum的安装页面 而是这样一个报错页面,如下图
不要慌,这是因为你没有给程序给写入权限 这个时候你的文件夹的权限是755 而我们需要的则是775(偷懒的做法是直接把整个网站目录,如我的ourfreehost.cn整个目录的权限设置为775) 将权限改好之后, 我这时候就能看见安装页面了,如图
界面是英文的,但是都看得懂
看不懂的也可以用浏览器插件翻译
大致就是标题、数据库信息、管理员设置
填写完点击安装
稍等一段安装过程即可
注意,还没完, 虽然安装论坛是完成了 但是我们能看到论坛是英文的,如图
composer require flarum-lang/chinese-simplified
php flarum cache:clear
安装完成后去后台启用即可(后台地址:网址/admin)
语言设置如图左下脚
点击Disabled
再次返回前台网页就能切换成中文了
或者你也可以把英文插件关掉
不过,双语论坛也很酷哦!
至于实现更多功能都需要插件
自己去找吧。
感谢你的浏览,
我是拾光,请期待我的更多教程。