MediaWiki 介绍与选型指南
MediaWiki 定位、架构、功能、版本策略全溯源介绍,并与 DokuWiki、XWiki、Confluence、Wiki.js 做量化选型对比(版本/星数/许可/技术栈),数据查询日期 2026-10-22。
MediaWiki 介绍与选型指南
目标:面向准备搭建企业/团队知识库的工程师,完整介绍 MediaWiki 的定位、架构、功能、版本策略,并与 DokuWiki、XWiki、Confluence、Wiki.js 做量化选型对比。本篇为认知与选型篇,全部结论均来自官方站点/官方仓库的联网溯源(查询日期 2026-10-22),不含本地实测结论;安装、配置、命令的实操验证见同专栏后续三篇。
一、环境信息
本篇是纯联网溯源文档,不依赖本地环境。文中引用的全部版本号、星数、许可证均标注来源与查询日期:
- 查询日期:2026-10-22
- 官方站点:https://www.mediawiki.org/
- 官方代码仓库:https://github.com/wikimedia/mediawiki
- 官方下载页:https://www.mediawiki.org/wiki/Download
- 版本生命周期页:https://www.mediawiki.org/wiki/Version_lifecycle
- Release Notes:https://www.mediawiki.org/wiki/Release_notes/1.46
- GitHub 星数/版本/许可证取证通道:img.shields.io(shields.io)徽章 JSON 接口,如
https://img.shields.io/github/stars/wikimedia/mediawiki.json(未直连 api.github.com,规避其匿名限流)
💡 说明: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) |
|---|---|---|
| 软件名 | MediaWiki | mediawiki.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):
- Web 服务层:Apache/Nginx 等任意支持 PHP 的 Web 服务器。官方 tarball 解压后直接以目录形式暴露
index.php入口,Apache 用Alias/DocumentRoot挂载即可,无需常驻守护进程(由 Web 服务器进程承载 PHP 执行)。 - PHP 应用层:核心框架(1.46 起要求 PHP 8.3+),入口
index.php,CLI 侧则通过maintenance/run.php统一调度 200+ 个维护脚本。配置集中在站点根目录的LocalSettings.php(安装器自动生成,全部参数默认值定义于includes/MainConfigSchema.php)。 - 数据层:MySQL/MariaDB(官方推荐,维基百科生产即 MariaDB)、PostgreSQL、SQLite 均可;表结构由安装器/升级脚本(
update.php)自动创建与迁移。 - 缓存层:通过
$wgMainCacheType在 CACHE_NONE / CACHE_DB / CACHE_ACCEL(APCu)/ Memcached 间选择,官方安装器在检测到 APCu 时会自动选择 CACHE_ACCEL。 - 扩展与皮肤生态:通过
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)。
五、快速开始(最小可用示例)
本篇仅给官方标准路径的溯源说明(不含本地实测结论),逐条命令的完整实测回显见安装篇:
- 从官方下载页取得当前稳定版 tarball:
https://releases.wikimedia.org/mediawiki/1.46/mediawiki-1.46.2.tar.gz(约 95MB,来源:官方 Download 页 2026-10-22 引用链接)。 - 准备 PHP 8.3.0+ 与 MySQL/MariaDB(1.46 的硬性要求,见第二节)。
- 解压到 Web 目录,浏览器或 CLI 二选一完成安装:Web 方式直接访问站点根路径会自动跳入安装向导(mw-config,分步收集数据库、站点名、管理员账号),CLI 方式一条命令完成安装(官方 CLI 安装器用法:
php maintenance/run.php install --dbname=... --dbuser=... --dbpass=... --pass=<管理员密码> <站点名> <管理员名>,来源:tarball 内maintenance/install.php自带帮助)。 - 安装器生成
LocalSettings.php后站点即上线,首页/编辑/上传/历史等核心功能立即可用。
- 逐步命令与真实回显:《Ubuntu 22.04 安装 MediaWiki 1.46 指南》
- 配置体系详解:《MediaWiki 1.46 配置参数详解》
- 维护脚本实测:《MediaWiki 1.46 常用 CLI 命令与工具详解》
六、适用场景与限制
6.1 适用场景
- 大型知识库/百科类站点:百万级页面、多用户协作、需要版本历史与回滚审计的场景(维基百科即其极限案例证明)。
- 企业内部知识管理:权限分组 + 页面保护 + LDAP/OAuth 扩展登录,适合按部门划分命名空间的内部 Wiki。
- 文档工程项目:模板 + Lua/ParserFunctions 可把文档半结构化,配合 API/CLI 做批量生成与导出。
- 需要长期演进的组织记忆:GPL-2.0-or-later 无厂商锁定,数据在 MySQL 中可完整导出(XML dump + 文件目录)。
6.2 限制与注意点
- PHP 版本门槛高:1.46 要求 PHP 8.3.0+,老发行版(如 Ubuntu 22.04 默认 PHP 8.1)必须先升级 PHP(官方 Download 页,2026-10-22)。
- 默认皮肤与视觉较「维基百科风」:定制需要写皮肤或用扩展,开箱美感不如 Wiki.js/DokuWiki 的现代主题。
- 安全更新必须跟进:MediaWiki 历史上有明确的 CVE 修复节奏(1.46.0 即含两项 CVE 修复),生产部署要订阅版本公告并定期跑
update.php。 - 写多读少的小团队场景偏重:无数据库的 DokuWiki 或块编辑的 Wiki.js 在 10 人以下小团队里运维成本更低。
- 全文搜索默认较基础:默认搜索走数据库索引,语义/相关性要求高时需加装 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 仓库,不适用星数/许可列。
| 维度 | MediaWiki | DokuWiki | XWiki | Wiki.js | Confluence |
|---|---|---|---|---|---|
| 定位 | 大规模协作 Wiki(维基百科引擎) | 轻量纯文件 Wiki | 结构化企业 Wiki/应用平台 | 现代 Markdown Wiki | 商业企业知识库 |
| 最新版本(2026-10-22) | 1.46.2(稳定)<br>1.43.11(LTS) | 2026-07-14c | 18.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-later | GPL-2.0 | LGPL-2.1 | AGPL-3.0 | 商业授权 |
| 开发语言 | PHP(8.3+) | PHP(7.4+,低门槛) | Java | Node.js | Java(闭源) |
| 数据库 | 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 与本专栏其他篇目的衔接
- 部署实操(LAMP + 官方 tarball 从零到一,含 PHP 8.3 升级排障实录):《Ubuntu 22.04 安装 MediaWiki 1.46 指南》
LocalSettings.php分域参数详解与生产模板:《MediaWiki 1.46 配置参数详解》maintenance/维护脚本逐条实测:《MediaWiki 1.46 常用 CLI 命令与工具详解》
八、版本与升级策略
依据官方 Download 页与 Version_lifecycle 页(查询日期 2026-10-22):
- 三线并行:1.46.2(当前稳定)→ 一年后转为 legacy;1.45.6(legacy,仅安全修复);1.43.11(legacy LTS,长周期安全支持)。生产新装首选当前稳定线;求稳的老系统可停留在 LTS 线。
- 发版节奏:约每年一个
.0大版本(1.45、1.46 相继于近两年发布),点版本(x.y.z 的 z)随安全修复与本地化更新高频滚动——1.46.2 已是 1.46 系列的第二个点版本。 - 升级路径:备份(数据库 +
LocalSettings.php+ images 目录)→ 下载新版 tarball 覆盖解压 → 运行php maintenance/run.php update完成数据库迁移。该命令的真实回显(含 "Skipped 34 updates that were already applied." 等行为)已在命令篇实测,见 《MediaWiki 1.46 常用 CLI 命令与工具详解》。 - 不支持跨大版本跳跃的官方声明:升级前务必核对 Release Notes 中的废弃项(1.46.0 即有多项内部 API 变更与扩展依赖升级记录)。
九、参考链接
- 官方下载页(版本与系统要求):https://www.mediawiki.org/wiki/Download (查询日期 2026-10-22)
- 版本生命周期:https://www.mediawiki.org/wiki/Version_lifecycle (查询日期 2026-10-22)
- 1.46 Release Notes:https://www.mediawiki.org/wiki/Release_notes/1.46 (查询日期 2026-10-22)
- 配置手册:https://www.mediawiki.org/wiki/Manual:Configuration_settings
- 安装要求:https://www.mediawiki.org/wiki/Manual:Installation_requirements
- GitHub 仓库:https://github.com/wikimedia/mediawiki
- shields.io 星数取证:https://img.shields.io/github/stars/wikimedia/mediawiki.json (2026-10-22,返回 5.2k)
- 竞品取证:DokuWiki(https://www.dokuwiki.org)、XWiki(https://www.xwiki.org)、Wiki.js(https://js.wiki)、Confluence(https://www.atlassian.com/software/confluence)