当前位置: 首页 > news >正文

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 安装和使用教程

随着开源社区的日益繁荣&#xff0c;人们对社区品质的要求也越来越高。传统的 BBS 论坛模式已经难以满足现代用户对美观、便捷、互动性的需求。搭建一个现代化的高品质社区&#xff0c;成为许多网站管理者的迫切需求和共同挑战。 今天就给大家安利一款现代化的、优雅的开源论坛…...

Java老人护理上门服务类型系统小程序APP源码

&#x1f338; 老人上门护理服务系统&#xff1a;温暖与专业并存 &#x1f338; 一、&#x1f3e0; 走进老人上门护理服务系统 随着社会的快速发展&#xff0c;我们越来越关注老年人的生活质量。老人上门护理服务系统应运而生&#xff0c;它结合了现代科技与人性化服务&#…...

Spring Boot整合Knife4j-3.0.3

文章目录 Spring Boot整合Knife4j-3.0.31. 引言2. 快捷的解决方案2.1 修改knife4j的依赖2.2 application.yml增加配置3.3 SwaggerConfig配置如下 Spring Boot整合Knife4j-3.0.3 1. 引言 前面我写过一篇关于整合knife4j的文档 Spring Boot整合Knife4j-2.0.7 最近我引入redissi…...

使用R语言生成CDISC SDTM.AE domain

写在前面 - 使用的是Rstudio - 其实R已经有生成sdtm相关的package&#xff0c;以下代码仅作为练习R语言的语法&#xff0c;不是高效生成sdtm的方法 - 代码中没有解决的问题包括&#xff1a;EPOCH相关的逻辑没有考虑partial date的情况&#xff1b;在使用arrange() function做…...

怎么防止源代码泄露?9种方法教会你!

怎么防止源代码泄露&#xff1f;首先要了解员工可以通过哪些方式将源代码传输出去&#xff01; 物理方法&#xff1a; — 网线直连&#xff0c;即把网线从墙上插头拔下来&#xff0c;然后和一个非受控电脑直连; — winPE启动&#xff0c;通过光盘或U盘的winPE启动&#xff0c;甚…...

原生JS如何实现可配置DM码

原生JS如何实现可配置DM码 一、 DM码简介 1、 Data Matrix码 Data Matrix码是一种二维条形码,简称DM码,由美国公司International Data Matrix, Inc.(I.D. Matrix)在1994年发明,Data Matrix码中的行数和列数随二维码中存储的信息量而增加,信息限值是2335个字母数字字符…...

【Python】Python开发面试题库:综合考察面试者能力

文章目录 Python开发面试题库&#xff1a;综合考察面试者能力1. 基础语法与数据类型问题1&#xff1a;变量与数据类型问题2&#xff1a;列表与字典操作问题3&#xff1a;字符串操作问题4&#xff1a;元组解包问题5&#xff1a;集合操作问题6&#xff1a;基本运算问题7&#xff…...

大语言模型的sft

https://zhuanlan.zhihu.com/p/692892489https://zhuanlan.zhihu.com/p/692892489https://zhuanlan.zhihu.com/p/679450872https://zhuanlan.zhihu.com/p/6794508721.常...

Astar路径规划算法复现-python实现

# -*- coding: utf-8 -*- """ Created on Fri May 24 09:04:23 2024"""import os import sys import math import heapq import matplotlib.pyplot as plt import time 传统A*算法 class Astar:AStar set the cost heuristics as the priorityA…...

低-零功率技术在军事中的应用

“低-零功率”概念最先由美国国防部提出&#xff0c;主要是针对诸如俄罗斯等大国的远程传感器&#xff0c;帮助美军破除“灰色地带挑衅”的威胁。由于“灰色地带”冲突仅依托小规模军事力量&#xff0c;其强度维持在不足以引发美国及其盟国进行直接干预的程度&#xff0c;因此&…...

【培训】企业档案管理专题(私货)

