Flarum 相关知识备忘,供站长自用。

本文以域名 zmt.cool 在宝塔面板进行安装演示,你替换成自己的域名跟着步骤走就行了。

忽略它,这是我的历史备份:

cd /www/wwwroot/zmt.cool

php flarum migrate / php flarum cache:clear (我也不知道/清除缓存)

root /www/wwwroot/zmt.cool/public;
include /www/wwwroot/zmt.cool/.nginx.conf;
location = /sitemap.xml { try_files $uri $uri/ /index.php?$query_string; }

注意:我的论坛已经关了,等什么时候支持中文搜索、分页跳转我再玩。

宝塔搭建Flarum

B 站上有 Flarum 在宝塔里安装的 详细教程 ,注意和 官方教程 联合来看,毕竟那是旧的安装方法有些过时了。

我此时安装好后版本是正式版 1.0.2 而不是以前的 beta,下面是我备份的安装步骤:

环境准备

公共步骤:从网上下载 SHell 软件(进入到 SSH 的软件),以后你会经常用,建议把快捷启动方式固定在电脑开始页。(不要用宝塔自带的 SSH,SSH 就是终端的简称)

第一步:宝塔 - 软件商城 - PHP - 设置 - 安装扩展:安装fileinfo、opcache、exif

第二步: 打开 SSH 连接上服务器终端,输入yum update -y回车,结束后左下角会提示 Complete!。

第三步:宝塔 - 软件商城 - PHP - 设置 - 禁用函数:删除putenv、pcntl_signal、proc_open

第四步:打开 SSH,输入cd回车,这是进入到整个服务器的根目录。

第五步:接着输入php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"回车,这是安装 Composer。

第六步:接着依次输入php composer-setup.php回车、php -r "unlink('composer-setup.php');"回车、mv composer.phar /usr/local/bin/composer回车、composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/回车。【完】

安装 Flarum

第一步:宝塔 - 软件商城 - PHP - 设置 - 配置修改:最大脚本运行时间(max_execution_time):600 | 脚本内存限制(memory_limit):512M 或 1024M。

第二步:宝塔 - 文件 - zmt.cool 里的所有文件都删掉,那个 .user.ini 也要删掉。

第三步:在 SSH 里输入cd /www/wwwroot/zmt.cool回车,这是进入到某个域名下的根目录。然后输入composer create-project flarum/flarum . --stability=beta回车进行安装。

第四步:宝塔 - 网站 - zmt.cool - 配置文件把root /www/wwwroot/zmt.cool;替换为下面的:(注:如果安装网站地图插件,还需要把插件备忘中提到的那行代码加在此处的第三行)

root /www/wwwroot/zmt.cool/public;   
include /www/wwwroot/zmt.cool/.nginx.conf;

第五步:宝塔- 文件 - zmt.cool 右边的权限,打开再点一下确定(用户组、公共写入都没勾,755 权限 www,勾上应用到子目录)

第六步:打开 zmt.cool 网址进入到安装页面,如果你做过博客这一步很熟悉,我就不说了。如果你没做过博客去上面的官方教程里看这一步每一项填什么。

第七步:注意数据库需要是utf8mb4格式,宝塔默认为 utf8,所以你要改一下。【完】


安装其实很简单,这个程序总体有三个缺点。

  1. 「环境准备」步骤有点繁琐。
  2. 「功能的添加」,虽然类似博客安装插件进行美化或实现功能,但它的插件必须在 SSH 里安装。
  3. 「中文的不匹配」,由于它是外国人写的程序,我们用的只是中文的语言包,所以中文搜索系统、中文昵称注册等等符合中国人使用习惯的东西,它一概没有。

优点:前端漂亮、轻系统。

白嫖cdn :https://gcorelabs.com/

后台自定义

后台 css 自定义:

.item-markAllAsRead{display:none !important;} /*去掉首页全部阅读那个✔*/

.Hero-close{display:none !important;} /*去掉刚进站时关闭页头的✘*/

