打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

帮助:MediaWiki 安装:修订间差异

来自陋室
删除的内容 添加的内容
XP-jia留言 | 贡献
new
 
Maintenance script留言 | 贡献
基于本站实际配置统一校对安装说明
 
(未显示2个用户的12个中间版本)
第1行: 第1行:
'''说明''' 本指南结合 MediaWiki 官方文档与实际部署经验,概述通用安装流程,并结合本站(learn.houjue.digital)当前环境给出可直接复用的参数与命令。请始终以 [https://www.mediawiki.org/wiki/Manual:Installing_MediaWiki 官方安装指南] 为权威来源,并根据自己的环境调整命令与路径。
这个页面介绍了本站的 MediaWiki 的安装笔记.
== 基本环境的安装 ==
=== 系统 ===
==== 系统版本 ====
<code>cat /etc/os-release # 显示发行版的详细信息</code>


== 环境准备 ==
<code>PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"</code>
==== 系统更新 ====
=== 系统与组件 ===
本站当前运行环境如下(可按需替换为你的实际版本):
<code>sudo apt update # 更新包索引</code>
* 操作系统:Debian 12 (bookworm)
* Web 服务器:Nginx 1.22.x
* PHP:8.2.x(PHP-FPM)
* 数据库:MariaDB 10.11.x


常用版本检查命令:
<code>sudo apt upgrade # sudo apt upgrade</code>
<syntaxhighlight lang="bash">
=== 宝塔面板 ===
cat /etc/os-release
Linux面板安装脚本,正式版:9.4.0
nginx -v
php -v
mysql --version
</syntaxhighlight>


=== 更新与依赖 ===
<code>wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh && bash install_panel.sh ed8484bec</code>
根据本站当前部署(Debian 12 + Nginx + PHP 8.2 FPM + MariaDB),建议按以下方式更新与安装依赖:
=== 环境 ===
<syntaxhighlight lang="bash">
==== PHP ====
sudo apt update && sudo apt upgrade -y
<code>php -v</code>
sudo apt install nginx mariadb-server php8.2-fpm php8.2-cli php8.2-mysql php8.2-gd php8.2-mbstring php8.2-xml php8.2-curl php8.2-zip php8.2-intl php8.2-apcu unzip git -y
# 多媒体与差异对比工具
sudo apt install ffmpeg poppler-utils imagemagick php-wikidiff2 -y
</syntaxhighlight>


如需启用 Lua/时间线/乐谱等扩展,可按需补充:
<code>PHP 8.2.26 (cli) (built: Nov 25 2024 17:21:51) (NTS)</code>
<syntaxhighlight lang="bash">
# Scribunto
sudo apt install php-luasandbox -y
# EasyTimeline/Score 等
sudo apt install perl ploticus lilypond ghostscript -y
</syntaxhighlight>


说明:本站使用 Nginx + PHP-FPM,如需 Apache 请改用对应包与配置;PHP-FPM 请确保与 Nginx 配置匹配。
<code>which php</code>


== 安装步骤 ==
<code>/usr/bin/php</code>
=== 1. 下载 MediaWiki(通用流程) ===
从官方 https://releases.wikimedia.org 下载当前稳定版本。示例命令:
<syntaxhighlight lang="bash">
cd /var/www
wget https://releases.wikimedia.org/mediawiki/1.45/mediawiki-1.45.0.tar.gz
tar -xzvf mediawiki-1.45.0.tar.gz
mv mediawiki-1.45.0 mediawiki
</syntaxhighlight>


本站实际路径:<code>/var/www/mediawiki</code>,Web 用户为 <code>www-data</code>。
==== 标题文本 ====

=== 2. 创建数据库与用户(通用流程) ===
登录数据库创建专用数据库与账号:
<syntaxhighlight lang="sql">
CREATE DATABASE my_wiki CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wikiuser'@'localhost' IDENTIFIED BY '强密码';
GRANT ALL PRIVILEGES ON my_wiki.* TO 'wikiuser'@'localhost';
FLUSH PRIVILEGES;
</syntaxhighlight>

本站实际数据库配置(见 <code>/var/www/learn.php</code>):
* 数据库:<code>learn</code>
* 用户:<code>learn</code>
* 主机:<code>localhost</code>

=== 3. 运行安装向导(通用流程) ===
在浏览器打开 <code>https://<你的域名或IP>/mw-config/</code>,安装向导会依次要求填写环境检测、数据库信息、站点名称、管理员账号、上传目录等。
完成后会生成 <code>LocalSettings.php</code>,请放到 MediaWiki 根目录。

本站实际配置:
* <code>$wgServer = "https://learn.houjue.digital";</code>
* <code>$wgScriptPath = "";</code>
* <code>$wgArticlePath = "/wiki/$1";</code>
* 上传目录:<code>/sgcos/images</code>(映射为 <code>/images</code>)

=== 4. 完成安装与安全加固(通用流程) ===
上传 LocalSettings 后即可通过站点访问。
* 锁定安装目录:<code>chmod -R 700 /var/www/mediawiki/mw-config</code>
* 确保 <code>LocalSettings.php</code> 权限为 600,Web 服务器可读。
* 关闭 config 目录写权限:
<syntaxhighlight lang="bash">
chmod a-w /var/www/mediawiki/config
</syntaxhighlight>

== 后续依赖与扩展 ==
=== php-wikidiff2 ===
改善差异显示,安装命令:
<syntaxhighlight lang="bash">
sudo apt install php-wikidiff2 -y
</syntaxhighlight>
配置:
<syntaxhighlight lang="php">
$wgDiffEngine = 'wikidiff2';
$wgDiff3 = '/usr/bin/diff3';
</syntaxhighlight>

=== php-luasandbox 与 Scribunto ===
安装 Lua 沙箱:
<syntaxhighlight lang="bash">
sudo apt install php-luasandbox -y
</syntaxhighlight>
启用扩展:
<syntaxhighlight lang="php">
wfLoadExtension('Scribunto');
$wgScribuntoEngineConf['luasandbox']['memoryLimit'] = 50 * 1024 * 1024;
</syntaxhighlight>

=== 多媒体工具 ===
* ffmpeg:<code>sudo apt install ffmpeg -y</code>
* poppler-utils(PDF 处理):<code>sudo apt install poppler-utils -y</code>
* Composer(依赖管理):<code>curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer</code>
* EasyTimeline/Score/PdfHandler 等扩展可根据需要分别安装 ploticus、perl、lilypond、ghostscript、imagemagick 等依赖。

== HTTPS 与短链接 ==
本站使用 Nginx,短链接与 HTTPS 参考:
<syntaxhighlight lang="nginx">
# 强制 HTTPS
return 301 https://$host$request_uri;

# MediaWiki 路由(示例,需结合你的站点结构)
location /wiki/ {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
</syntaxhighlight>

配合以下 LocalSettings:
<syntaxhighlight lang="php">
$wgScriptPath = '';
$wgArticlePath = '/wiki/$1';
</syntaxhighlight>

== 性能与维护 ==
* 使用缓存(APCu/Redis)加速页面与消息
* 启用 <code>$wgMainCacheType</code>、<code>$wgParserCacheType</code> 等缓存参数
* 定期运行维护脚本:
<syntaxhighlight lang="bash">
php /var/www/mediawiki/maintenance/run.php update.php
php /var/www/mediawiki/maintenance/run.php rebuildrecentchanges.php
php /var/www/mediawiki/maintenance/run.php refreshLinks.php
php /var/www/mediawiki/maintenance/run.php rebuildtextindex.php
php /var/www/mediawiki/maintenance/run.php runJobs.php
</syntaxhighlight>

== 故障排查 ==
* 页面渲染成 WikiText:检查 PHP-FPM/Nginx 是否正常、LocalSettings 是否可读
* 安装向导无法完成:检查文件夹权限,确保 <code>mw-config</code> 可写且临时可执行
* 文件上传失败:核实上传目录与权限(本站为 <code>/sgcos/images</code>)以及 PHP 限制与 <code>$wgFileExtensions</code> 设置
* 数据库连接出错:确认凭据、字符集(utf8mb4)及正确的数据库主机

{{Template:站点帮助文档}}

2026年1月12日 (一) 23:04的最新版本

说明 本指南结合 MediaWiki 官方文档与实际部署经验,概述通用安装流程,并结合本站(learn.houjue.digital)当前环境给出可直接复用的参数与命令。请始终以 官方安装指南 为权威来源,并根据自己的环境调整命令与路径。

环境准备

系统与组件

本站当前运行环境如下(可按需替换为你的实际版本):

  • 操作系统:Debian 12 (bookworm)
  • Web 服务器:Nginx 1.22.x
  • PHP:8.2.x(PHP-FPM)
  • 数据库:MariaDB 10.11.x

常用版本检查命令:

cat /etc/os-release
nginx -v
php -v
mysql --version

更新与依赖

根据本站当前部署(Debian 12 + Nginx + PHP 8.2 FPM + MariaDB),建议按以下方式更新与安装依赖:

sudo apt update && sudo apt upgrade -y
sudo apt install nginx mariadb-server php8.2-fpm php8.2-cli php8.2-mysql php8.2-gd php8.2-mbstring php8.2-xml php8.2-curl php8.2-zip php8.2-intl php8.2-apcu unzip git -y
# 多媒体与差异对比工具
sudo apt install ffmpeg poppler-utils imagemagick php-wikidiff2 -y

如需启用 Lua/时间线/乐谱等扩展,可按需补充:

# Scribunto
sudo apt install php-luasandbox -y
# EasyTimeline/Score 等
sudo apt install perl ploticus lilypond ghostscript -y

说明:本站使用 Nginx + PHP-FPM,如需 Apache 请改用对应包与配置;PHP-FPM 请确保与 Nginx 配置匹配。

安装步骤

1. 下载 MediaWiki(通用流程)

从官方 https://releases.wikimedia.org 下载当前稳定版本。示例命令:

cd /var/www
wget https://releases.wikimedia.org/mediawiki/1.45/mediawiki-1.45.0.tar.gz
tar -xzvf mediawiki-1.45.0.tar.gz
mv mediawiki-1.45.0 mediawiki

本站实际路径:/var/www/mediawiki,Web 用户为 www-data

2. 创建数据库与用户(通用流程)

登录数据库创建专用数据库与账号:

CREATE DATABASE my_wiki CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wikiuser'@'localhost' IDENTIFIED BY '强密码';
GRANT ALL PRIVILEGES ON my_wiki.* TO 'wikiuser'@'localhost';
FLUSH PRIVILEGES;

本站实际数据库配置(见 /var/www/learn.php):

  • 数据库:learn
  • 用户:learn
  • 主机:localhost

3. 运行安装向导(通用流程)

在浏览器打开 https://<你的域名或IP>/mw-config/,安装向导会依次要求填写环境检测、数据库信息、站点名称、管理员账号、上传目录等。 完成后会生成 LocalSettings.php,请放到 MediaWiki 根目录。

本站实际配置:

  • $wgServer = "https://learn.houjue.digital";
  • $wgScriptPath = "";
  • $wgArticlePath = "/wiki/$1";
  • 上传目录:/sgcos/images(映射为 /images

4. 完成安装与安全加固(通用流程)

上传 LocalSettings 后即可通过站点访问。

  • 锁定安装目录:chmod -R 700 /var/www/mediawiki/mw-config
  • 确保 LocalSettings.php 权限为 600,Web 服务器可读。
  • 关闭 config 目录写权限:
chmod a-w /var/www/mediawiki/config

后续依赖与扩展

php-wikidiff2

改善差异显示,安装命令:

sudo apt install php-wikidiff2 -y

配置:

$wgDiffEngine = 'wikidiff2';
$wgDiff3 = '/usr/bin/diff3';

php-luasandbox 与 Scribunto

安装 Lua 沙箱:

sudo apt install php-luasandbox -y

启用扩展:

wfLoadExtension('Scribunto');
$wgScribuntoEngineConf['luasandbox']['memoryLimit'] = 50 * 1024 * 1024;

多媒体工具

  • ffmpeg:sudo apt install ffmpeg -y
  • poppler-utils(PDF 处理):sudo apt install poppler-utils -y
  • Composer(依赖管理):curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer
  • EasyTimeline/Score/PdfHandler 等扩展可根据需要分别安装 ploticus、perl、lilypond、ghostscript、imagemagick 等依赖。

HTTPS 与短链接

本站使用 Nginx,短链接与 HTTPS 参考:

# 强制 HTTPS
return 301 https://$host$request_uri;

# MediaWiki 路由(示例,需结合你的站点结构)
location /wiki/ {
    try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}

配合以下 LocalSettings:

$wgScriptPath = '';
$wgArticlePath = '/wiki/$1';

性能与维护

  • 使用缓存(APCu/Redis)加速页面与消息
  • 启用 $wgMainCacheType$wgParserCacheType 等缓存参数
  • 定期运行维护脚本:
php /var/www/mediawiki/maintenance/run.php update.php
php /var/www/mediawiki/maintenance/run.php rebuildrecentchanges.php
php /var/www/mediawiki/maintenance/run.php refreshLinks.php
php /var/www/mediawiki/maintenance/run.php rebuildtextindex.php
php /var/www/mediawiki/maintenance/run.php runJobs.php

故障排查

  • 页面渲染成 WikiText:检查 PHP-FPM/Nginx 是否正常、LocalSettings 是否可读
  • 安装向导无法完成:检查文件夹权限,确保 mw-config 可写且临时可执行
  • 文件上传失败:核实上传目录与权限(本站为 /sgcos/images)以及 PHP 限制与 $wgFileExtensions 设置
  • 数据库连接出错:确认凭据、字符集(utf8mb4)及正确的数据库主机