前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >即使是哥布林也想要建论坛-Flarum踩坑图文指南

即使是哥布林也想要建论坛-Flarum踩坑图文指南

作者头像
拾光博客
发布2024-04-03 12:24:42
1110
发布2024-04-03 12:24:42
举报
文章被收录于专栏:拾光专栏拾光专栏

这是即使是哥布林这样的傻瓜也能按图索骥搭建论坛的指南,简直就是喂饭级教程,根据我的步骤走是绝对不会错的,所以每一步都要认真看啊(恼!!)

老实讲,之前很早我就发现了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的一键安装脚本(其他系统的脚本请在宝塔官网自己找)

代码语言:javascript
复制
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh 

宝塔安装完后,我们进入了面板首页(出于节省时间考虑,绑定手机号的过程我就省略了,没有账号的注册一个就行了)

即使是哥布林也想要建论坛-Flarum踩坑图文指南
即使是哥布林也想要建论坛-Flarum踩坑图文指南

然后找到左侧菜单栏倒数第三的软件商店 如图所示

即使是哥布林也想要建论坛-Flarum踩坑图文指南
即使是哥布林也想要建论坛-Flarum踩坑图文指南

然后找到运行环境(如图)

即使是哥布林也想要建论坛-Flarum踩坑图文指南
即使是哥布林也想要建论坛-Flarum踩坑图文指南

在这里我采用的环境是LNMP 所以我不用调试其他的,直接选择PHP环境, 这里我选择PHP7.4 注:我第二次测试的时候似乎7.2也可以


安装过程中第一个重点来了 这个时候我们已经安装了PHP环境 打开你安装的PHP环境的设置 找到安装拓展以及禁用函数这两个选项

即使是哥布林也想要建论坛-Flarum踩坑图文指南
即使是哥布林也想要建论坛-Flarum踩坑图文指南

安装拓展找到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踩坑图文指南
即使是哥布林也想要建论坛-Flarum踩坑图文指南

在创建完后记得检查你的域名是否正常解析

即使是哥布林也想要建论坛-Flarum踩坑图文指南
即使是哥布林也想要建论坛-Flarum踩坑图文指南

看得出来解析正常 当然了,确认解析正常之后 站点目录里面的文件都必须删除了 这是由于flarum安装的时候要求目录必须是空目录 不能有文件 但是, 用过宝塔的朋友都知道: 在每个站点根目录里面都有一个.user.ini 这个即使你删除了,宝塔还是会自动重新创建一个出来 这在一般的情况下是对我们没影响甚至是有利的, 但是,在我们安装flarum的时候就很要命了。


所以这就到了我们需要用到root权限的时候了 通过ssh工具或者云服务器商的VNC连接 在root权限下输入下面代码

代码语言:javascript
复制
cd /www/wwwroot/ourfreehost.cn

这个时候代表我们以root权限进入了ourfreehost.cn这个目录, 如图所示

即使是哥布林也想要建论坛-Flarum踩坑图文指南
即使是哥布林也想要建论坛-Flarum踩坑图文指南

注意,每个人的站点目录不一样,将我上面的ourfreehost.cn换成你自己的

现在我们继续输入代码

代码语言:javascript
复制
chattr -i .user.ini

这个代码的作用是用于解除 .user.ini 的文件锁定,否则该文件无法被删除


知识点:chattr -i 是一个 Linux 命令,用于改变文件或目录的属性。 这种属性通常用于保护重要的系统文件,防止它们在未经授权的情况下被意外或恶意地修改。 上面的.user.ini文件做例子 假设.user.ini文件没有被锁定,我们想要锁定它的话, 直接输入

代码语言:javascript
复制
chattr -i .user.ini

同样的,想要解锁,再次输入这段就好

代码语言:javascript
复制
chattr -i .user.ini

ps:由于宝塔防跨站的问题,所以有可能输入chattr -i .user.ini反而将文件锁定了 这个时候不要慌,就像我上面说的,再输入一次就好了