/*鼠标小黑猫光标*/
button {cursor:url(https://cdn.jsdelivr.net/gh/moezx/cdn@3.1.9/img/Sakura/cursor/work.cur),alias}
p {cursor:url(https://cdn.jsdelivr.net/gh/moezx/cdn@3.1.9/img/Sakura/cursor/texto.cur),auto}
a {cursor:url(https://cdn.jsdelivr.net/gh/moezx/cdn@3.1.9/img/Sakura/cursor/ayuda.cur),auto}
a:active {cursor:url(https://cdn.jsdelivr.net/gh/moezx/cdn@3.1.9/img/Sakura/cursor/work.cur),alias}
body {cursor:url(https://cdn.jsdelivr.net/gh/moezx/cdn@3.1.9/img/Sakura/cursor/normal.cur),auto}

/*置顶公告*/
.IndexPage-toolbar::after {content: "本站建设中,不开放,你快走吧,bye~";padding: 3px 5px 3px 5px;background-color: @hero-bg;color: @link-color;border-radius: 5px;text-align: center;font-size: 16px;display: block;margin: 5px 0;white-space: pre-wrap;}

/*让文章阅读数对齐*/
@media (min-width: 768px){.IndexPage li.item-discussion-views {margin-right: -70px;width: 55px;}}

/*搜索结果关键字高亮*/
.DiscussionListItem-main mark {background: #ffff80 !important;}

/*定义滚动条高宽、颜色、圆角比*/
::-webkit-scrollbar {width:8px;height:8px}
::-webkit-scrollbar-track {border-radius:5px;}
::-webkit-scrollbar-thumb {background:#009ac1;border-radius:5px;}

后台页脚 js 自定义

正式使用 js 时要把 /**/ 这玩意去掉,css 不用。

<div style="width:100%;margin:0 auto;padding:20px;text-align:center;"><p><a href="https://zmt.cool/d/2" >用户协议</a> | <a href="https://zmt.cool/sitemap.xml" >sitemap</a> | <a href="https://discuss.flarum.org.cn/" target="_blank" rel="nofollow noopener noreferrer">Flarum</a> | <a href="#" >关于本站</a>
<br>© 2021 <a href="https://zmt.cool/" >自媒体酷</a> | <a href="https://beian.miit.gov.cn/" target="_blank" rel="nofollow noopener noreferrer">皖ICP备18016610号-5</a> | <a href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=34011102002918" target="_blank" rel="nofollow noopener noreferrer">皖公网安备 34011102002918号</a></p></div>
/*页底备案那行文字*/

<script>document.oncontextmenu = function(){return false};</script> /*去掉网页右键功能*/

<script src="https://cdn.jsdelivr.net/gh/jquery/jquery@3.2.1/dist/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/TaylorLottner/CDN@master/CSS/Ashen_Go_Top.css">
<script src="https://cdn.jsdelivr.net/gh/TaylorLottner/CDN@master/JS/Ashen_Go_Top.js"></script>
<a href="#" class="cd-top faa-float animated animate-bounce-up" style="top: -900px;"></a>
/*返回顶部的猫*/

后台页眉自定义

这里类似 html 中的</head>标签,也可以填代码在原有顶部上方再加一行文字链接。(但好丑我不加)

/*网站关键词*/
<meta name="keywords" content="自媒体,新媒体,vlog,自媒体论坛,新媒体论坛,自媒体社区,新媒体社区,自媒体交流,新媒体交流,自媒体运营,新媒体运营,自媒体工具,新媒体工具,自媒体平台,新媒体平台,自媒体网站,新媒体网站,媒体平台"/>

/*百度统计*/
<script>var _hmt=_hmt||[];(function(){var hm=document.createElement("script");hm.src="https://hm.baidu.com/hm.js?bdba69af507cf62d040601f09797731e";var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm,s)})();</script>

插件收集表

如何安装插件?

用 SSH 软件连接服务器后,输入cd /www/wwwroot/zmt.cool,回车后会出现一行代码,在 # 后面输入不同插件的安装代码。

安装:composer require fof/links
更新:composer update fof/links
卸载:composer remove fof/links

可以得出:require = 安装,remove = 卸载,update = 更新,fof/links 每个插件不一样,即后台点击插件源码 github 后面的那些字母。

我的插件备忘

extiverse 第七页看完了

必须的

  • 中文安装包:万事第一步没中文看不懂,之后可把英文包卸载。
  • FoF Sitemap:添加网站 xml 地图。配置文件里要加location = /sitemap.xml { try_files $uri $uri/ /index.php?$query_string; }
  • SEO:搜索引擎优化,必须的。
  • FoF Doorman:注册邀请码功能。
  • FoF Username Request:用户可提交修改用户名的申请。自带昵称插件没啥用删了吧。
  • FoF Drafts:用户可以保存想要发布的文章或评论的草稿、定时发布。
  • Flarumite Simple Discussion Views:前台展示文章的观看次数。
  • User badges:引入用户徽章奖励制度,比如办一个活动给参与者一个纪念徽章。
  • Auto Moderator:用户满足 X 条件时,执行 Y;用户不再满足 X 条件时,执行 Z。即自动化管理用户的行为结果,例如用户浏览了多少文章就给他某个徽章、归为某个用户组、升为版主之类。站长设定条件和结果。【强大,但没用户也无意义】

美化的

  • FoF Links:添加顶栏上的跳转文字。
  • Fancybox:灯箱插件,点图片可以放大。
  • Emoji Picker:替换自带的表情包,异步加载不占用资源。
  • Rich Text:增加一个富文本编辑器的选项。
  • FoF Night Mode:夜间模式。
  • FoF Reactions:文章点赞功能美化。
  • FoF Terms:注册时需要勾上条款才可以。
  • Synopsis:文章的摘要部分。【不太想用,看能否找到更好的】
  • Topic Starter Label:给某篇文章作者添加一个「楼主」后缀,回复别人的时候更方便知晓身份。【如果讨论不多,意义不大】

折腾的

  • FoF Pages:自定义一个 html 页面当成论坛的内页,要自己写代码。
  • FoF Follow Tags:关注标签并收到新讨论和回复的通知,需要配合官方的订阅插件一起使用。【有用户再装】
  • FoF User Bio:用户可自定义一个简介。
  • FoF Forum Statistics Widget:左侧出现论坛统计信息。【有点简陋,看能否找到更好的】
  • FoF Upload:编辑器页面给用户上传图片,很强大。【穷站长没意义,暂时不装】
  • 【合二为一】:据介绍是把两个帖子合为一个。【没试过】
  • FoF Social Profile:将自定义社交媒体页面添加到您的用户个人资料。【没试过】
  • FoF reCAPTCHA:给登陆页加上验证,类似谷歌验证码那种标自行车图案的。【没试过】
  • Moderator Warnings:站长警告,次数达到可以封号。【没试过】

中国化、美化

这里是让程序更符合中国人使用习惯的修改,要动源代码。美化相关代码大多已经放在「后台自定义」里了。

--代耕--

源码改动

搜索框里的文字:

宝塔直接搜core.yml在 299 行,把「搜索」改成「搜素,但根本搜不到」,改完后要在后台清除一下缓存。注意以后要升级程序的话需要改回来,防止程序出错。