docker搭建MediaWiki
- 2020 年 3 月 13 日
- 筆記
一、簡介
MediaWiki 是 Wikipedia 使用的網站解決方案的開源版,以個人觀點來看,Wiki 在這個時代顯得不夠時尚,且不支持 MarkDown 等新興的標記語言,另外頁面的組織方式採用了自己的一套管理語言,上手需要一定的學習成本。不過經典總歸是經典。
MediaWiki 也提供了官方的 Docker image,這就節省了不少安裝環境的工作量,接下來就來看看私有 MediaWiki 站點是如何搭建起來的吧。
環境說明
操作系統:centos 7.6
ip地址:192.168.31.149
配置:1核2G
本文採用單機部署一套MediaWiki
二、安裝docker
具體步驟,請參考鏈接:
https://www.cnblogs.com/xiao987334176/p/11771657.html
三、安裝mysql
mkdir -p /data mkdir -p /data/mediawiki mkdir -p /data/mysql docker pull mysql:5.7 docker run -itd -p 3306:3306 --name wiki-mysql -e MYSQL_ROOT_PASSWORD=123456 --restart=always --restart=on-failure:1 --oom-score-adj -1000 --privileged=true --log-opt max-size=10m --log-opt max-file=1 -v /data/mysql:/var/lib/mysql mysql:5.7
創建數據庫以及用戶,並開啟遠程連接權限。
# docker exec -it wiki-mysql /bin/bash root@4a6eaab770c5:/# mysql -p123456 mysql> create database my_wiki; Query OK, 1 row affected (0.00 sec) mysql> create user 'wikiuser'@'%' identified by '123456'; Query OK, 0 rows affected (0.00 sec) mysql> grant all privileges on my_wiki.* to 'wikiuser'@'%' with grant option; Query OK, 0 rows affected (0.01 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> exit root@4a6eaab770c5:/# exit
三、安裝MediaWiki
MediaWiki 需要依賴於 MySQL,所以要先啟動 MySQL,再啟動 MediaWiki,不然啟動會失敗。
docker pull mediawiki:1.31.1 docker run -itd --name mywiki -p 8080:80 --privileged=true --restart=always --link wiki-mysql:mysql mediawiki:1.31.1
四、初始化配置
打開瀏覽器
http://192.168.31.149:8080/mediawiki/index.php
開始初始化配置

語言設置

環境檢查

選擇mysql,注意:修改ip地址為服務器ip。數據庫用戶:wikiuser,密碼:123456

選擇數據庫引擎為InnoDB

設置全局名稱和添加管理員
注意:wiki名稱,一般為公司名
密碼:必須8位以上,且符合複雜性要求

正式安裝

安裝完成

注意:頁面會自動下載一個LocalSettings.php
注意:先不要點擊 進入您的wiki,還查一個步驟,否則會出錯的。
登錄到服務器,將 LocalSettings.php 上傳到服務器,比如:/tmp目錄
將 LocalSettings.php 複製到容器中的wiki根目錄
docker cp LocalSettings.php mywiki:/var/www/html/
點擊 上圖中的 進入您的wiki
它會調轉鏈接:
http://192.168.31.149:8080/index.php/首頁
效果如下:

網頁持久化配置
目前的php代碼在容器裏面,一旦重啟,數據就丟失了。
複製網頁目錄
docker cp mywiki:/var/www/html /data/mediawiki/
殺掉docker,以新的方式啟動。
docker rm -f mywiki docker run -itd --name mywiki -p 8080:80 -v /data/mediawiki/html:/var/www/html --privileged=true --restart=always --link wiki-mysql:mysql mediawiki:1.31.1
再次刷新頁面,效果同上!
本文參考鏈接:
https://www.jianshu.com/p/8de371558ef6 https://blog.51cto.com/13767724/2173885