开源论坛 flarum 的快速创建 - docker版

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 开源论坛 flarum 的快速创建 - docker版

ps: 以 flarum 常用的 mondedie/flarum 服务安装镜像为例

flarum-mysql 的安装支持(建议安装mysql版本,可支持全文搜索)
# 创建数据库
docker run -itd \
--privileged=true \
-p 13308:3306 \
--name flarum-mysql \
-e MYSQL_DATABASE=flarum \
-e MYSQL_ROOT_PASSWORD=yang@flarum \
mysql:8.0.26 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
flarum-app flarum服务安装
# 需要等待数据库创建完毕后再执行创建应用服务,否则会导致找不到mysql服务,建议等待个10秒钟
# 创建服务,注意 FORUM_URL 必须配置可以访问的ip或域名地址,否则页面js会加载失败,也可以启动后重新配置
docker run -itd \
 --name flarum-app \
 --link flarum-mysql \
 -p 9988:8888 \
 -e FORUM_URL='http://192.168.1.106:9988'\
 -e DB_HOST='flarum-mysql'\
 -e DB_PASS='yang@flarum' \
 -e DB_USER='root' \
 -e DB_PREF='flarum_' \
 -e FLARUM_ADMIN_USER='admin'\
 -e FLARUM_ADMIN_PASS='admin@#2021'\
 -e FLARUM_ADMIN_MAIL='yzj114477@qq.com'\
 -e FLARUM_TITLE='开源论坛flarum' \
 mondedie/flarum:latest
如下,这就启动成功了(大概要等待个30秒左右进行数据库的初始化等操作)

image.png


如果进入界面发现只有论坛标题出现,但是无法加载js怎么办?

这是因为 FORUM_URL 的配置错误了,需要重新配置即可

# 进入容器内部
docker exec -it flarum-app sh

# 修改 /flarum/app/config.php
vi /flarum/app/config.php
### 调整 FORUM_URL 这里的赋值即可
FORUM_URL='外网ip:端口'

# 然后论坛页面刷新下就能恢复正常了

#### 怎么支持中文的标题和文章相关的全文搜索??

### 支持全文搜索 -- 数据库ngram中文插件 (mariadb的比较麻烦,所以上文是安装mysql)

ALTER TABLE flarum_posts DROP INDEX content;
CREATE FULLTEXT INDEX content ON `flarum_posts` (`content`) WITH PARSER ngram;

ALTER TABLE flarum_discussions DROP INDEX title;
CREATE FULLTEXT INDEX title ON `flarum_discussions` (`title`) WITH PARSER ngram;

附赠一些常用插件,喜欢的可以收录下

# 进入容器内部
docker exec -it flarum-app sh
# 进入到容器内部服务应用安装目录 -- 有需要可以将该目录外挂,这样子就不用担心容器迁移的问题了
cd flarum/app/

### 首先先做加速下载配置
# 全局安装阿里云的网络下载服务
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

# 简体中文支持
composer require flarum-lang/chinese-simplified:*

# 最佳回复插件安装 -- 需要开启后点击保存才有效果 -- 帖子内部的回复置顶功能,非常好用
composer require fof/best-answer:*

# 安装文件上传扩展插件,开启上传插件,支持 copy images -- 可以直接复制图片拷贝到帖子内部
composer require fof/upload:*

# 图片放大 缩小 -- 只有这个库支持 fof 图片放大缩小扩展!!! -- 点击图片可放大查阅
composer require phenomlab/fancybox-wrapper:*

# 头像徽章插件 
composer require fof/ignore-users:*

# 开启私密主题 -- 有异常,放弃
composer require fof/byobu:*

# 精华帖 - 推送到首页
composer require fof/frontpage:*

# 欢迎用户小部件,携带个人统计信息
composer require justoverclock/flarum-ext-welcomebox:*

# 传统板块插件
composer require askvortsov/flarum-categories:*

# 表情插件 -- 需要禁用掉自带的表情,不然会很怪异
composer require clarkwinkelmann/flarum-ext-emojionearea:*

# 投票插件 -- 需要设置参与投票的人可以有哪些
composer require fof/polls:*

# 昵称功能,默认自带
# 需要到 常规功能模块里打开 User Display Name ,才能修改昵称

# 在首页生成用户管理 -- 如果是内部使用,可以关闭掉注册口邮件回复和激活功能,通过这里激活用户
composer require fof/user-directory:*

# 允许修改作者 -- 调整发布帖子的人
composer require clarkwinkelmann/flarum-ext-author-change:*

# 自定义头像 -- 比如可以选择危化镖局的卡通头像(需要提前上传)
composer require clarkwinkelmann/flarum-ext-predefined-avatars:*

# 帖子增加首图卡片展示功能 -- 开启后会报错,要稍微等会,就能安装正常
composer require dem13n/discussion-cards:*

# 信任等级,可以提供一个等级设置,根据什么样的条件达成什么样的权限设置
composer require askvortsov/flarum-trust-levels:*

# 达成什么成就,就会在回复或发布的主题底下形成一排的成就图标!!! 点击启动时会报错,也是需要安装等待会才能正常
composer require malago/flarum-achievements:*

# 论坛统计功能 -- 还可以设置允许看到的人的权限
composer require fof/forum-statistics-widget:*

# markdown 表格功能扩展
composer require kvothe/pipetables

其他常用指令
### 安装完成插件后有异常时执行
php flarum cache:clear

### 更新插件
composer update fof/best-answer

### 卸载插件
composer remove fof/best-answer
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
关系型数据库 MySQL 数据库
如何使用Docker部署开源CMF Drupal并结合cpolar内网穿透远程访问
如何使用Docker部署开源CMF Drupal并结合cpolar内网穿透远程访问
|
存储 Linux Docker
Docker NFS volume 创建与使用
Docker NFS volume 创建与使用
Docker NFS volume 创建与使用
|
20天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
167 2
|
6月前
|
测试技术 数据安全/隐私保护 Docker
Docker部署开源项目Django-CMS企业内容管理系统
【5月更文挑战第20天】Docker部署开源项目Django-CMS企业内容管理系统
137 1
|
5月前
|
监控 应用服务中间件 数据安全/隐私保护
Portainer是一个用于管理Docker的开源工具
Portainer是一个用于管理Docker的开源工具
97 0
|
6月前
|
JavaScript 前端开发 测试技术
Docker环境下部署Ghost开源内容管理系统
【5月更文挑战第9天】Docker环境下部署Ghost开源内容管理系统
227 1
|
6月前
|
数据挖掘 测试技术 Linux
【Docker项目实战】使用Docker部署Titra开源项目时间跟踪工具
【4月更文挑战第13天】使用Docker部署Titra开源项目时间跟踪工具
192 5
|
6月前
|
Web App开发 Linux 数据安全/隐私保护
Docker本地部署开源浏览器Firefox并远程访问进行测试
Docker本地部署开源浏览器Firefox并远程访问进行测试
305 1
|
6月前
|
Ubuntu 调度 数据安全/隐私保护
使用Docker部署开源分布式任务调度系统DolphinScheduler
使用Docker部署开源分布式任务调度系统DolphinScheduler
使用Docker部署开源分布式任务调度系统DolphinScheduler
|
6月前
|
Ubuntu 调度 数据安全/隐私保护
Docker部署开源分布式任务调度平台DolphinScheduler并实现远程访问办公
Docker部署开源分布式任务调度平台DolphinScheduler并实现远程访问办公