Flarum 安装和使用教程

news2024/10/7 10:17:36

随着开源社区的日益繁荣,人们对社区品质的要求也越来越高。传统的 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 提供的各项功能,如移动端友好的响应式设计、灵活的权限管理、丰富的互动方式等,都将为你的社区注入新的活力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1818963.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

028、工具_Pipeline

Redis客户端执行一条命令分为如下四个过程: 1)发送命令 2)命令排队 3)命令执行 4)返回结果 其中1)+4)称为Round Trip Time(RTT,往返时间)。 Pipeline(它能将一组Redis命令进 行组装,通过一次RTT传输给Redis,再将这组Redis命令的执行结果按顺序返回给客户端,图3-…

2024年高考:计算机相关专业还值得选择吗?

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;日常聊聊 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 行业竞争现状 市场饱和与新兴技术的影响 如何保持竞争力 专业与个人的匹配度判断 专业核心课程与技术能力 个人兴趣与职业…

MYSQL 三、mysql基础知识 5(变量、流程控制与游标)

一、变量 在MySQL数据库的存储过程和函数中&#xff0c;可以使用变量来存储查询或计算的中间结果数据&#xff0c;或者输出最终的结果数据。 在 MySQL 数据库中&#xff0c;变量分为 系统变量 以及 用户自定义变量 。 1.1 系统变量 1.1.1 系统变量分类 变量由系统定义…

汽车EDI:BRP EDI项目案例

项目背景 BRP Inc.使用EDI&#xff08;电子数据交换&#xff09;来处理其与供应商、客户和合作伙伴之间的业务交流。通过EDI&#xff0c;BRP可以在各种业务流程中自动化数据交换&#xff0c;例如采购订单、发货通知、发票、付款和库存信息等&#xff0c;从而提高操作效率、降低…

【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…

20240613每日前端-------vue3实现聊天室(二)

看效果图&#xff1a; 今天具体讲下&#xff0c;聊天消息框的布局&#xff1a; 消息框大致分为两块&#xff1a; 别人发来的消息自己发出的消息 元素如下&#xff1a; 头像消息发送人发送时间 html代码设计如下&#xff1a; 整体先用一个div作为外边框&#xff0c;观察上面…

【算法】Graham 凸包扫描算法 ( 凸包概念 | 常用的凸包算法 | 角排序 | 叉积 | Python 代码示例 )

文章目录 一、Graham 凸包扫描算法1、凸包概念2、常用的凸包算法3、Graham 凸包扫描算法 二、Graham 算法前置知识点1、角排序2、叉积3、算法过程分析 三、代码示例1、完整代码示例2、执行结果 使用 Graham 算法绘制的凸包效果 : 博客代码下载 : https://download.csdn.net/d…

提升设计效率,选择亿达四方SolidWorks代理服务

在当今快速发展的设计和制造行业中&#xff0c;拥有高效、可靠的工具是企业保持竞争力的关键。作为设计领域的领军软件&#xff0c;SolidWorks以其强大的三维建模功能、直观的用户界面以及广泛的行业应用而闻名。然而&#xff0c;要充分发挥这款软件的潜力&#xff0c;选择一个…

2024下《系统分析师》50个高频考点汇总!背就有效

宝子们&#xff01;上半年软考已经结束一段时间了&#xff0c;准备备考下半年软考高级-系统分析师的小伙伴可以开始准备了&#xff0c;毕竟高级科目的难度可是不低的&#xff0c;相信参加过上半年系分的小伙伴深有体会。 这里给大家整理了50个高频考点&#xff0c;涵盖全书90%…

DDei在线设计器-配置主题风格

DDeiCore-主题 DDei-Core插件提供了默认主题和黑色主题。 如需了解详细的API教程以及参数说明&#xff0c;请参考DDei文档 默认主题 黑色主题 使用指南 引入 import { DDeiCoreThemeBlack } from "ddei-editor";使用并修改设置 extensions: [......//通过配置&am…

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

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

stable-diffusion.cpp 文字生成图片

纯 C/C 中 [Stable Diffusion] 的推断 https://github.com/CompVis/stable-diffusion ## 特点 - 基于 [ggml]&#xff08;https://github.com/ggerganov/ggml&#xff09; 的普通 C/C 实现&#xff0c;工作方式与 [llama.cpp]&#xff08;https://github.com/ggerganov/llam…

Python提取PowerPoint演示文稿表格保存到文本及Excel文件

PowerPoint作为广泛使用的演示工具&#xff0c;常被用于展示各类数据报告和分析结果&#xff0c;其中&#xff0c;表格以其直观性和结构性成为阐述数据关系的不二之选。然而&#xff0c;在数据分析、文档归档或跨平台分享的场景下&#xff0c;幻灯片中的表格功能难以满足需求&a…

电脑桌面提醒做事的app 好用的桌面提醒app

在快节奏的现代生活中&#xff0c;我们每天都要通过电脑处理大量的工作事项。然而&#xff0c;繁忙的工作节奏有时会导致我们遗忘某些重要任务&#xff0c;从而带来不必要的损失。为了避免这种情况&#xff0c;选择一款好用的桌面提醒app显得尤为重要。 想象一下&#xff0c;你…

Java中的方法重写与重载

在Java编程语言中&#xff0c;方法重写&#xff08;Override&#xff09;和方法重载&#xff08;Overload&#xff09;是实现代码多态性的两种基本方式。它们允许程序员以多种方式使用相同的方法名&#xff0c;增加了程序的可读性和可重用性&#xff0c;但它们的应用场景和规则…

一文读懂Partisia Blockchain 的MOCCA方案:资产托管的最优解

Partisia Blockchain是一个兼具隐私、可互操以及高迸发特性的Layer1系统&#xff0c;其通过将区块链以及零知识计算&#xff08;包括MPC、零知识证明ZKP等&#xff09;以协作的方式结合起来&#xff0c;并通过分片方案、Bring Your Own Coin&#xff08;BYOC&#xff09;功能和…

文心一言 VS 讯飞星火 VS chatgpt (280)-- 算法导论20.4 1题

一、假设 CONNECTED-COMPONENTS 作用于一个无向图 G(V&#xff0c;E)&#xff0c;这里V{a&#xff0c;b&#xff0c;c&#xff0c;d&#xff0c;e&#xff0c;f&#xff0c;g&#xff0c;h&#xff0c;i&#xff0c;j&#xff0c;k}&#xff0c;且 E 中的边以如下的顺序处理:(d…

Leetcode 力扣117. 填充每个节点的下一个右侧节点指针 II (抖音号:708231408)

给定一个二叉树&#xff1a; struct Node {int val;Node *left;Node *right;Node *next; } 填充它的每个 next 指针&#xff0c;让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点&#xff0c;则将 next 指针设置为 NULL 。 初始状态下&#xff0c;所有 next 指针都…

PCIE的吞吐量如何计算和记忆诀窍?

简介&#xff1a; PCIe标准中的性能参数有好几个&#xff0c;比如设备的带宽和吞吐量是多少&#xff1f;传输速率&#xff1f; 百度百科上&#xff0c;PCIE标准的传输速率与带宽对应表如下&#xff08;表中速率为单向速率&#xff09;。网上有些数据是双向的&#xff0c;性能数…

流程设计的基本步骤

背景 公司为什么要流程&#xff0c;已经有专门章节进行阐述&#xff1b; 什么是流程&#xff0c;已经有专门章节进行专门阐述&#xff1b; 那么接下来这个章节讨论&#xff0c;流程设计的基本步骤&#xff0c;那么谁来设计流程呢&#xff0c;让一个部门的员工来设计一份流程…