导读&#xff1a;通过该专题培训&#xff0c;可以系统了解企业档案管理是什么、为什么、怎么做。尤其是对档案的价值认知&#xff0c;如何构建与新质生产力发展相适应的企业档案工作体系将有力支撑企业新质生产力的发展&#xff0c;为企业高质量发展贡献档案力量&#xff0c;提…...

某国资集团数据治理落地,点燃高质量发展“数字引擎”

​某国有资产经营控股集团为快速提升集团的内控管理能力和业务经营能力&#xff0c;以数字化促进企业转型的信息化建设势在必行。集团携手亿信华辰开启数据治理项目&#xff0c;在数据方面成功解决“哪里来、怎么盘、怎么管、怎么用”的问题&#xff0c;不断推动企业数字化转型…...

2024.06.12【读书笔记】丨生物信息学与功能基因组学(第十四章 细菌和古细菌基因组 第二部分)【AI测试版】

读书笔记&#xff1a;《生物信息学与功能基因组学》第十四章 - 第二部分 摘要 第二部分深入讨论了基于不同标准的细菌和古细菌的分类方法&#xff0c;包括形态学、基因组大小和排列、生活方式以及与人类疾病的关系。此外&#xff0c;还探讨了基于核糖体RNA序列的分类方法&…...

企业数据API接口大全

一、工商信息 &#xff08;1&#xff09;精确获取企业唯一标识 根据企业名称、注册号或统一社会信用代码&#xff0c;获取企业唯一标识 &#xff08;2&#xff09;企业模糊查询 关键字名称模糊搜索匹配企业 &#xff08;3&#xff09;企业详情 根据企业唯一标识、企业名称…...

【HTML】格式化文本 pre 标签

文章目录 <pre> 元素中的文本以等宽字体显示&#xff0c;文本保留空格和换行符。 <pre> 元素支持 HTML 中的全局属性和事件属性。 示例&#xff1a; <pre> pre 元素中的文本 以等宽字体显示&#xff0c; 并且同时保留 空格 和 换行符。 </pre&…...

力扣每日一题(2024-06-13)2813. 子序列最大优雅度

基于官方题解&#xff0c;进行补充说明 给你一个长度为 n 的二维整数数组 items 和一个整数 k 。 items[i] [profiti, categoryi]&#xff0c;其中 profiti 和 categoryi 分别表示第 i 个项目的利润和类别。 现定义 items 的 子序列 的 优雅度 可以用 total_profit distinct_…...

MySQL -- 优化

1. 查询优化 使用索引 示例&#xff1a;有一个包含数百万用户的表&#xff0c;名为 users&#xff0c;常见的查询是通过 email 字段查找用户。 CREATE INDEX idx_email ON users(email);通过创建索引 idx_email&#xff0c;SELECT * FROM users WHERE email exampleexample…...

学会python——密码校验(python实例三)

目录 1、认识Python 2、环境与工具 2.1 python环境 2.2 pycharm编译 3、纠正密码输入的格式问题 3.1 代码构思 3.2 代码示例 3.3 运行结果 4、总结 1、认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可…...

【Python】中的X[:,0]、X[0,:]、X[:,:,0]、X[:,:,1]、X[:,m:n]、X[:,:,m:n]和X[: : -1]

