跳至內容

說明:MediaWiki安裝指南

出自陋室
Move page script​(對話 | 貢獻)2026年5月21日 (四) 11:06的修訂 (Move page script移动页面帮助:MediaWiki 安装至帮助:MediaWiki安装指南:​统一帮助命名空间标题命名规范)

說明 本指南結合 MediaWiki 官方文檔與實際部署經驗,概述通用安裝流程,並結合本站(learn.houjue.digital)當前環境給出可直接復用的參數與命令。請始終以 官方安裝指南 為權威來源,並根據自己的環境調整命令與路徑。

環境準備

系統與組件

本站當前運行環境如下(可按需替換為你的實際版本):

  • 作業系統:Debian 12 (bookworm)
  • Web 伺服器:Nginx 1.22.x
  • PHP:8.2.x(PHP-FPM)
  • 數據庫:MariaDB 10.11.x

常用版本檢查命令:

cat /etc/os-release
nginx -v
php -v
mysql --version

更新與依賴

根據本站當前部署(Debian 12 + Nginx + PHP 8.2 FPM + MariaDB),建議按以下方式更新與安裝依賴:

sudo apt update && sudo apt upgrade -y
sudo apt install nginx mariadb-server php8.2-fpm php8.2-cli php8.2-mysql php8.2-gd php8.2-mbstring php8.2-xml php8.2-curl php8.2-zip php8.2-intl php8.2-apcu unzip git -y
# 多媒体与差异对比工具
sudo apt install ffmpeg poppler-utils imagemagick php-wikidiff2 -y

如需啟用 Lua/時間線/樂譜等擴展,可按需補充:

# Scribunto
sudo apt install php-luasandbox -y
# EasyTimeline/Score 等
sudo apt install perl ploticus lilypond ghostscript -y

說明:本站使用 Nginx + PHP-FPM,如需 Apache 請改用對應包與配置;PHP-FPM 請確保與 Nginx 配置匹配。

安裝步驟

1. 下載 MediaWiki(通用流程)

從官方 https://releases.wikimedia.org 下載當前穩定版本。示例命令:

cd /var/www
wget https://releases.wikimedia.org/mediawiki/1.45/mediawiki-1.45.0.tar.gz
tar -xzvf mediawiki-1.45.0.tar.gz
mv mediawiki-1.45.0 mediawiki

本站實際路徑:/var/www/mediawiki,Web 用戶為 www-data。

2. 創建數據庫與用戶(通用流程)

登錄數據庫創建專用數據庫與賬號:

CREATE DATABASE my_wiki CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wikiuser'@'localhost' IDENTIFIED BY '强密码';
GRANT ALL PRIVILEGES ON my_wiki.* TO 'wikiuser'@'localhost';
FLUSH PRIVILEGES;

本站實際數據庫配置(見 /var/www/learn.php):

  • 數據庫:learn
  • 用戶:learn
  • 主機:localhost

3. 運行安裝嚮導(通用流程)

在瀏覽器打開 https://<你的域名或IP>/mw-config/,安裝嚮導會依次要求填寫環境檢測、數據庫信息、站點名稱、管理員賬號、上傳目錄等。 完成後會生成 LocalSettings.php,請放到 MediaWiki 根目錄。

本站實際配置:

  • $wgServer = "https://learn.houjue.digital";
  • $wgScriptPath = "";
  • $wgArticlePath = "/wiki/$1";
  • 上傳目錄:/sgcos/images(映射為 /images)

4. 完成安裝與安全加固(通用流程)

上傳 LocalSettings 後即可通過站點訪問。

  • 鎖定安裝目錄:chmod -R 700 /var/www/mediawiki/mw-config
  • 確保 LocalSettings.php 權限為 600,Web 伺服器可讀。
  • 關閉 config 目錄寫權限:
chmod a-w /var/www/mediawiki/config

後續依賴與擴展

php-wikidiff2

改善差異顯示,安裝命令:

sudo apt install php-wikidiff2 -y

配置:

$wgDiffEngine = 'wikidiff2';
$wgDiff3 = '/usr/bin/diff3';

php-luasandbox 與 Scribunto

安裝 Lua 沙箱:

sudo apt install php-luasandbox -y

啟用擴展:

wfLoadExtension('Scribunto');
$wgScribuntoEngineConf['luasandbox']['memoryLimit'] = 50 * 1024 * 1024;

多媒體工具

  • ffmpeg:sudo apt install ffmpeg -y
  • poppler-utils(PDF 處理):sudo apt install poppler-utils -y
  • Composer(依賴管理):curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer
  • EasyTimeline/Score/PdfHandler 等擴展可根據需要分別安裝 ploticus、perl、lilypond、ghostscript、imagemagick 等依賴。

HTTPS 與短連結

本站使用 Nginx,短連結與 HTTPS 參考:

# 强制 HTTPS
return 301 https://$host$request_uri;

# MediaWiki 路由(示例,需结合你的站点结构)
location /wiki/ {
    try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}

配合以下 LocalSettings:

$wgScriptPath = '';
$wgArticlePath = '/wiki/$1';

性能與維護

  • 使用緩存(APCu/Redis)加速頁面與消息
  • 啟用 $wgMainCacheType、$wgParserCacheType 等緩存參數
  • 定期運行維護腳本:
php /var/www/mediawiki/maintenance/run.php update.php
php /var/www/mediawiki/maintenance/run.php rebuildrecentchanges.php
php /var/www/mediawiki/maintenance/run.php refreshLinks.php
php /var/www/mediawiki/maintenance/run.php rebuildtextindex.php
php /var/www/mediawiki/maintenance/run.php runJobs.php

故障排查

  • 頁面渲染成 WikiText:檢查 PHP-FPM/Nginx 是否正常、LocalSettings 是否可讀
  • 安裝嚮導無法完成:檢查文件夾權限,確保 mw-config 可寫且臨時可執行
  • 文件上傳失敗:核實上傳目錄與權限(本站為 /sgcos/images)以及 PHP 限制與 $wgFileExtensions 設置
  • 數據庫連接出錯:確認憑據、字符集(utf8mb4)及正確的數據庫主機