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