Python中 x[m,n]是通过numpy库引用数组或矩阵中的某一段数据集的一种写法,m代表第m维,n代表m维中取第几段特征数据。 通常用法: x[:,n]或者x[n,:] X[:,0]表示对一个二维数组,取该二维数组第一维中的所有数据,第二维中取第0个数据。 X[0,:]使用类比前者。 举例说明: x[:,0…...

【Java基础】OkHttp 超时设置详解

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

巴西:海外媒体投放,大舍传媒实现企业与巴西媒体间的交流

引言 随着全球化的进程&#xff0c;海外市场的开拓对于企业的发展至关重要。巴西作为南美洲最大的经济体和人口大国&#xff0c;具有巨大的商机。在与巴西媒体的交流中&#xff0c;大舍传媒的投放成为了一种高效的宣传和合作途径。 巴西媒体的多样性 巴西媒体以其丰富多样的…...

MT7981B+MT7976C+MT7531A RF定频测试方法

1、从下面网址下载QA软件包&#xff0c;然后在WIN系统下安装QA环境。 https://download.csdn.net/download/zhouwu_linux/89428691?spm1001.2014.3001.5501 在WINDOWS 7系统下先安装WinPcap_4_1_3.exe。 2、搭建硬件环境&#xff0c;电脑先连接仪器&#xff0c;主板网络与电…...

支持微信支付宝账单,极空间Docker部署一个开箱即用的私人账本『cashbook』

支持微信支付宝账单&#xff0c;Docker部署一个开箱即用的私人账本『cashbook』 哈喽小伙伴好&#xff0c;我是Stark-C~ 不知道屏幕前的各位富哥富姐们有没有请一个专业的私人财务助理管理自己的巨额资产&#xff0c;我不是给大家炫耀&#xff0c;我在月薪300的时候就已经有了…...

异常检测方法

1 异常检测方法适用范围 什么时候我们需要异常点检测算法呢&#xff1f;常用的有三种情况。 1.做数据预处理的时候需要对异常的数据做过滤&#xff0c;防止对归一化等处理的结果。2.对没有标记输出的特征数据做筛选&#xff0c;找出异常的数据。3.对有标记输出的特征数据做二…...

在网站建设时,如何选择适合自己的网站模版

可以根据以下几个地方选择适合的网站模板 1.公司的核心业务 根据公司的业务内容来确定网站展示的内容之一&#xff0c;不同的业务内容可以有不同的展示方式&#xff0c;以此来确定网站的展示风格之一&#xff0c;公司肯定是要有明确的业务内容&#xff0c;并且能够在网站…...

rabbitmq单机安装及性能测试

RabbitMQ单机安装及性能测试 本文使用CentOS7.9安装RabbitMQ单机环境&#xff0c;并进行性能测试。 1. 安装RabbitMQ RabbitMQ依赖Erlang&#xff0c;版本配套关系参考官网&#xff1a;https://www.rabbitmq.com/docs/which-erlang。 本文安装RabbitMQ3.8.21,Erlang版本要求…...

字节流和字符流的区别

字节流和字符流的区别 字节流 **数据单位&#xff1a;**Byte为单位进行数据传输和处理。 **应用场景&#xff1a;**适用于所有类型的文件&#xff0c;包括视频、视频、音频等二进制文件&#xff0c;以及文本文件。 比如InputStrem和子类&#xff08;FileInputStream&#x…...

【仿真建模-anylogic】EventRate原理解析

Author&#xff1a;赵志乾 Date&#xff1a;2024-06-13 Declaration&#xff1a;All Right Reserved&#xff01;&#xff01;&#xff01; 1. 类图 2. 原理解析 EventOriginator是Anylogic中各类事件的父类&#xff0c;对外暴露的接口主要有: 函数功能boolean isActive()判定…...

Linux安装Qt5.14.2

下载 qt 5.14.2下载网址 下载qt-opensource-linux-x64-5.14.2.run Linux系统下载.run文件&#xff08;runfile文件&#xff09;&#xff0c;windows系统下载.exe文件&#xff0c;mac系统下载.dmg文件。 md5sums.txt中是各个文件对应的MD5校验码。 验证MD5校验码 md5sum是li…...

Linux so文件无法找到及某条命令找不到的解决办法

前言 在一些定制软件中可能会自带so文件。或者自带一些二进制命令。 这时会如果运行某个程序会发生 **.so 文件无法找到的错误。 以及 * 某条命令无法找到的错误。 比如像是下面这样 解决办法&#xff1a; so文件无法找到 通过往 LD_LIBRARY_PATH 变量中追加路径来告诉程序…...