本文使用「署名 4.0 國際 (CC BY 4.0)」許可協議,歡迎轉載、或重新修改使用,但需要註明來源。 署名 4.0 國際 (CC BY 4.0)
本文作者: 蘇洋
建立時間: 2019年01月28日 統計字數: 1746字 閱讀時間: 4分鐘閱讀 本文連結: soulteary.com/2019/01/28/…
使用 Docker 搭建你的Wiki(MediaWiki)
前面介紹了三款不同的 RSS 系統的快速搭建使用,接下來我將演示幾種不同的 Wiki 系統,同樣是藉助 Docker 和 Traefik 進行快速搭建,本篇是第一篇,MediaWiki。
如果你有閱讀過我之前寫的文章,那麼參考本篇文章將文章搭建起來,應該只需要3分鐘或者更少,如果你沒有看過,那麼可以點選本文相關的文章標籤,閱讀過往的文章。
關於 MediaWiki
MediaWiki 是一款開源並且支援免費使用的軟體,由PHP編寫,被廣泛使用在各種知識社群內,我們熟悉的維基百科就是執行在這套程式上的。
在開源生態裡,MediaWiki 的周邊生態十分龐大,各種工具和機器人資源相當豐富。
時刻四個月,2019年1月,它更新了 1.32 版,本文基於此版本撰寫。
私以為 Wiki 和 常規的筆記類軟體最大不同在於內容是經過精心校對的,並且能夠直觀呈現樹型結構形式之外的知識內容,文章內自動關聯,搭配標籤系統可以很容易的形成知識網路。
話不多說,開始實戰。
使用 Compose 可以一鍵啟動一個使用 SQLite 作為資料儲存的 MediaWiki ,配置很簡單,不到30行程式碼。
version: "3"
services:
# 如果你使用資料庫,可以參考下面的地址,或者我文章中標記有 Docker 的歷史文章
# https://docs.docker.com/samples/library/mediawiki/
mediawiki:
restart: always
image: mediawiki:1.32
labels:
- "traefik.enable=true"
- "traefik.frontend.rule=Host:mediawiki.lab.io"
- "traefik.frontend.passHostHeader=true"
- "traefik.frontend.entryPoints=http,https"
networks:
- traefik
expose:
- 80
volumes:
# 預設上傳位置
- ./uploads/images:/var/www/html/images
# 預設 SQLite 儲存位置
- ./data:/var/www/data
# 當初始化安裝完畢之後,將配置檔案下載並儲存到下面的位置,
# 並去掉註釋,重啟應用
# - ./LocalSettings.php:/var/www/html/LocalSettings.php
networks:
traefik:
external: true
複製程式碼
第一次使用該配置啟動程式,會引導你進行安裝,主要是進行應用常規配置,以及初始化資料庫。
當你進行到最後一步的時候,程式會自動儲存你所有操作,並生成一個配置檔案。將該檔案儲存並移動到 docker-compose.yml
同級目錄下,並使用 Compose 重啟應用,安裝就完成了。
連結展示優化
安裝完畢之後,如果覺得預設的連結不夠優雅,希望能夠去掉URL連結中的 /index.php/
內容,可以修改 LocalSettings.php
檔案內容。
替換 $wgScriptPath = "";
為下面的配置內容即可。
$wgScriptPath = "";
$wgArticlePath = "/wiki/$1";
$wgUsePathInfo = true;
複製程式碼
最後
如果你對本文聊到的 Docker 、Traefik 、Compose 還不是很熟悉,歡迎閱讀我的以往文章,補全對上述技術的認識,希望我的文章可以對你有幫助。
接下來我會繼續介紹幾種不同的 Wiki 系統的安裝配置、魔改,如果你也在考慮如何維護一套讓自己用起來舒服的知識管理工具,可以繼續關注,下回再見。
— EOF
我現在有一個小小的折騰群,裡面聚集了一些喜歡折騰的小夥伴。
在不發廣告的情況下,我們在裡面會一起聊聊軟體、HomeLab、程式設計上的一些問題,也會在群裡不定期的分享一些技術沙龍的資料。
喜歡折騰的小夥伴歡迎掃碼新增好友。(請註明來源和目的,否則不會通過稽核)