即使是哥布林也想要建论坛-Flarum踩坑图文指南
分类: 未分类
简介:这是即使是哥布林这样的傻瓜也能按图索骥搭建论坛的指南,简直就是喂饭级教程,根据我的步骤走是绝对不会错的,所以每一步都要认真看啊(恼!!)老实讲,之前很早我就发现了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.inips:由于宝塔防跨站的问题,所以有可能输入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)
将权限改好之后,
我这时候就能看见安装页面了,如图
界面是英文的,但是都看得懂看不懂的也可以用浏览器插件翻译大致就是标题、数据库信息、管理员设置填写完点击安装稍等一段安装过程即可注意,还没完,
虽然安装论坛是完成了
但是我们能看到论坛是英文的,如图 所以,这个时候我们要请出我们的老熟人SSH登场
通过cd命令进入网站目录(前面步骤有讲)
输入指令,composer require flarum lang/chinese simplified php flarum cache:clear安装完成后去后台启用即可(后台地址:网址/admin)语言设置如图左下脚点击Disabled再次返回前台网页就能切换成中文了或者你也可以把英文插件关掉不过,双语论坛也很酷哦!至于实现更多功能都需要插件自己去找吧。感谢你的浏览,我是拾光,请期待我的更多教程。
全网首发的傻瓜级教程:用宝塔面板Docker搭建halo2.9
分类: 未分类
简介:前几天,突发奇想地想搭halo玩玩,刚好iblog.top这个域名空下来了,于是正好拿来整个halo博客玩玩,本来打算按官方的那个文档来的,但是想来想去,觉得不行。一是觉得有点繁琐,按他那个来,我怕出问题之后自己找不出来;二是觉得有点浪费时间;还有就是我怕自己突然整到一半就跑去干别的事了,最后写出来的东西语序不对不说,出现啥错误就尴尬了。索性,采取了一些节约时间的做法——通过宝塔面板来安装halo注:由于有端口开放的要求,所以要求是有用户权限的服务器用虚拟机的朋友们可以询问客服一下能不能开放端口首先,你得要有一台服务器(或是能开放端口的虚拟机)配置能安装宝塔面板就行一般1h2g足够了Halo 理论上可以运行在任何支持 Docker 及 Java 的平台。但是,还是那句话——怎么简单怎么来对比Docker和Java在宝塔面板上,还是Docker操作更简单一点因此我们选择使用Docker来部署halo首先我们点击左侧菜单倒数第三列的软件商店其次在应用分类中点击运行环境然后在下方列表中找到Docker管理器轻击安装,至于版本选最新的,默默等待安装完成,你可以在等待安装的时候刷刷视频啥的。待他安装完成之后点击设置显示的是这个页面在镜像管理中点击获取镜像在官方库下键入halohub/halo:2.9刷新后可以看到halo的镜像出来了其次通过脚本指令来创建容器docker run it d name halo p 8090:8090 v ~/.halo2:/root/.halo2 halohub/halo:2.9这个时候我们可以看到容器就创建好了如果我们有服务器是有安全组的,需要设置8090端口放行。包括宝塔面板的安全组端口8090端口也要放行的。这里,我们先打开 "ip地址:8090",然后打开安装向导。登录后我们可以看到Halo博客的后台界面,这个我们可以根据实际需要再微调。这里就不详细介绍这个博客程序,以后有机会在介绍。包括我们也可以更换主题。当然到了这步还不算完,我们现在单单只是完成了halo的安装,但是我们现在还没有办法通过域名来访问我们的halo博客。所以我们需要通过反向代理,反向绑定映射的方式使得我们能够通过域名来访问我们的Halo博客。当然,在此前,我们的宝塔面板是没有绑定我们的域名的。所以,我们需要添加站点,直接点创建就好,其他的默认。在站点修改中点击反向代理并创建具体设置如上图(注意:这里的127.0.0.1指的是本机,也就是你自己的服务器)提交之后就完成了这时候,打开域名并刷新,你的Halo博客就安装成功了。参考资料:Halo文档:https://docs.halo.runDocker 安装文档:https://docs.docker.com/engine/install/Docker Compose 安装文档:https://docs.docker.com/compose/install/宝塔面板手册:https://www.kancloud.cn/chudong/bt2017/3130615