mediawiki在ubuntu上部署的关键是确保lamp服务激活、php扩展齐全、apache重写与权限配置正确:需验证systemctl状态、安装mbstring/xml/intl等必要模块、启用rewrite及allowoverride all,并将localsettings.php设为www-data所有且权限644。

MediaWiki 在 Ubuntu 上部署不难,但容易卡在权限、PHP 模块缺失或 Apache 虚拟主机配置错位上。只要数据库用户权限对、LocalSettings.php 放对位置、mod_rewrite 开启且 .htaccess 生效,后续基本不会出大问题。
确认 LAMP 基础服务已就绪且端口可用
Ubuntu 22.04+ 默认用 systemd 管理服务,别只看 apache2 -v 或 php -v 就以为能跑 Wiki:
– systemctl is-active apache2 必须返回 active
– systemctl is-active mariadb 或 mysql(若装的是 MySQL)必须是 active
– curl -I http://localhost 应返回 200 OK,不是 Connection refused
– 若改过 Apache 默认端口(比如改成 8080),确保 /etc/apache2/ports.conf 和虚拟主机里 <virtualhost></virtualhost> 一致,否则浏览器访问直接超时
PHP 扩展缺一个,安装页面就报错“Required PHP extensions not found”
MediaWiki 1.39+ 强制要求 mbstring、xml、intl、gd、zip、curl,光装 php 和 php-mysql 不够:
– 运行 php -m | grep -E "mbstring|xml|intl|gd" 检查是否全在列表里
– 缺哪个就补装,例如 sudo apt install php-intl php-gd php-zip
– 安装后必须重启 Apache:sudo systemctl restart apache2,否则 PHP-FPM 或 mod_php 不加载新模块
– 注意:Ubuntu 24.04 默认 PHP 是 8.3,但某些旧扩展名可能带版本号(如 php8.3-intl),用 apt list --installed | grep php 核对实际包名
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
Apache 虚拟主机配置里最常漏的三件事
很多人把 mediawiki 文件夹放好、数据库建好,却卡在 “The requested URL was not found on this server”:
– 忘开 rewrite 模块:sudo a2enmod rewrite,否则 index.php 重写规则不生效
– AllowOverride All 没配在 <directory></directory> 块内,导致 .htaccess 被忽略
– DocumentRoot 指向了 /var/www/mediawiki,但没在 <virtualhost></virtualhost> 外显式启用该站点:sudo a2ensite mediawiki.conf,然后 sudo systemctl reload apache2
安装完成后 LocalSettings.php 权限不对,首页 500 错误
Web 安装向导最后一步会生成 LocalSettings.php,但直接下载后丢进目录常出问题:
– 文件必须放在 /var/www/mediawiki/ 根目录(和 index.php 同级)
– 所有权要设为 web 用户:sudo chown www-data:www-data /var/www/mediawiki/LocalSettings.php
– 权限建议 644(sudo chmod 644 /var/www/mediawiki/LocalSettings.php),太松(如 777)会被 MediaWiki 拒绝加载
– 如果用 sudo nano 手动编辑过该文件,注意别意外加 BOM 或空行在开头,会导致 PHP 解析失败,首页白屏或 500
LocalSettings.php 的文件所有权和 AllowOverride All 是否真正生效——这两处一错,整个安装流程看似走完,但首页要么 404,要么 500,排查起来比重装还耗时间。










