入门docker笔记 从零搭建一个超好看轻论坛网站 基于Flarum

入门docker笔记 从零搭建一个超好看轻论坛网站 基于Flarum_第1张图片
Flarum 轻论坛

前言

这次希望用docker折腾一个轻社区的系统,语言随意,内存占用越低越好.
翻了一圈百度,发现最合适的是flarum
github:
https://github.com/mondediefr/docker-flarum#master
docker hub:
https://hub.docker.com/r/mondedie/docker-flarum
官网:
https://flarum.org/
官方论坛:
https://discuss.flarum.org/
国内官网:
https://www.flarumchina.org/
国内论坛:
https://bbs.towerlight.top/
官方效果:

入门docker笔记 从零搭建一个超好看轻论坛网站 基于Flarum_第2张图片

折腾

说明

我是作为一个非php程序员,全靠docker化,来在本地实现一套flarum的demo.
由于之前已有一个container运行着mysql5.7,不想跟着官方教程重新再开一个mysql,内存过于紧张,管理也费劲,所以是只单运行一个flarum,后来再用nginx反向代理到域名上访问.因此我用的方案会和官网的文档里的教程不同,但最终效果是一样的.

必填信息参考这2张表:
Environment variables

Variable Description Type Default value
UID Flarum user id optional 991
GID Flarum group id optional 991
DEBUG Flarum debug mode optional false
FORUM_URL Forum URL required none
DB_HOST MariaDB instance ip/hostname optional mariadb
DB_USER MariaDB database username optional flarum
DB_NAME MariaDB database name optional flarum
DB_PASS MariaDB database password required none
DB_PREF Flarum tables prefix optional none
DB_PORT MariaDB database port optional 3306
UPLOAD_MAX_SIZE The maximum size of an uploaded file optional 50M
PHP_MEMORY_LIMIT PHP memory limit optional 128M
OPCACHE_MEMORY_LIMIT OPcache memory size in megabytes optional 128
LOG_TO_STDOUT Enable nginx and php error logs to stdout optional false
GITHUB_TOKEN_AUTH github token to download private extensions optional false

Required environment variable for first installation

Variable Description Type Default value
FLARUM_ADMIN_USER Name of your user admin required none
FLARUM_ADMIN_PASS User admin password required none
FLARUM_ADMIN_MAIL User admin adress mail required none
FLARUM_TITLE Set a name of your flarum optional Docker-Flarum




安装

用默认安装最新版本的images即可

docker pull mondedie/docker-flarum:0.1.0-beta.10-stable

运行

这里需要注意

  1. 开始之前,必须先去新建一个数据库,例如falrum(utf8mb4)
  2. --link 是关联到另一个name是mysql的container上,方便后期容器和容器之间连接,所以你必须提前有一个mysql的容器
  3. 有5个-e xxx 分别是5个必填项(参考上门的两张表格),把密码改成你自己的
docker run -d -p 8888:8888\
 --link mysql\
 --name flarum\
 -e FORUM_URL='http://localhost:8888'\
 -e DB_PASS='root@1234'\
 -e FLARUM_ADMIN_USER='admin'\
 -e FLARUM_ADMIN_PASS='root@1234'\
 -e FLARUM_ADMIN_MAIL='[email protected]'\
 mondedie/docker-flarum:0.1.0-beta.10-stable

这一步特别容易掉坑,建议在下一步之前,先检查一下是否启动成功,若出现ERROR,先百度解决之,再重新RUN试试

docker logs flarum

# 正常的返回值的最后一句应该是(至少没有ERROR)
[INFO] End of flarum installation

访问

http://localhost:8888/

入门docker笔记 从零搭建一个超好看轻论坛网站 基于Flarum_第3张图片

这里全部按实际情况填就好了
还有一些小坑

1. MySql Host
这里格式必须是:mysql:port
前面的是你的mysql容器的名字和之前run命令中的link保持一致,后面的port就是端口,默认3306
例如:mysql:3306 (一些情况下只写mysql也可以)
不能是localhost也不能是127.0.0.1
否则都会报错

2. MySql Database
他只能帮你建表,不能建库,所以这里填的库必须存在.例如我填的是falrum
那我就去新建一个数据库falrum utf8mb4
否则如果库不存在就会报错
或者库里已经有其他版本的表也会报错


安装成功会跳转到首页


入门docker笔记 从零搭建一个超好看轻论坛网站 基于Flarum_第4张图片


优化

这个时候进入管理后台是这样的 (应该还没有FIle Upload)


入门docker笔记 从零搭建一个超好看轻论坛网站 基于Flarum_第5张图片
  1. 需要中文汉化支持
  2. 需要文件上传支持

顺便以这两个插件为例子,其他插件的安装配置方法基本都是类似

环境部分



注意:这个镜像是没有bash的,要进入容器的话不能用
docker exec -it flarum bash
这个镜像有sh,所以应该是
docker exec -it flarum sh
效果和bash差不多一样



进入容器

docker exec -it flarum sh

然后顺手给flarum 赋个权限

chmod -R 777 flarum
cd flarum/app/

先安装composer阿里云镜像(否则会慢到奔溃)
网站:https://developer.aliyun.com/composer

# 全局安装
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

插件安装

安装简体中文扩展插件

# 简体中文支持
composer require csineneo/lang-simplified-chinese

安装文件上传扩展插件

# 文件上传支持
composer require "flagrow/upload:*"


启用插件

再次访问管理后台的插件管理
http://localhost:8888/admin#/extensions

启用一下刚才安装的插件的checkbox

入门docker笔记 从零搭建一个超好看轻论坛网站 基于Flarum_第6张图片


进入 ===> 基本管理 [Basics]
http://localhost:8888/admin#/basics
把默认语音改为 [简体中文]

入门docker笔记 从零搭建一个超好看轻论坛网站 基于Flarum_第7张图片

要点[保存]生效
(再刷新应该就有中文支持了)


进入 ===> 文件上传管理 [File Upload]

入门docker笔记 从零搭建一个超好看轻论坛网站 基于Flarum_第8张图片



最后还有一个邮箱设置
关系到用户注册 忘记密码 修改密码 等功能的正常使用
配置参考下图
(具体参照 网易 or qq 邮箱的官方文档)

入门docker笔记 从零搭建一个超好看轻论坛网站 基于Flarum_第9张图片



完成以上配置,一个基本款的flarum轻论坛docke版本就搞定了,最好再套一层nginx反向代理,例如套在二级域名上 bbs.yourwebsite.com
记得如果修改过访问域名,记得进入容器,找到config.php config.yml 一起修改掉

最后附上本次demo大致效果的截图

入门docker笔记 从零搭建一个超好看轻论坛网站 基于Flarum_第10张图片


入门docker笔记 从零搭建一个超好看轻论坛网站 基于Flarum_第11张图片


入门docker笔记 从零搭建一个超好看轻论坛网站 基于Flarum_第12张图片

END

欢迎来我的博客
https://zzzmh.cn

你可能感兴趣的:(入门docker笔记 从零搭建一个超好看轻论坛网站 基于Flarum)