入門docker筆記 從零搭建一個超好看輕論壇網站 基於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/
官方效果:

折騰

說明

我是作爲一個非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/

這裏全部按實際情況填就好了
還有一些小坑

1. MySql Host
這裏格式必須是:mysql:port
前面的是你的mysql容器的名字和之前run命令中的link保持一致,後面的port就是端口,默認3306
例如:mysql:3306 (一些情況下只寫mysql也可以)
不能是localhost也不能是127.0.0.1
否則都會報錯

2. MySql Database
他只能幫你建表,不能建庫,所以這裏填的庫必須存在.例如我填的是falrum
那我就去新建一個數據庫falrum utf8mb4
否則如果庫不存在就會報錯
或者庫裏已經有其他版本的表也會報錯


安裝成功會跳轉到首頁



優化

這個時候進入管理後臺是這樣的 (應該還沒有FIle Upload)


  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


進入 ===> 基本管理 [Basics]
http://localhost:8888/admin#/basics
把默認語音改爲 [簡體中文]

要點[保存]生效
(再刷新應該就有中文支持了)


進入 ===> 文件上傳管理 [File Upload]



最後還有一個郵箱設置
關係到用戶註冊 忘記密碼 修改密碼 等功能的正常使用
配置參考下圖
(具體參照 網易 or qq 郵箱的官方文檔)



完成以上配置,一個基本款的flarum輕論壇docke版本就搞定了,最好再套一層nginx反向代理,例如套在二級域名上 bbs.yourwebsite.com
記得如果修改過訪問域名,記得進入容器,找到config.php config.yml 一起修改掉

最後附上本次demo大致效果的截圖



END

歡迎來我的博客
https://zzzmh.cn

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章