MediaWiki 介绍与选型指南

MediaWiki 定位、架构、功能、版本策略全溯源介绍,并与 DokuWiki、XWiki、Confluence、Wiki.js 做量化选型对比(版本/星数/许可/技术栈),数据查询日期 2026-10-22。

MediaWikiMediaWiki知识库2026/10/22

MediaWiki 介绍与选型指南

目标:面向准备搭建企业/团队知识库的工程师,完整介绍 MediaWiki 的定位、架构、功能、版本策略,并与 DokuWiki、XWiki、Confluence、Wiki.js 做量化选型对比。本篇为认知与选型篇,全部结论均来自官方站点/官方仓库的联网溯源(查询日期 2026-10-22),不含本地实测结论;安装、配置、命令的实操验证见同专栏后续三篇。

一、环境信息

本篇是纯联网溯源文档,不依赖本地环境。文中引用的全部版本号、星数、许可证均标注来源与查询日期:

💡 说明:shields.io 徽章接口返回的是 JSON(如 {"label":"stars","message":"5.2k",...}),本质是 GitHub 仓库数据的第三方同步展示,适合作为可复核的取证通道。

二、软件概述

MediaWiki 是一个协作与文档平台(collaboration and documentation platform),由维基媒体基金会(Wikimedia Foundation)主导维护,采用 PHP 编写,底层默认搭配 MySQL/MariaDB 数据库(来源:mediawiki.org 首页与 Download 页,查询日期 2026-10-22)。官方页面原话:"MediaWiki is a collaboration and documentation platform brought to you by a vibrant community. It powers Wikipedia and also this website."(它驱动着维基百科,也驱动着 mediawiki.org 自身。)

核心身份信息一览:

项目内容来源(查询日期 2026-10-22)
软件名MediaWikimediawiki.org
当前稳定版1.46.2(1.46 系列发布于 2026 年 9 月下旬)官方 Download 页
上一稳定版(legacy)1.45.6官方 Download 页
长期支持版(legacy LTS)1.43.11官方 Download 页
开源许可GPL-2.0-or-later(自由软件)mediawiki.org 官方声明
维护方维基媒体基金会 + 全球社区mediawiki.org
开发语言PHP(要求 PHP 8.3.0+,1.46 起)官方 Download 页 System requirements
数据库支持MariaDB 10.3.0+ / MySQL 5.7.0+ / SQLite 3.31.0+ / PostgreSQL 10.0+官方 Download 页 System requirements
代码仓库github.com/wikimedia/mediawiki(GitHub 星数 5.2k,shields.io 徽章取证 2026-10-22)shields.io

💡 说明:MediaWiki 官方 Download 页对 1.46 的系统要求原文为 "MediaWiki requires PHP 8.3.0+, a webserver software, and either MariaDB 10.3.0+, MySQL 5.7.0+, SQLite 3.31.0+ or PostgreSQL 10.0+. Using MariaDB or MySQL is recommended as Wikipedia uses MariaDB." 这一点直接决定了部署基线:Ubuntu 22.04 仓库自带的 PHP 8.1 无法运行 1.46,必须升级 PHP(排障实录见安装篇)。

MediaWiki 的一段简要历史背景:它最初是为维基百科(2002 年起)开发的 wiki 引擎 UseModWiki 重写版,后逐步演化为独立产品,现在除维基百科外也被 Fandom、WikiApiary 等数千个站点使用,全球下载量极大(来源:mediawiki.org 与 Version_lifecycle 页,查询日期 2026-10-22)。

三、核心架构

MediaWiki 是典型的 LAMP(Linux + Apache + MySQL/MariaDB + PHP)Web 应用,整体架构可以拆为五层(依据:官方 Download 页系统要求 + Manual:Configuration settings 文档结构,来源查询日期 2026-10-22):

  1. Web 服务层:Apache/Nginx 等任意支持 PHP 的 Web 服务器。官方 tarball 解压后直接以目录形式暴露 index.php 入口,Apache 用 Alias/DocumentRoot 挂载即可,无需常驻守护进程(由 Web 服务器进程承载 PHP 执行)。
  2. PHP 应用层:核心框架(1.46 起要求 PHP 8.3+),入口 index.php,CLI 侧则通过 maintenance/run.php 统一调度 200+ 个维护脚本。配置集中在站点根目录的 LocalSettings.php(安装器自动生成,全部参数默认值定义于 includes/MainConfigSchema.php)。
  3. 数据层:MySQL/MariaDB(官方推荐,维基百科生产即 MariaDB)、PostgreSQL、SQLite 均可;表结构由安装器/升级脚本(update.php)自动创建与迁移。
  4. 缓存层:通过 $wgMainCacheType 在 CACHE_NONE / CACHE_DB / CACHE_ACCEL(APCu)/ Memcached 间选择,官方安装器在检测到 APCu 时会自动选择 CACHE_ACCEL。
  5. 扩展与皮肤生态:通过 wfLoadExtension() / wfLoadSkin() 加载;官方扩展仓库 Extension Distributor 与 tarball 中自带 VisualEditor、Parsoid 等配套组件。CLI 安装器原生支持 --extensions 参数在安装时一并启用扩展。

