828华为云征文|部署在线论坛网站 Flarum

828华为云征文|部署在线论坛网站 Flarum

  • 一、Flexus云服务器X实例介绍
  • 二、Flexus云服务器X实例配置
    • [2.1 重置密码](#2.1 重置密码)
    • [2.2 服务器连接](#2.2 服务器连接)
    • [2.3 安全组配置](#2.3 安全组配置)
    • [2.4 Docker 环境搭建](#2.4 Docker 环境搭建)
  • [三、Flexus云服务器X实例部署 Flarum](#三、Flexus云服务器X实例部署 Flarum)
    • [3.1 Flarum 介绍](#3.1 Flarum 介绍)
    • [3.2 Flarum 部署](#3.2 Flarum 部署)
    • [3.3 Flarum 使用](#3.3 Flarum 使用)
  • 四、总结

一、Flexus云服务器X实例介绍

云服务器是数字化时代的强大助力。它依托云计算技术,提供高效稳定的计算资源。可随时调整配置,灵活应对业务变化。安全可靠的数据存储,让你无需担忧。无论是企业发展还是个人项目,云服务器都能为你开启便捷、高效的云端之旅。

华为云下一代云服务器Flexus X实例焕新上线,新产品基于用户业务负载动态和内存峰值画像,动态推荐规格,减少算力浪费,提升资源利用率,首创大模型加持,智能全域调度,X-Turbo加速,常见应用性能最高可达业界同规格6倍,旗舰体验,覆盖高科技、零售、金融、游戏等行业大多数通用工作负载场景。

Flexus X实例通过和其他服务组合,具备计算、镜像安装、网络、存储、安全等能力,您可根据业务需要灵活配置各资源。

本次测评使用的规格是:4核12G-100G-3M规格的Flexus X实例基础模式

二、Flexus云服务器X实例配置

2.1 重置密码

购买服务器的时候可以提前设置用户名和密码,因为我这里跳过了,所以购买完成后需要重置密码,会短信或站内消息通过你的云服务器信息,重点是公网IP地址和用户名,首先打开你的服务器控制台,选择重置密码

勾选自动重启,点击确定即可

2.2 服务器连接

华为云服务器提供了多种链接方式,如使用控制台提供的VNC方式登录、使用Linux/Mac OS系统主机登录Linux弹性云服务器(即ssh root@192.168.48.78命令)或者使用Putty、Xshell等工具登录Linux弹性云服务器。

我个人习惯使用 MobaXterm 这款软件,添加SSH连接,输出公网IP、用户名和端口(默认22),连接即可。

2.3 安全组配置

安全组是一个逻辑上的分组,为同一个VPC内的云服务器提供访问策略。用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。

系统为每个网卡默认创建一个默认安全组,默认安全组的规则是对出方向上的数据报文全部放行,入方向访问受限。您可以使用默认安全组,也可以根据需要创建自定义的安全组

主要需要填写优先级(默认填1即可)、协议端口(协议一般为TCPUDP,端口一般选择你项目需要暴露的端口即可),描述(选填,一般会填写此端口的用途以免忘记了),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。

如果还不清楚可以参考文档:安全组配置示例

2.4 Docker 环境搭建

本次服务器环境是ubuntu系统镜像,需要自己安装docker环境

服务器类别 系统镜像 内网IP地址 Docker版本 操作系统版本
Flexus云服务器X实例 Ubuntu 192.168.0.168 27.2.0 Ubuntu 22.04.4 LTS

使用apt-get命令安装docker及其配置

bash 复制代码
# 安装必要工具包
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

# 添加Docker GPG秘钥
$ sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

# 配置仓库源
$ sudo add-apt-repository \
      "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
      $(lsb_release -cs) \
      stable"	

# 更新apt包索引
$ sudo apt-get update

# 安装docker
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

# 添加docker镜像源
$ sudo vim /etc/docker/daemon.json

{
    "registry-mirrors": [
        "https://ustc-edu-cn.mirror.aliyuncs.com/",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn",
        "https://ccr.ccs.tencentyun.com/",
        "https://docker.m.daocloud.io/",
        "https://dockerproxy.com",
    ]
}
# 重启
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

测试docker安装是否成功

bash 复制代码
root@flexusx-c6b3:~# docker -v
Docker version 27.2.0, build 3ab4256```

检查docker服务状态

bash 复制代码
root@flexusx-c6b3:~# systemctl status docker
* docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h ago
TriggeredBy: * docker.socket
       Docs: https://docs.docker.com
   Main PID: 24912 (dockerd)
      Tasks: 13
     Memory: 24.7M
        CPU: 3.778s
     CGroup: /system.slice/docker.service
             `-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

检查docker compose版本

bash 复制代码
root@flexusx-c6b3:~# docker compose version
Docker Compose version v2.29.2

三、Flexus云服务器X实例部署 Flarum

3.1 Flarum 介绍

Flarum 是一款非常简洁的开源论坛软件。 它响应快速、简便易用,拥有打造一片成功的社区所需的所有功能。 它也极其可扩展,允许达到终极的可定制性。

  • 免费开源:Flarum 遵循 MIT 许可证,保证无论是商业使用还是个人项目都可自由利用。用户可以根据实际需求定制平台,不受制于特定开发者或服务提供商。

  • 高度可扩展性:Flarum 的模块化设计允许用户通过安装扩展来添加功能。目前,已有超过 1300 种扩展可供选择,涵盖从主题设计到功能增强的各个方面。这些扩展不仅丰富了平台功能,也增强了平台的灵活性。

  • 移动优先设计:Flarum 特别关注移动设备的用户体验,确保其界面在手机和平板电脑上的表现同样出色。无论是浏览内容还是参与讨论,用户都能享受流畅的操作体验。

  • 快速负载与优化:Flarum 使用最小化的前端框架,并进行持续优化,确保平台的快速响应能力。这不仅提高了用户体验,也减少了服务器的负担,有助于减少运营成本。

  • 多平台兼容:Flarum 能够在共享主机或云端环境中顺畅运行,支持包括 PHP 和 MySQL 等在内的常见技术栈,便于用户根据自己的基础设施需求进行部署。

Flarum 的核心价值在于其可扩展性和灵活性。依托于一个持续增长的活跃社区,Flarum 持续推出多样的扩展工具,帮助用户根据自身需求定制论坛的功能。其界面友好且支持移动设备,为各种规模的社区提供了一个完美的平台。

3.2 Flarum 部署

  • 创建 flarum.env
bash 复制代码
# vi /mnt/docker/flarum/flarum.env

DEBUG=false
FORUM_URL=http://127.0.0.1:80

# Database configuration
DB_HOST=mariadb
DB_NAME=flarum
DB_USER=flarum
DB_PASS=xxxxxxxxxx
DB_PREF=flarum_
DB_PORT=3306

# User admin flarum (environment variable for first installation)
# /!\ admin password must contain at least 8 characters /!\
FLARUM_ADMIN_USER=admin
FLARUM_ADMIN_PASS=xxxxxxxxxx
FLARUM_ADMIN_MAIL=admin@domain.tld
FLARUM_TITLE=Test flarum
  • 创建 docker-compose.yml
yml 复制代码
version: "3"

services:
  flarum:
    image: mondedie/flarum:stable
    container_name: flarum
    env_file:
      - ./flarum.env
    volumes:
      - ./flarum/assets:/flarum/app/public/assets
      - ./flarum/extensions:/flarum/app/extensions
      - ./flarum/storage/logs:/flarum/app/storage/logs
      - ./flarum/nginx:/etc/nginx/flarum
    ports:
      - 80:8888
    depends_on:
      - mariadb

  mariadb:
    image: mariadb:10.5
    container_name: mariadb
    environment:
      - MYSQL_ROOT_PASSWORD=xxxxxxxxxx
      - MYSQL_DATABASE=flarum
      - MYSQL_USER=flarum
      - MYSQL_PASSWORD=xxxxxxxxxx
    volumes:
      - ./db:/var/lib/mysql
  • ports: 映射主机的 80 端口到容器的 8888 端口
  • volumes: 挂载主机目录到容器目录
  • env_file: 环境文件

如果将上述代码片段保存在名为 docker-compose.yml 的文件中,则只需从同一文件夹中运行 docker compose up -d 即可自动拉取 Flarum 镜像,并创建并启动一个容器。 up 表示启动服务,-d 表示在后台执行。docker-compose down 命令用于停止和清理由 docker-compose up 启动的服务。

  • 启动服务

进入项目目录,执行docker-compose up -d启动命令,会自动拉取容器并运行

从 Dockerhub 拉取 Flarum 镜像,地址:https://hub.docker.com/r/mondedie/flarum

bash 复制代码
root@flexusx-c6b3:~/flarum# docker-compose up -d
Creating network "flarum_default" with the default driver
Pulling flarum (mondedie/flarum:stabled)...
latest: Pulling from mondedie/flarum
a88dc8b54e91: Pull complete
0065ed05bfc4: Pull complete
3e9bd47154ca: Pull complete
58a3a4c853c9: Pull complete
Digest: sha256:fdf32260b996eb81d538180b5a42e4fc6dadcd4b314d5f4a6c23821ca7a04d35
Status: Downloaded newer image for mondedie/flarum:latest
Creating mariadb ... 
Creating mariadb ... done
Creating flarum ... 
Creating flarum ... done
  • 配置安全组

在Flexus云服务器X实例的安全组管理页面,添加入方向规则,接下来我们启动服务需要监听80端口,所以添加安全组为TCP:80协议端口。

  • 检查容器状态

检查 Flarum 容器状态,确保容器正常启动

bash 复制代码
root@flexusx-c6b3:~/flarum# docker ps
CONTAINER ID   IMAGE                    COMMAND                  CREATED        STATUS        PORTS                                       NAMES
066d38ecc8a4   mondedie/flarum:stable   "/usr/local/bin/star..."   3 hours ago    Up 3 hours    0.0.0.0:80->8888/tcp, :::80->8888/tcp       flarum
3aecf098ca7c   mariadb:10.5             "docker-entrypoint.s..."   4 hours ago    Up 4 hours    3306/tcp                                    mariadb
  • 访问地址

内网:http://localhost:80

外网:http://公网IP:80

  • 访问结果

若出现此页面,则部署 flarum server 成功。

3.3 Flarum 使用

点击 Login 输入之前配置的管理员帐号和密码登录

FLARUM_ADMIN_USER=admin

FLARUM_ADMIN_PASS=xxxxxxxxxx

点击开始讨论,输入讨论标题和撰写帖子,并且需要选择标签,点击Choose Tags for Your Discussion,默认只有一个标签 General,可以选择绕过标签要求,最后点击发布讨论即可

撰写帖子时,可以添加链接、代码段、图片、引用、列表、Emoji和@某个人,输入格式比较丰富

发布完成后就可以在全部讨论列表中显示刚刚发布的内容了,也可以在刚刚选择的标签中查看

标签列表,目前不支持添加标签,所以只有一个默认的标签

点击标签,即可查看其帖子

点击讨论详情页面,上面是讨论标题和标签,左侧是讨论记录,最上面的帖子是作者发布,后面都是讨论者发布,右侧是讨论时间线,点击Flower当讨论更新时获取邮件提醒

点击底部Reply直接调出回复输入框

Reply按钮也可以调出回复输入框,还可以修改重命名讨论标题,锁定和解锁讨论, 置顶讨论,编辑标签和删除讨论

每条评论内容,可以点喜欢、回复、编辑和删除

点击个人头像中的设置,可以修改邮箱和密码

点击个人头像中的Administration进入管理界面,首先是仪表盘展示论坛信息汇总,包括系统版本、PHP版本、MySQL版本, 插件和语言

基本信息:设置您的论坛标题、语言和其他基本设置

权限管理:配置权限谁可以看到以及可以做什么

主题样式:自定义论坛的颜色、LOGO、自定义标题、自定义页脚等

用户管理:论坛上所有用户的分页列表

点击 Features - Tags - Create Primary Tag,创建一个tag,输出标签名、描述和颜色图标即可保存

创建完成后,就显示在tag里了,需要发布讨论就可以带上这个标签的

主页Tag就显示了Docker分类了

安装自定义扩展

Flarum 扩展列表:https://flarum.org/extensions

安装扩展

bahs 复制代码
docker exec -ti flarum extension require some/extension

删除扩展

bash 复制代码
docker exec -ti flarum extension remove some/extension

列出所有扩展

bash 复制代码
docker exec -ti flarum extension list

在扩展列表中搜索chinese,搜索到简体中文的插件,记住扩展名flarum-lang/chinese-simplified

在容器中安装此插件

bash 复制代码
root@flexusx-c6b3:~/flarum# docker exec -ti flarum extension require flarum-lang/chinese-simplified
Using version ^1.4 for flarum-lang/chinese-simplified
./composer.json has been updated
Running composer update flarum-lang/chinese-simplified
Loading composer repositories with package information
Updating dependencies
Lock file operations: 1 install, 0 updates, 0 removals
  - Locking flarum-lang/chinese-simplified (v1.4.2)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Downloading flarum-lang/chinese-simplified (v1.4.2)
  - Installing flarum-lang/chinese-simplified (v1.4.2): Extracting archive
Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead.
Generating autoload files
71 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

flarum-lang/chinese-simplified added to flarum.
Clearing the cache...
root@flexusx-c6b3:~/flarum# docker exec -ti flarum extension list                                  
flarum-lang/chinese-simplified
Clearing the cache...
root@dev-fj-srv:/home/server/code/fangjian/ubuntu/flarum#

安装插件成功后,就可以看到简体中文的语言包了,开启即可

这里再修改下默认语言为简体中文,并打开语言选择器开关

再刷新界面就可以默认显示简体中文了,并且可以切换语言

Flarum 的一大特点就是其扩展库。用户可以根据需要在官方网站或社区中寻找并安装适合的扩展。无论是论坛主题、更复杂的用户权限管理,还是增加社交化的功能,这些扩展都能轻松集成到社区平台中。关于论坛的基本使用就是这样了,主要就是发布讨论主题,需要更多人加入才有意思,插件功能十分丰富,可以多尝试一些,改造自己论坛的功能和主题样式,还有更多有趣的设置和功能就需要自行探索了。

四、总结

Flarum 是一款免费、开源的论坛软件,以简约和高效的设计而闻名。它是基于 MIT 开源许可证发布的,这意味着任何人都可以自由使用、修改和分发 Flarum。Flarum 的设计融合了强大的功能和简洁的用户接口,为用户提供了良好的使用体验。它由 Laravel 和 TypeScript 等成熟技术构建,无论是开发者还是社区管理员,都能轻松扩展和管理。此次使用的Flexus X实例配置还是很高的4核12G-100G-3M规格基础模式,由于安装的项目功能比较精简,没有集成太多插件,功能也就是发布讨论内容,整体运行很流畅,没有延迟卡顿。

体验华为云服务器的强大性能,现正值828 B2B企业节,助力企业轻松上云!无论是初创公司还是大型企业,都能享受高效、安全的计算服务。立即注册,享受专属优惠,快速部署,提升业务效率!立即行动

相关推荐
带娃的IT创业者12 小时前
GitHub Stacked PRs:重塑现代软件开发的工作流革命
github·软件开发·工作流·代码审查·pull request·stacked prs
拾贰_C13 小时前
【OpenClaw | openai | QQ】 配置QQ qot机器人
运维·人工智能·ubuntu·面试·prompt
今夕资源网13 小时前
Windows Terminal更舒适的命令行环境 仅11MB 支持并行运行WSLLinux子系统 github开源项目
windows·github·命令行·cmd·terminal
木雷坞14 小时前
视觉算法环境 Docker 镜像拉取失败排查
运维·人工智能·docker·容器
郝亚军14 小时前
ubuntu 22.04如何安装libmodbus
运维·服务器·ubuntu
蝎子莱莱爱打怪14 小时前
小孩儿才做选择!Hermes 和OpenClaw 我都要!
人工智能·后端·github
CoderJia程序员甲14 小时前
GitHub 热榜项目 - 日榜(2026-04-29)
ai·大模型·github·ai教程
瀚高PG实验室14 小时前
安全版V4.5版本docker容器license过期问题处理步骤
安全·docker·容器·瀚高数据库
乌恩大侠15 小时前
【AI-RAN】在空ubuntu服务器安装环境和生成TV,高达430G文件
服务器·人工智能·ubuntu·fpga开发·o-ru
java_logo15 小时前
SiYuan 思源笔记 Docker 部署终极指南:Windows+Linux 双平台
windows·笔记·docker·思源笔记·思源笔记部署·docker部署思源笔记·思源笔记文档