文章最后更新时间:2026年01月30日
认识MediaWiki

MediaWiki 是一款免费开源的 Wiki 协作编辑引擎,因维基百科的核心应用而广为人知,主打多人实时协同编辑、高度可扩展,是搭建百科全书、知识库类站点的经典工具。
使用 MediaWiki 的知名网站包括:维基百科及其姊妹项目(如维基词典、维基文库、维基数据、维基导游等)、Fandom(前身为 Wikia,大型游戏与流行文化维基农场)、wikiHow(实用指南类维基)、huijiwiki(灰机百科、SNPedia(人类基因研究数据库)、Mozilla与Ubuntu等开源项目的官方维基、moegirl(萌娘百科)、qiuwen(求闻百科),以及众多游戏维基如bwiki(哔哩哔哩wiki)Minecraft Wiki、Fallout Wiki、魔兽世界维基等。
安装教程
第一步:下载安装包

官网下载页面:https://www.mediawiki.org/wiki/Download/zh
版本选择:MediaWiki 1.45.1 (稳定版)
第二步:服务器环境部署
运行MediaWiki需要PHP 8.2.0以上版本,Web服务器软件,与MariaDB 10.3.0+、MySQL 5.7.0+、SQLite 3.24.0+或PostgreSQL 10.0+。 建议使用MariaDB或MySQL。维基媒体使用MariaDB。 其他的数据库服务器经历的测试更少,您更有可能遇到软件缺陷。这里以Linux系统Debian-12.0_x64_1演示(跳过宝塔面板安装,安装后默认选择Nginx环境即可)
服务器环境:Nginx 1.28.1、MySQL 8.0.36、phpMyAdmin 5.2、PHP 8.2.28
1.添加网站与数据库

在宝塔面板添加网站域名并配置数据库账号与密码,并做记录保存。
2.上传并解压MediaWiki程序
将第一步中下载好的MediaWiki安装包,上传到刚建好的网站根目录,由于压缩包自带一层“mediawiki-1.45.1”文件夹,所以我们要将“mediawiki-1.45.1”文件夹内的所有文件全部剪切到网站根目录。
我这里已经转到根目录了,就不作重复演示,仅以最终效果截图为准,标红是为了注明“全选”、“剪切”菜单操作位置。
3.安装php扩展
MediaWiki 极其依赖 intl 和 fileinfo 扩展,默认的宝塔 PHP 安装包通常不包含 intl,会导致安装失败。

宝塔面板首页左侧找到“软件商店” -> “已安装”列表,找到您正在使用的 PHP 版本(例如 PHP-8.2.8),点击右侧的 “设置”并在弹出的窗口中选择 “安装扩展”。

安装以下扩展:
fileinfo通用扩展若可用内存小于1G,可能会安装不上
opcache缓存器用于加速PHP脚本!
apcu缓存器脚本缓存器
imagemagick通用扩展Imagick高性能图形库
intl通用扩展提供国际化支持
其中“fileinfo”、“intl”为必须安装项,安装完成后,点击 “服务” -> “重启” PHP 服务以完成扩展安装。
第三步:开始安装MediaWiki程序
在浏览器输入您的域名访问图形化在线安装界面,这里以“wiki.reo.ink”为例,访问后点击“set up the wiki”进入详细安装界面:

这里有一个坑是提示:“致命错误:未捕获的错误:在 /www/wwwroot/wiki.reo.ink/includes/Setup.php:312 中调用未定义的函数 putenv()”
错误示例:
Fatal error: Uncaught Error: Call to undefined function putenv() in /www/wwwroot/wiki.reo.ink/includes/Setup.php:312
Stack trace: #0 /www/wwwroot/wiki.reo.ink/includes/WebStart.php(72): require_once() #1 /www/wwwroot/wiki.reo.ink/mw-config/index.php(27): require('...') #2 {main} thrown in /www/wwwroot/wiki.reo.ink/includes/Setup.php on line 312原因是“putenv”函数在php中被禁用,解决方法如下:
打开php配置文件php.ini,找到disable_functions字符串,把后面的putenv删除重载配置即可正常安装。
宝塔面板的话,我的版本是8.2,就找到 PHP8.2管理→禁用函数→删除putenv,重载配置文件后即可正常安装
多版本PHP共存的处理按上面操作后错误还在,你就要查看服务器上是不是还安装了其他PHP版本,宝塔面板是支持多版本PHP共存的,所以你需要把别的版本PHP的 “putenv” 也删掉。

解决这个问题后就可以正常进入安装界面了。
1.安装环境检测

可能会出现如下提示:
1.警告:找不到APCu,对象缓存未启用
解决方法:在php扩展安装界面安装“APCu”扩展即可。
2.找不到GNU diff3文字对比工具程序,您可以暂时忽略它,但可能会更频繁遇到编辑冲突。
解决方法:修改mediawiki最后的生成的“LocalSettings.php”配置文件。
https://www.mediawiki.org/wiki/Manual:$wgDiff3 https://www.mediawiki.org/wiki/Manual:Configuration_settings
3.Git版本控制软件未找到,您可以暂时忽略它,另请注意Special:Version不会显示commit的哈希值。
解决方法:这个我真的选择忽略它
4.警告:您的默认上传目录/www/wwwroot/wiki.reo.ink/images/存在允许执行任意脚本的漏洞。尽管MediaWiki会对所有已上传的文件进行安全检查,但我们仍然强烈建议您在启用上传功能前关闭该安全漏洞。
解决方法:直接在“images”目录权限设置为644;

5.警告:由于连接错误,无法验证在您上传目录中的图像,应使用HTTP标头X-Content-Type-Options: nosniff进行响应,以保护浏览器免受潜在不安全文件的侵害。
解决方法:在网站配置文件中添加应用HTTP标头即可:
location / {
add_header X-Content-Type-Options nosniff;
}
2.数据库配置界面
将之前配置的数据库信息填入表单中,以我演示为例:
数据库名称:wiki_reo_ink 数据库表前缀:留空 数据库用户名:wiki_reo_ink 数据库密码:123456789

数据库设置:供网页访问使用的数据库账号使用和安装程序相同的账号,默认选择继续。

3.MediaWiki网站设置界面
URL主机名:默认“http”,如果启用SSL证书可以设置为“https”;
WIKI名称:您的网站名称;
项目命名空间:主流命名空间有两种
1.与wiki名称相同,页面URL为:
wiki.reo.ink/WIKI: 首页
wiki.reo.ink/WIKI:关于本站
wiki.reo.ink/WIKI:项目1
2.与项目具体名字分类,页面URL为:
wiki.reo.ink/首页
wiki.reo.ink/项目1
其它设置:管理员账号/密码/按自己的喜好填写即可,邮箱地址可以先不填。

4.MediaWiki皮肤设置

提供了4款内置皮肤,我选择的是timeless,也可以看看那个皮肤截图是你喜欢的然后随便选一个设置一下。
5.MediaWiki扩展插件设置

提供了包括编辑器、API、特殊页面、解析器钩子、垃圾预防、媒体文件处理程序等33款拓展插件,这里建议全部勾选安装,后续按需启用关闭即可。
6.图片资源配置
因为安全检测时设置了“images”目录权限,取消了上传功能,所以这里建议选择“启用即使共享资源”即可,适合通过图床等外部图片的小伙伴。

假如你想要允许 WIKI 用户上传图片,也可以设置开启,如果有删除,指定一个文件夹名字为 deleted,系统会自动生成这个文件夹

7.网站图标设置
设置不是一次性搞定,可以后续更改,先保持默认。

8.对向缓存设置
默认开启PHP对象缓存就好。

9.安装完成
后面的操作就是“继续”执行完成MediaWiki程序安装即可,安装完成后会自动下载“LocalSettings.php”配置文件,将这个文件上传到网站根目录即可。


拓展选项
一、开启缓存 (Redis)
MediaWiki 比较吃资源。建议在宝塔php扩展中安装 Redis,并在 LocalSettings.php 中将 $wgMainCacheType = CACHE_ACCEL;替换为以下代码:
$wgObjectCaches['redis'] = [ 'class' => 'RedisBagOStuff', 'servers' => [ '127.0.0.1:6379' ], // 'connectTimeout' => 1, // 'persistent' => false, // 'password' => 'secret', // 'automaticFailOver' => true, ]; $wgMainCacheType = 'redis'; $wgParserCacheType = 'redis'; // 可选 $wgMessageCacheType = 'redis'; // 可选 // 若使用新版 API,可直接写 'redis' // $wgMainCacheType = 'redis'; $smwgMainCacheType = 'redis'; $wgJobTypeConf['default'] = [ 'class' => 'JobQueueRedis', 'redisServer' => '127.0.0.1:6379', 'redisConfig' => [], 'daemonized' => true ];
二、MediaWiki伪静态设置规则
在宝塔面板中,点击 “网站” -> 点击您的 网站名 -> “伪静态”。
直接复制以下 Nginx 规则并粘贴进去,保存即可:
location ~ ^\/.+$ {
if ($request_uri ~ ^/images) { break; }
if ($request_uri ~ ^/resources) { break; }
if ($request_uri ~ ^/index\.php) { break; }
rewrite ^/(.+)$ /index.php?title=$1 last;
}
修改 LocalSettings.php:在宝塔文件管理中编辑 LocalSettings.php,找到 $wgScriptPath 这一行,在下面添加或修改以下配置:
$wgScriptPath = ""; $wgArticlePath = "$wgScriptPath/$1";

三、安全建议
安装完成后,建议在宝塔中将网站根目录的 mw-config 文件夹重命名或删除,防止被他人重新运行安装程序。
教程结束
写在最后:MediaWiki是一个人人可以编辑的自由百科,希望大家能够搭建出更多更好的知识数据平台。



还没有评论,来说两句吧...