💡 技术拓展:wiki 引擎的内容组织模式不止 MediaWiki 使用的「单一数据库 + 命名空间(Namespace)」一种。常见同类模式对比——

模式原理/特点代表产品
数据库 + 命名空间页面存数据库,用命名空间划分内容域,权限可按命名空间/用户组细化MediaWiki
纯文件存储每页一个文本文件,无需数据库,迁移即拷目录DokuWiki
对象文档模型强结构化数据模型,页面即对象,支持类/属性/查询XWiki
块级编辑器Markdown 驱动、所见即所得块编辑,Git 可同步Wiki.js

MediaWiki 选择数据库 + 命名空间模式,根本动因是支撑超大规模站点(维基百科数千万页面)的版本历史、全文检索与并发编辑锁,这也是它在权限体系(用户组/页面保护)与扩展 API 上明显重于同类产品的原因。

四、功能特性

以下特性均可从官方文档体系(mediawiki.org Manual 与 Release Notes)逐项溯源(来源:mediawiki.org,查询日期 2026-10-22):

  • Wiki 标记语言 + 双向编辑:内置 wikitext 语法,1.46 内置可视化编辑器(VisualEditor)与 WikiEditor 工具栏,对非技术用户友好。
  • 版本历史与回滚:每次编辑生成 revision,任意版本可 diff、可回滚(rollback 是核心用户组权限),页面删除历史可恢复。
  • 讨论页与通知:每页自带讨论页(Talk namespace),内置 Echo 通知体系(提及/关注/欢迎)。
  • 分类体系与全文搜索:页面底部分类聚合;搜索基于数据库内置索引(生产大站可换 CirrusSearch + Elasticsearch 扩展)。
  • 用户组权限模型:*(匿名)/user/autoconfirmed/sysop/bureaucrat/bot/interface-admin 等内置组,$wgGroupPermissions 可按组细化到每个动作(读/编/删/保护/导入等),支持按页面保护(protect)与级联保护。
  • 国际化:1.46 内置 350+ 语言包,界面语言由 $wgLanguageCode 指定,页面级可用语言变体(zh 的简繁转换内建)。
  • CLI/API 双通道:200+ 个 maintenance/ 维护脚本(安装、升级、批量建号、导入图片、重建索引、统计初始化等全覆盖),同时提供 Action API 与 REST API。
  • 模板与魔法字:模板(Template namespace)+ ParserFunctions 扩展实现条件/循环等逻辑复用,是维基百科内容工程化的基础。
  • 文件管理:上传、缩略图(内置 GD,可选 ImageMagick)、InstantCommons 直接引用维基共享资源。
  • 任务队列与缓存:job queue 异步处理重活,多级缓存(对象缓存/解析缓存/资源加载器)支撑高并发读。
  • 安全维护节奏:点版本持续修 bug 与安全漏洞,例如 1.46.0 Release Notes 中即含 CVE-2026-58035、CVE-2026-58036 两项安全修复(来源:Release notes/1.46,查询日期 2026-10-22)。

五、快速开始(最小可用示例)

本篇仅给官方标准路径的溯源说明(不含本地实测结论),逐条命令的完整实测回显见安装篇:

  1. 从官方下载页取得当前稳定版 tarball:https://releases.wikimedia.org/mediawiki/1.46/mediawiki-1.46.2.tar.gz(约 95MB,来源:官方 Download 页 2026-10-22 引用链接)。
  2. 准备 PHP 8.3.0+ 与 MySQL/MariaDB(1.46 的硬性要求,见第二节)。
  3. 解压到 Web 目录,浏览器或 CLI 二选一完成安装:Web 方式直接访问站点根路径会自动跳入安装向导(mw-config,分步收集数据库、站点名、管理员账号),CLI 方式一条命令完成安装(官方 CLI 安装器用法:php maintenance/run.php install --dbname=... --dbuser=... --dbpass=... --pass=<管理员密码> <站点名> <管理员名>,来源:tarball 内 maintenance/install.php 自带帮助)。
  4. 安装器生成 LocalSettings.php 后站点即上线,首页/编辑/上传/历史等核心功能立即可用。

六、适用场景与限制

6.1 适用场景

  1. 大型知识库/百科类站点:百万级页面、多用户协作、需要版本历史与回滚审计的场景(维基百科即其极限案例证明)。
  2. 企业内部知识管理:权限分组 + 页面保护 + LDAP/OAuth 扩展登录,适合按部门划分命名空间的内部 Wiki。
  3. 文档工程项目:模板 + Lua/ParserFunctions 可把文档半结构化,配合 API/CLI 做批量生成与导出。
  4. 需要长期演进的组织记忆:GPL-2.0-or-later 无厂商锁定,数据在 MySQL 中可完整导出(XML dump + 文件目录)。

