使用騰訊雲輕量應用伺服器搭建自己的百科:超詳細的 MediaWiki 的安裝、配置及優化指南(一)
看到現有的中文教程比較老和雜亂,打算給新的 MediaWiki 使用者弄個完整的入門教程,希望之後不會咕。
若你想為自己或公司的産品建立一份詳細的說明書,或想将自己的知識分享給世界(并邀請他們一起建設内容),無疑,MediaWiki 将是一個不錯的選擇。本教程将會帶你從 0 開始完成 MediaWiki 的安裝、配置和優化。
為什麼選擇 MediaWiki
MediaWiki 軟體被包括維基百科在内的數以萬計的網站和數以千計的公司群組織使用。它功能強大、多語言、免費開放、可擴充、可定制、可靠且開源。MediaWiki 可幫助您收叢集組織知識并将其提供給人們,并且允許協作,每個人都能夠貢獻自己的知識幫助改進站點。
需求
硬體
- 一台配置至少在 1C1G 及以上、已連接配接網際網路的伺服器
這裡推薦騰訊雲輕量應用伺服器,新使用者低至 99 元,獨享 CPU 和 6M 起步的帶寬為我們的百科提供了充裕的性能,在能夠保障大量并發請求的同時有着超高的成本效益。
如果你介意 AFF,這裡也有無 AFF 的連結(不過看在你閱讀本文的緣分上,走下 AFF 吧 QAQ):正價、輕量專場優惠、輕量無憂計劃
同時,騰訊雲的常駐秒殺活動不限新老客戶,為大量雲産品提供了超低的價格,例如在這裡你可以找到 ¥0.01/G 的超優惠 CDN,若你的百科擁有大量靜态資源,這可能是個不錯的選擇。
軟體
- PHP 7.3.19 或 7.4.9+
注意:MediaWiki 與 PHP 7.3.0 - 7.3.18 和 7.4.0 - 7.4.8不相容。
PHP 必要擴充:
Perl 相容正規表達式(PCRE) (MediaWiki 1.23 要求 PCRE 7.2+)
會話(Session)
SQL
OpenSSL
json (MediaWiki 1.22+)
mbstring (從1.27版本起要求,早期版本隻做推薦)
fileinfo (從1.30版本起要求)
intl (required since 1.36)
- MySQL 5.5.8+
或
MariaDB
PostgreSQL 9.2+
SQLite 3.8+
- MediaWiki 軟體包
安裝
方案1:手動安裝

如果你對LNMP環境的配置感到厭煩,不妨試試寶塔面闆,本教程之後将會在此環境下進行。選擇寶塔面闆應用鏡像,待服務建立完成後按提示操作即可。
按個人喜好安裝基礎服務,别忘記手動安裝 PHP 擴充
apcu
、
fileinfo
和
intl
,并在左側
禁用函數
面闆中啟用
putenv
函數。
添加站點,若是使用域名請在對應解析服務添加解析記錄。
在 MediaWiki首頁 找到合适的軟體包(可能需要代理,這裡提供一份 1.36.1 版本 鏡像),複制連結并遠端下載下傳到站點目錄。
方案2:D o c k e r!
既然你願意使用 Docker,那麼你肯定是會的,多餘的就不講了。
這是 MediaWiki 在 DockerHub 的官方鏡像
docker pull mediawiki
docker run --name mywiki -p 8080:80 -d mediawiki
然後在本機 8080 端口通路 MediaWiki 并開始配置。
配置
好了!現在通路
http://[你的域名或ip]/mw-config/index.php
,進入配置頁面,根據提示完成站點的配置。
選擇語言。
若有報錯,請按提示檢查安裝步驟;若無報錯,則繼續。
配置資料庫,資料庫主機一般選
localhost
,資料庫表字首可以随意設定,這在單主機多 wiki 場景時有用;其它參數都由你之前建立站點時設定完成。
按提示設定站點名以及管理者賬号,并且你想被多問一些問題。
配置編輯權限和擴充,擴充決定了你的 wiki 的可用功能,按需選擇即可。
内置擴充的簡單介紹:
這裡僅簡單介紹為數不多的内置擴充,若有需要,可在官方擴充頁找到更多資訊。
- 特殊頁面:
能夠添加一個特殊頁面,為特定文章提供不同的引文格式。
CiteThisPage
能夠某個詞條中調用其他詞條的内容。
Interwiki
能夠使管理者批量删除頁面。
Nuke
能夠授權使用者重命名使用者帳戶。
Renameuser
能夠允許管理者在 wiki 内容頁面的文本和标題上進行全局字元串查找和替換。
ReplaceText
- 編輯器:
能夠為編輯器中 JavaScript, CSS, JSON, Lua 的編輯提供了一些友善的功能,包括自動縮進和括号配對等功能。
CodeEditor
能夠提供一個富文本編輯器。
VisualEditor
能夠提供一個可擴充的 wikitext 編輯界面和許多功能子產品。
WikiEditor
- 解析器鈎
能夠以樹的形式提供 wiki 類别結構的動态視圖。
CategoryTree
能夠為頁面添加腳注。
Cite
能夠為單張圖檔的不同區域自定義多個連結(例如地圖照片)。
ImageMap
能夠允許使用者将 HTML 表單添加到 wiki 頁面。
InputBox
能夠在 wikitext 中提供邏輯和字元串的增強處理。
ParserFunctions
能夠提供适合詩歌的渲染格式。
Poem
能夠在 MediaWiki 内嵌入腳本語言,不過目前隻支援 Lua。
Scribunto
能夠允許存儲、檢索和可視化有關模闆的資訊。
TemplateData
- 媒體檔案處理器
能夠顯示上傳的PDF檔案。
PdfHandler
- 垃圾阻止
能夠為頁面儲存和其他使用者操作添加驗證碼。
ConfirmEdit
能夠提供一個基于正規表達式的垃圾郵件過濾器。
SpamBlacklist
能夠禁止使用者建立與正規表達式黑名單比對的頁面。
ConfirmEdit
- API
能夠收集在有關頁面上使用的圖像的資訊,它的目的是傳回與文章相關的單個最合适的圖像的縮略圖。
PageImages
- 其他
能夠讓使用者使用一些基于 JavaScript 和 CSS 的小工具。
Gadgets
能夠讓你可以随時更新 MediaWiki 訊息,而不需要更新 MediaWiki 軟體。
LocalisationUpdate
能夠為使用者提供一個更好的圖像浏覽器,在使用者單擊圖檔時以全屏方式打開。
MultimediaViewer
能夠為登入提供二步驗證。
OATHAuth
能夠自動将 URL 重寫為 HTTPS。
SecureLinkFixer
能夠為純文字提供摘要。
TextExtracts
接下來等待配置完成,下載下傳自動生成的配置檔案
LocalSettings.php
,并上傳至站點根目錄。
好了,安裝過程結束!試着編輯你的 wiki 吧!
下一章将會講解關于的 MediaWiki 配置相關内容,在此之前,請試着熟悉 MediaWiki ~
本文以 署名-非商業性使用-相同方式共享 4.0 國際 (CC BY-NC-SA 4.0) 協定共享,轉載請署名并保留來源。