MediaWiki安装教程:在宝塔面板部署 MediaWiki 1.45.1 维基百科避坑指南 (Nginx版)

0oD三一o0

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

认识MediaWiki

MediaWiki安装教程:在宝塔面板部署 MediaWiki 1.45.1 维基百科避坑指南 (Nginx版)

    MediaWiki 是一款免费开源的 Wiki 协作编辑引擎,因维基百科的核心应用而广为人知,主打多人实时协同编辑、高度可扩展,是搭建百科全书、知识库类站点的经典工具。

    使用 MediaWiki 的知名网站包括:维基百科及其姊妹项目(如维基词典、维基文库、维基数据、维基导游等)、Fandom(前身为 Wikia,大型游戏与流行文化维基农场)、wikiHow(实用指南类维基)、huijiwiki(灰机百科、SNPedia(人类基因研究数据库)、Mozilla与Ubuntu等开源项目的官方维基、moegirl(萌娘百科)、qiuwen(求闻百科),以及众多游戏维基如bwiki(哔哩哔哩wiki)Minecraft Wiki、Fallout Wiki、魔兽世界维基等。


安装教程

第一步:下载安装包

MediaWiki安装教程:在宝塔面板部署 MediaWiki 1.45.1 维基百科避坑指南 (Nginx版)

    官网下载页面: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.添加网站与数据库

QQ20260129-162939.jpg

    在宝塔面板添加网站域名并配置数据库账号与密码,并做记录保存。

2.上传并解压MediaWiki程序

    将第一步中下载好的MediaWiki安装包,上传到刚建好的网站根目录,由于压缩包自带一层mediawiki-1.45.1文件夹,所以我们要将mediawiki-1.45.1”文件夹内的所有文件全部剪切到网站根目录。

MediaWiki安装教程:在宝塔面板部署 MediaWiki 1.45.1 维基百科避坑指南 (Nginx版)    我这里已经转到根目录了,就不作重复演示,仅以最终效果截图为准,标红是为了注明“全选”、“剪切”菜单操作位置。


3.安装php扩展

    MediaWiki 极其依赖 intl 和 fileinfo 扩展,默认的宝塔 PHP 安装包通常不包含 intl,会导致安装失败。

MediaWiki安装教程:在宝塔面板部署 MediaWiki 1.45.1 维基百科避坑指南 (Nginx版)

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

MediaWiki安装教程:在宝塔面板部署 MediaWiki 1.45.1 维基百科避坑指南 (Nginx版)

安装以下扩展

  1. fileinfo通用扩展若可用内存小于1G,可能会安装不上

  2. opcache缓存器用于加速PHP脚本!

  3. apcu缓存器脚本缓存器

  4. imagemagick通用扩展Imagick高性能图形库

  5. intl通用扩展提供国际化支持

其中“fileinfo”、“intl”为必须安装项,安装完成后,点击 “服务” -> “重启” PHP 服务以完成扩展安装。


第三步:开始安装MediaWiki程序

在浏览器输入您的域名访问图形化在线安装界面,这里以“wiki.reo.ink”为例,访问后点击“set up the wiki”进入详细安装界面:

MediaWiki安装教程:在宝塔面板部署 MediaWiki 1.45.1 维基百科避坑指南 (Nginx版)

这里有一个坑是提示:“致命错误:未捕获的错误:在 /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中被禁用,解决方法如下

  1. 打开php配置文件php.ini,找到disable_functions字符串,把后面的putenv删除重载配置即可正常安装。

  2. 宝塔面板的话,我的版本是8.2,就找到 PHP8.2管理→禁用函数→删除putenv,重载配置文件后即可正常安装

  3. 多版本PHP共存的处理按上面操作后错误还在,你就要查看服务器上是不是还安装了其他PHP版本,宝塔面板是支持多版本PHP共存的,所以你需要把别的版本PHP的 “putenv” 也删掉。


MediaWiki安装教程:在宝塔面板部署 MediaWiki 1.45.1 维基百科避坑指南 (Nginx版)

解决这个问题后就可以正常进入安装界面了。


1.安装环境检测

MediaWiki安装教程:在宝塔面板部署 MediaWiki 1.45.1 维基百科避坑指南 (Nginx版)

可能会出现如下提示:

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;

MediaWiki安装教程:在宝塔面板部署 MediaWiki 1.45.1 维基百科避坑指南 (Nginx版)

5.警告:由于连接错误,无法验证在您上传目录中的图像,应使用HTTP标头X-Content-Type-Options: nosniff进行响应,以保护浏览器免受潜在不安全文件的侵害。

    解决方法:在网站配置文件中添加应用HTTP标头即可:


location / {
add_header X-Content-Type-Options nosniff;
}

QQ20260129-154347.jpg

2.数据库配置界面

将之前配置的数据库信息填入表单中,以我演示为例:

数据库名称:wiki_reo_ink
数据库表前缀:留空
数据库用户名:wiki_reo_ink
数据库密码:123456789

QQ20260129-163132.jpg

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

MediaWiki安装教程:在宝塔面板部署 MediaWiki 1.45.1 维基百科避坑指南 (Nginx版)

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

其它设置:管理员账号/密码/按自己的喜好填写即可,邮箱地址可以先不填

MediaWiki安装教程:在宝塔面板部署 MediaWiki 1.45.1 维基百科避坑指南 (Nginx版)

4.MediaWiki皮肤设置

QQ20260129-170156.jpg

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

5.MediaWiki扩展插件设置

MediaWiki安装教程:在宝塔面板部署 MediaWiki 1.45.1 维基百科避坑指南 (Nginx版)

提供了包括编辑器、API、特殊页面、解析器钩子、垃圾预防、媒体文件处理程序等33款拓展插件,这里建议全部勾选安装,后续按需启用关闭即可。

6.图片资源配置

因为安全检测时设置了“images”目录权限,取消了上传功能,所以这里建议选择“启用即使共享资源”即可,适合通过图床等外部图片的小伙伴。

MediaWiki安装教程:在宝塔面板部署 MediaWiki 1.45.1 维基百科避坑指南 (Nginx版)

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

MediaWiki安装教程:在宝塔面板部署 MediaWiki 1.45.1 维基百科避坑指南 (Nginx版)

7.网站图标设置

设置不是一次性搞定,可以后续更改,先保持默认。

MediaWiki安装教程:在宝塔面板部署 MediaWiki 1.45.1 维基百科避坑指南 (Nginx版)

8.对向缓存设置

默认开启PHP对象缓存就好。

MediaWiki安装教程:在宝塔面板部署 MediaWiki 1.45.1 维基百科避坑指南 (Nginx版)

9.安装完成

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

MediaWiki安装教程:在宝塔面板部署 MediaWiki 1.45.1 维基百科避坑指南 (Nginx版)

MediaWiki安装教程:在宝塔面板部署 MediaWiki 1.45.1 维基百科避坑指南 (Nginx版)

拓展选项

一、开启缓存 (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;
}

MediaWiki安装教程:在宝塔面板部署 MediaWiki 1.45.1 维基百科避坑指南 (Nginx版)

修改 LocalSettings.php:在宝塔文件管理中编辑 LocalSettings.php,找到 $wgScriptPath 这一行,在下面添加或修改以下配置:

$wgScriptPath = ""; 
$wgArticlePath = "$wgScriptPath/$1";

MediaWiki安装教程:在宝塔面板部署 MediaWiki 1.45.1 维基百科避坑指南 (Nginx版)

三、安全建议

安装完成后,建议在宝塔中将网站根目录的 mw-config 文件夹重命名或删除,防止被他人重新运行安装程序。

教程结束

写在最后:MediaWiki是一个人人可以编辑的自由百科,希望大家能够搭建出更多更好的知识数据平台。

MediaWiki安装教程:在宝塔面板部署 MediaWiki 1.45.1 维基百科避坑指南 (Nginx版)


文章版权声明:除非注明,否则均为0oD三一o0原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (暂无评论,37人围观)

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

取消
微信二维码
微信二维码
支付宝二维码