6.2 限制与注意点

  1. PHP 版本门槛高:1.46 要求 PHP 8.3.0+,老发行版(如 Ubuntu 22.04 默认 PHP 8.1)必须先升级 PHP(官方 Download 页,2026-10-22)。
  2. 默认皮肤与视觉较「维基百科风」:定制需要写皮肤或用扩展,开箱美感不如 Wiki.js/DokuWiki 的现代主题。
  3. 安全更新必须跟进:MediaWiki 历史上有明确的 CVE 修复节奏(1.46.0 即含两项 CVE 修复),生产部署要订阅版本公告并定期跑 update.php。
  4. 写多读少的小团队场景偏重:无数据库的 DokuWiki 或块编辑的 Wiki.js 在 10 人以下小团队里运维成本更低。
  5. 全文搜索默认较基础:默认搜索走数据库索引,语义/相关性要求高时需加装 Elasticsearch 扩展(CirrusSearch)。

七、同类选型对比

7.1 量化对比表

数据来源与查询日期(2026-10-22):版本号取自各项目官方 Release 通道(经 shields.io 徽章 JSON 取证,接口见备注);GitHub 星数同取 shields.io github/stars 徽章 JSON;许可证取 shields.io github/license 徽章 JSON(识别自仓库 LICENSE 文件);语言/数据库为各官方站点公开事实。Confluence 为 Atlassian 商业闭源产品,无公开 GitHub 仓库,不适用星数/许可列。

维度MediaWikiDokuWikiXWikiWiki.jsConfluence
定位大规模协作 Wiki(维基百科引擎)轻量纯文件 Wiki结构化企业 Wiki/应用平台现代 Markdown Wiki商业企业知识库
最新版本(2026-10-22)1.46.2(稳定)<br>1.43.11(LTS)2026-07-14c18.9.0-rc-1(最新 tag,稳定线 18.4 LTS 系)2.5 稳定线(3.0 处于 beta.685)Data Center 商业版本
GitHub 星数(shields.io,2026-10-22)5.2k(wikimedia/mediawiki)4.7k(splitbrain/dokuwiki)1.3k(xwiki/xwiki-platform)29k(requarks/wiki)无(闭源)
开源许可GPL-2.0-or-laterGPL-2.0LGPL-2.1AGPL-3.0商业授权
开发语言PHP(8.3+)PHP(7.4+,低门槛)JavaNode.jsJava(闭源)
数据库MariaDB/MySQL/PostgreSQL/SQLite无需数据库(纯文件)H2/MySQL/PostgreSQL 等JORAM 等多选PostgreSQL/MySQL/MariaDB/SQLite自带 H2/外接 PostgreSQL
部署形态LAMP/Web 服务器 + tarball拷贝 PHP 文件即用独立 Java 服务Node 服务 + 数据库官方安装器
运维重量中重(PHP 版本要求高、需定期 update.php)轻重(JVM 调优、集群组件多)中重(商业支持依赖)
权限模型用户组+命名空间+页面保护(极细)ACL 按页面/命名空间权限组+空间+对象级按页面树 ACL空间+页面权限
典型规模数千万页面(维基百科)中小站点(数千页)企业级中大站点中小到中型企业级
商业支持社区 + 第三方专业服务社区XWiki SAS 商业服务社区(NovaGarage 托管)Atlassian 官方支持

关键差异与选型建议:要「维基百科同款、超大规模、权限极细、生态最大」选 MediaWiki;要「零数据库、拷文件就跑」选 DokuWiki;要「结构化数据 + Java 技术栈 + 应用平台能力」选 XWiki;要「现代化界面 + Markdown + Git 背书」选 Wiki.js;有商业预算与 Atlassian 生态(Jira 联动)则 Confluence。GitHub 星数上 Wiki.js(29k)关注度最高,但 MediaWiki(5.2k)背靠的是维基百科这一极限生产案例与最大的扩展生态,两者含金量维度不同,不能只看星数。

7.2 与本专栏其他篇目的衔接

八、版本与升级策略

依据官方 Download 页与 Version_lifecycle 页(查询日期 2026-10-22):

  1. 三线并行:1.46.2(当前稳定)→ 一年后转为 legacy;1.45.6(legacy,仅安全修复);1.43.11(legacy LTS,长周期安全支持)。生产新装首选当前稳定线;求稳的老系统可停留在 LTS 线。
  2. 发版节奏:约每年一个 .0 大版本(1.45、1.46 相继于近两年发布),点版本(x.y.z 的 z)随安全修复与本地化更新高频滚动——1.46.2 已是 1.46 系列的第二个点版本。
  3. 升级路径:备份(数据库 + LocalSettings.php + images 目录)→ 下载新版 tarball 覆盖解压 → 运行 php maintenance/run.php update 完成数据库迁移。该命令的真实回显(含 "Skipped 34 updates that were already applied." 等行为)已在命令篇实测,见 《MediaWiki 1.46 常用 CLI 命令与工具详解》。
  4. 不支持跨大版本跳跃的官方声明:升级前务必核对 Release Notes 中的废弃项(1.46.0 即有多项内部 API 变更与扩展依赖升级记录)。

九、参考链接