Flarum 安装和使用教程
随着开源社区的日益繁荣,人们对社区品质的要求也越来越高。传统的 BBS 论坛模式已经难以满足现代用户对美观、便捷、互动性的需求。搭建一个现代化的高品质社区,成为许多网站管理者的迫切需求和共同挑战。
今天就给大家安利一款现代化的、优雅的开源论坛软件 - Flarum。
Flarum 以现代简约的设计理念、卓越的用户体验、强大的可扩展性,重新定义了我们对网络社区的想象。
Flarum 简介
Flarum 是一个诞生于 2014 年的开源论坛软件项目。创始人 Toby Zerner 和 Franz Liedke 希望创建一个现代化的、优雅的论坛系统,以应对传统论坛软件在界面设计、用户体验、可扩展性等方面的不足。
经过两年的开发,Flarum 在 2015 年发布了第一个公开 Beta 版本,迅速吸引了大量开发者和社区运营者的关注。此后,Flarum 不断迭代更新,社区不断壮大,逐渐成长为论坛软件领域的一颗新星。
Flarum 的设计理念可以概括为 “现代、简约、优雅”。它摒弃了传统论坛软件臃肿、复杂的设计,转而追求简洁明了的界面布局和流畅自然的用户交互。
目前该项目在 GitHub 上已经收获了 15K Star。
Flarum 功能特色
Flarum 的主要特点包括:
- 扁平化、响应式的界面设计,适配不同尺寸的设备。
- 简单直观的用户操作流程,降低使用门槛。
- 细粒度的用户权限管理,满足社区的管理需求。
- 丰富的社交互动功能,如点赞、@提及、实时通知等。
- 强大的可扩展性,支持通过插件和 API 进行功能扩展。
Flarum 的技术架构
Flarum 采用了当今流行的前后端分离架构。后端基于全世界最好的语言 PHP 和 Laravel 框架开发,提供 RESTful API 接口;前端则使用 JavaScript 语言和 Mithril.js 框架编写,实现了单页应用 (SPA) 的用户界面。这种现代化的架构设计赋予了 Flarum 更好的性能、灵活性和可维护性。
同时,Flarum 还利用了诸如 Composer、WebSocket 等现代 Web 开发技术,进一步提升了系统的性能和实时性。
Flarum vs 传统 BBS 论坛
特性 | Flarum | 传统 BBS 论坛 |
---|---|---|
界面设计 | 现代、简约、美观 | 相对老旧、界面复杂 |
移动端适配 | 响应式设计,自动适配不同屏幕 | 大多未针对移动端优化 |
社交互动 | 点赞、@提及、站内通知等丰富的互动功能 | 互动形式相对单一 |
实时性 | 内容更新近乎实时,无需刷新页面 | 实时性相对较弱 |
可扩展性 | 模块化设计,支持插件扩展功能 | 可扩展性相对有限 |
用户权限管理 | 细粒度的用户组权限设置 | 通常也有比较完善的权限管理 |
功能丰富程度 | 相对较新,功能还在不断完善中 | 经过多年发展,功能非常丰富 |
用户习惯 | 现代化的界面和交互方式可能需要用户适应 | 很多用户已经习惯了传统 BBS 的使用方式 |
Flarum 安装使用
要安装运行 Flarum,你的服务器需要满足以下环境要求:
- Web 服务器:Apache (需要 mod_rewrite) 或 Nginx。
- PHP 7.4 及以上版本,需要启用 Fileinfo,Mbstring,OpenSSL,PDO,Tokenizer,XML,Ctype,JSON,GD 等 PHP 扩展。
- MySQL 5.6+ 或 MariaDB 10.0.5+。
- SSH (命令行) 访问,用于运行 Composer。
可以看出来其依赖的技术环境相对还是比较复杂的,手动安装和配置的过程可能会让非技术背景的用户望而却步。
对于没有技术背景的同学而言,你也不用担心安装问题,Sealos 应用商店提供了一键部署的应用模板,点一下鼠标即可完成部署,非常丝滑。
如果你想快速搭建一个 Flarum 论坛,又不想陷入繁琐的安装和配置过程,可以试试 Sealos。
直接打开 Flarum 应用模板,然后点击右上角的 “去 Sealos 部署”。
如果您是第一次使用 Sealos,则需要注册登录 Sealos 公有云账号,登录之后会立即跳转到模板的部署页面。
点击右上角的 “部署应用” 开始部署,部署完成后,直接点击应用的 “详情” 进入该应用的详情页面。
等待应用状态变成 running 之后,直接点击外网地址便可打开 Flarum 的可视化界面。
点击右上角的 “Log In” 登录管理员账号:
- 用户名:
flarum
- 密码:
flarum
打开管理员后台,就可以对论坛进行各种自定义设置了。
由于国内特殊的网络环境,在进行下一步之前,我们需要先把论坛的软件源替换成国内的源,不然将寸步难行。
修改 Flarum 软件源
在 Flarum 应用详情页面,点击右上角的 “变更”:
然后展开高级设置,修改运行命令和命令参数:
- 运行命令:
/bin/bash -c
- 命令参数:
sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories && apk update && apk add git && composer config repo.packagist composer https://mirrors.aliyun.com/composer/ && /init
修改完成后,点击右上角的 “变更” 即可。
等待应用重启完成,便可重新打开论坛界面。
个性化设置
通过自定义主题,你可以让你的论坛独具一格,彰显社区的特色。配色方案、导航栏样式、Logo、背景图片,这些都可以自定义。
但首先,我们需要安装一个中文语言包。
安装中文语言包
在 Flarum 应用详情界面,点击右下角的终端按钮:
在打开的终端中执行以下命令安装中文语言包:
extension require flarum-lang/chinese-simplified:dev-master
安装成功:
进入管理员后台可以看到多了个中文语言:
直接点击这里开启中文语言:
然后回到 Basics,将 Default Language 改为简体中文,最后点击下方的 Save Changes,论坛的语言就变成中文啦。如果没有切换就刷新一下页面。
常规设置
接下来进行一些常规的设置,例如论坛名称、论坛描述、欢迎横幅等等。
设置完成后,欢迎横幅是这个样子的:
这可不太美观的,咱直接让它向左对齐,别居中了。怎么改呢?很简单,在 “外观” 中点击 “编辑自定义 CSS”:
然后填入以下 CSS:
.Hero-close {
float: right;
margin-top: -10px;
color: inherit;
opacity: 0.5;
visibility: hidden;
}
.Hero h1 {
margin: 0;
font-weight: bold;
line-height: 1.5em;
}
.containerNarrow {
max-width: none;
margin: 0 auto;
text-align: left;
}
保存之后再刷新页面就变成这个样子了:
这下舒服多了。
除此之外,还可以设置论坛的配色和 Logo 等。
页眉和页脚也是可以自定义的,例如 Sealos 官方论坛 (https://forum.laf.run) 的自定义页脚:
<div class="footer" style="padding:0 15px;">
<p style="text-align: center;">
Copyright 2023 by <a style="padding: 0 3px;" href="https://sealos.run/" target="_blank"><b>sealos.run</b></a>
</p>
<p style="text-align: center;">
声明:除非另有说明,否则本站内容依据 <a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.zh" target="_blank">CC BY-SA 4.0</a> 许可证进行授权,转载请附上出处链接。
</p>
<p style="text-align: center;">
️ <a href="https://sealos.run/" target="_blank" style="font-weight:bold; color:transparent;background-image:linear-gradient(to right,#0ea5e9,#2563eb);-webkit-background-clip: text;background-clip: text">Sealos</a> | <a href="https://sealos.run/zh-Hans/company" target="_blank">About</a>
</p>
</div>
最终效果如下:
主题推荐
推荐一个主题,GitHub 地址:https://github.com/DellZHackintosh/fluent-flarum
安装方法和之前一样,在 Flarum 应用详情界面,点击右下角的终端按钮:
在打开的终端中执行以下命令安装:
extension require dalez/fluent-flarum
安装完成后,在管理员后台开启。
最终效果:
常用插件推荐
Flarum 的一大魅力在于它的可扩展性。通过安装各式各样的插件,你可以为你的论坛添加新的功能和特性,满足社区的特定需求。无论是增强 SEO 表现、集成第三方身份验证,还是支持全文搜索、实现实时聊天,总有一款插件能够满足你的需要。
以下是一些常用的优质插件:
- FoF User Directory:为论坛添加用户目录页面,方便浏览和搜索用户。安装方法:
extension require fof/user-directory:"*"
- FoF Filter:帮助论坛管理员自动审核和过滤用户生成的内容。安装方法:
extension require fof/filter:"*"
- FoF Links:让你在论坛的导航栏、侧边栏或页脚添加自定义链接,方便用户快速访问论坛内外的重要页面。安装方法:
extension require fof/links
- SEO:专注于 SEO 优化。安装方法:
extension require v17development/flarum-seo
- Discussion views:显示每个话题 (讨论) 的浏览量,让用户和管理员一目了然地看到社区内容的受欢迎程度。安装方法:
extension require michaelbelgium/flarum-discussion-views
- Echo showfloor:像百度贴吧一样显示楼层。安装方法:
extension require wanecho/showfloor:"*"
- Emoji Picker:让用户在论坛中方便地插入表情符号,与论坛自带的 Emoji 插件冲突,需要先禁用默认的 Emoji 插件。安装方法:
extension require clarkwinkelmann/flarum-ext-emojionearea
- Fancybox-Plus:为 Flarum 论坛提供图片浏览增强功能,安装之后点击图片将会弹出一个优雅的图片浏览界面。安装方法:
extension require tohsakarat/fancybox-plus
- FoF Sitemap:为 Flarum 论坛提供站点地图 (Sitemap) 功能,提升网站的 SEO 表现。安装方法:
extension require fof/sitemap
太多了,本文就不一一介绍了,更多插件可到 Flarum 插件市场去找:https://flarum.org/extensions
注意:安装插件时,一律将安装命令中的 composer 替换为 extension。例如以下插件的官方安装命令为
composer require michaelbelgium/flarum-discussion-views
在 Sealos 的终端中安装时就需要改成
extension require michaelbelgium/flarum-discussion-views
总结
Flarum 以其简约美观的界面设计、强大的功能特性和良好的可扩展性,正在吸引越来越多的社区运营者和用户的关注。
选择 Flarum,你将获得一个开箱即用的现代化社区平台。不必在复杂的技术细节上耗费太多心力,而是可以专注于社区的实际运营和发展。Flarum 提供的各项功能,如移动端友好的响应式设计、灵活的权限管理、丰富的互动方式等,都将为你的社区注入新的活力。
Flarum 安装和使用教程的更多相关文章
- CentOS7下自定义目录安装mono+jexus教程
一.阅读前须知: 1.本文属于安装完Centos7之后的步骤 2.如果还不了解mono,请点击mono 3.本篇主要内容是使用自定义目录安装mono+jexus教程,使用默认目录请查看使用默认目录安装 ...
- 【转】真正从零开始,TensorFlow详细安装入门图文教程!(帮你完成那个最难的从0到1)
AI这个概念好像突然就火起来了,年初大比分战胜李世石的AlphaGo成功的吸引了大量的关注,但其实看看你的手机上的语音助手,相机上的人脸识别,今日头条上帮你自动筛选出来的新闻,还有各大音乐软件的歌曲& ...
- CentOS7下默认目录安装mono+jexus教程
一.阅读前须知: 1.本文属于安装完Centos7之后的步骤 2.如果还不了解mono,请点击mono 3.本篇主要内容是使用默认目录安装mono+jexus教程,使用自定义目录请查看使用自定义目录安 ...
- << CocoaPods安装和使用教程 >>github code4app以及cocoachina 苹果官方文档
developer.apple.com 英文搜索各个技术的官方介绍文档, 前提是英文过关 cocoachina ios最新新闻, 信息 code4app上有许多组件 http://www.code4a ...
- webpack安装配置使用教程详解
webpack安装配置使用教程详解 www.111cn.net 更新:2015-09-01 编辑:swteen 来源:转载 本文章来为各位详细的介绍一下关于webpack安装配置使用教程吧,这篇文章对 ...
- NSIS安装制作基础教程[初级篇], 献给对NSIS有兴趣的初学者
NSIS安装制作基础教程[初级篇], 献给对NSIS有兴趣的初学者 作者: raindy 来源:http://bbs.hanzify.org/index.php?showtopic=30029 时间: ...
- 安装WordPress详细教程指南
最近准备自己建一个个人博客,以便分享一些自己工作生活中的一些观点及经验,建博客当然选wordpress,毕竟wordpress是为博客而生的嘛.下边记录一下自己安装WordPress的详细过程指南,亦 ...
- 纯windows下制作变色龙引导安装U盘教程
原创教程:纯windows下制作变色龙引导安装U盘教程 支持Mavericks和Yosemite 支持白苹果 目标:windows下制作带 Chamelon变色龙引导的黑苹果安装U盘,支持PC机引导安 ...
- 最详细在Windows安装Xamarin.iOS教程
最详细在Windows安装Xamarin.iOS教程 来源:http://www.cnblogs.com/llyfe2006/articles/3098280.html 本文展示了如何设立Xamari ...
- 【转】Android Studio安装配置学习教程指南 下载和安装--不错
背景 相信大家对Android Studio已经不陌生了,Android Studio是Google于2013 I/O大会针对Android开发推出的新的开发工具,目前很多开源项目都已经在采用,Goo ...
随机推荐
- ARMS企业级场景被集成场景介绍
简介: ARMS企业级场景被集成场景介绍 通过本次最佳实践内容,您可以看到ARMS OpenAPI可以灵活的被集成到客户链路监控场景,并对其进行可视化图形展示监控信息. 1. 背景信息 应用实时监控服 ...
- [FAQ] 清理 Docker 环境长期构建占用磁盘空间过大问题
$ docker system df 长时间积累多次运行 docker 构建过程,Build Cache 缓存几乎占据了硬盘 1/3 的容量. $ docker system prune 此命令 ...
- [FAQ] uni-app 如何让页面不展示返回箭头图标
默认情况是,有历史上一页的 页面会在左上角展示返回图标. 比如登录页不想展示返回,在跳转进来时可以使用 uni.redirectTo({}),它能够关闭其它页面,这样当前页就不会有返回箭头了. Ref ...
- 9.按需创建PV和PVC并使用
官方文档:https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-persistent-volume-stor ...
- DE10-Lite加速度计使用教程
DE10-Lite加速度计使用教程 1. 概述 DE10-Lite实验板上有一片5轴加速度计芯片ADXL345(通常称为G-sensor).它可以用来测量板子的倾斜角度.本文讲述如何以50次/秒的速度 ...
- Oracle和达梦:根据外键名字查询表名
根据外键名字查询表名 select * from user_cons_columns cl where cl.constraint_name = '外键名';
- 建立成功平台工程的关键:自助式 IaC
从技术上讲,云一直都是自助式服务,但由于其在实践中的复杂性,许多开发人员并不喜欢.随着公司采用现代架构(云原生.无服务器等)和新的提供商(多云.SaaS 应用程序),以及云提供商发布更多服务,云变得更 ...
- blazor中的PageTitle输出keywords和description,自定义组件
在blazor的PageTitle中不具备输出keywords和description的功能,而如果直接使用<mate>标签,输出中文时会变成乱码,所以我给大家推介下面的代码解君愁: 1 ...
- NASM中的ALIGN ALIGNB SECTALIGN
ALIGN与ALIGNB NASM中的ALIGN与ALIGNB是用来字节对齐的,它们接收2个参数,第一个参数是必须的,表示对齐的字节数(必须是2的幂),第二个参数是可选的,表示为了对齐而进行填充的内容 ...
- ansible系列(30)--ansible的role详解
目录 1. Ansible Roles 1.1 roles目录结构 1.2 roles编写步骤 1.2.1 编写基本的roles 1.2.2 roles的调用 1.2.3 roles中使用变量 1.2 ...