这个时候将站点目录里面所有的文件都能够删除了 删除完后, 这个时候目录内没有文件了

按理来说,我们应该可以安装flarum了才是

但是,

考虑到环境兼容性的顾虑

我们需要更新并升级我们的服务器软件包

毕竟,你的眼睛并没有长在服务器里面不是

输入指令

yum update -y

由于我们本身就存在一部分依赖项,

所以我们需要安装升级的依赖项比不多

大概半分钟显示complete就安装完成了

如图

即使是哥布林也想要建论坛-Flarum踩坑图文指南
即使是哥布林也想要建论坛-Flarum踩坑图文指南

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

代码语言:javascript
复制
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踩坑图文指南
即使是哥布林也想要建论坛-Flarum踩坑图文指南

现在我们能在看到站点目录里面已经放满了文件

但是这并不意味着安装完成了


接下来,我们还要继续修改配置

注意,部分情况下,直接下载到站点目录的是flarum文件夹,

不要去纠结怎么站点目录怎么没有直接全部释放,

将文件夹里面的文件全部剪切到站点目录就行




打开网站设置 将网站的站点目录设置为public,如下图

即使是哥布林也想要建论坛-Flarum踩坑图文指南
即使是哥布林也想要建论坛-Flarum踩坑图文指南

或者直接在网站的配置文件里面更改 将root /www/wwwroot/ourfreehost.cn/后加入public 即

代码语言:javascript
复制
root /www/wwwroot/ourfreehost.cn/public;

同时在这一栏代码的下方加入

代码语言:javascript
复制
include /www/wwwroot/ourfreehost.cn/.nginx.conf;

位置在宝塔默认的 #CERT-APPLY-CHECK--START注释的上方

如下图所示的蓝色选中区域

即使是哥布林也想要建论坛-Flarum踩坑图文指南
即使是哥布林也想要建论坛-Flarum踩坑图文指南

修改完上一步的配置,在点击保存时,宝塔会自动检查,如有错误,会保存失败并弹窗提示。

这个时候你打开还不算完 这个时候你打开网站显示的可不是flarum的安装页面 而是这样一个报错页面,如下图

即使是哥布林也想要建论坛-Flarum踩坑图文指南
即使是哥布林也想要建论坛-Flarum踩坑图文指南

不要慌,这是因为你没有给程序给写入权限 这个时候你的文件夹的权限是755 而我们需要的则是775(偷懒的做法是直接把整个网站目录,如我的ourfreehost.cn整个目录的权限设置为775) 将权限改好之后, 我这时候就能看见安装页面了,如图

即使是哥布林也想要建论坛-Flarum踩坑图文指南
即使是哥布林也想要建论坛-Flarum踩坑图文指南

界面是英文的,但是都看得懂

看不懂的也可以用浏览器插件翻译

大致就是标题、数据库信息、管理员设置

填写完点击安装

稍等一段安装过程即可

注意,还没完, 虽然安装论坛是完成了 但是我们能看到论坛是英文的,如图

代码语言:javascript
复制
composer require flarum-lang/chinese-simplified
php flarum cache:clear

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

语言设置如图左下脚

点击Disabled

再次返回前台网页就能切换成中文了

或者你也可以把英文插件关掉

不过,双语论坛也很酷哦!

至于实现更多功能都需要插件

自己去找吧。

感谢你的浏览,

我是拾光,请期待我的更多教程。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-3-8 22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 这是即使是哥布林这样的傻瓜也能按图索骥搭建论坛的指南,简直就是喂饭级教程,根据我的步骤走是绝对不会错的,所以每一步都要认真看啊(恼!!)
    • 由于涉及到PHP函数的问题,为了简单起见我们还是请出我们的老熟人-宝塔面板
      • 注意,部分情况下,直接下载到站点目录的是flarum文件夹,
        • 不要去纠结怎么站点目录怎么没有直接全部释放,
          • 将文件夹里面的文件全部剪切到站点目录就行
          相关产品与服务
          云数据库 MySQL
          腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档