Help:MediaWiki安装指南:修订间差异

删除的内容 添加的内容
Maintenance script​(留言 | 贡献)
校对修改:修复强调文本前后多余空格、不一致的空格等问题
Maintenance script​(留言 | 贡献)
校对修改:修复强调文本前后多余空格、不一致的空格等问题
第2行:
 
== 服务器配置 ==
'''服务器提供商''': [https://cloud.tencent.com/product/lighthouse 腾讯云]-轻量云(轻量应用服务器)
 
'''地域和可用区''': 新加坡 | 新加坡一区
第15行:
月流量包 = 1024GB(峰值带宽 30Mbps)
公网IPv4 = 43.163.****
 
 
'''域名''':
第29行 ⟶ 第28行:
'''操作系统''': Debian GNU/Linux 12 (bookworm)
<syntaxhighlight lang="bash">
cat /etc/os-release
</syntaxhighlight>
 
第35行 ⟶ 第34行:
 
* '''[https://www.bt.cn/new/download.html 宝塔Linux面板]''': 7.9.8
*'''[https://httpd.apache.org/ Apache httpd]''': 2.4.65
* '''MySQL''': 8.0.36 (MediaWiki 最低要求 5.7。大内存机器可考虑 8.0+,官方也推荐 MongoDB)
* '''PHP''': 8.2.29 (MediaWiki 1.44.0 支持 PHP 8.1 - 8.3,推荐使用 8.2)
* '''[https://www.phpmyadmin.net/downloads/ phpMyAdmin]''': 5.2(可通过宝塔安装)
 
== 安装前准备 ==
第54行 ⟶ 第53行:
从官方下载页面获取最新的稳定版本(例如 1.44.0)。生产环境建议使用稳定版。
<syntaxhighlight lang="bash">
cd/www/wwwroot/# 使用 wget 下载,请替换为官网最新的稳定版本链接▼
cd /www/wwwroot/
▲# 使用 wget 下载,请替换为官网最新的稳定版本链接
wget https://releases.wikimedia.org/mediawiki/1.44/mediawiki-1.44.0.tar.gz
tar -xzvf mediawiki-1.44.0.tar.gz
第101行 ⟶ 第99行:
'''安全建议''':安装完成后,可以考虑移除 <code>config</code> 目录的世界可写权限:
<syntaxhighlight lang="bash">
chmod a-w /www/wwwroot/mediawiki-1.44.0/config
</syntaxhighlight>
 
第113行 ⟶ 第111行:
sudo apt-get install php-wikidiff2
# 查找扩展所在路径,通常不需要手动在 php.ini 中指定,宝塔面板的 PHP 管理可能已自动启用
find /usr/lib/ -name wikidiff2.so
php -m | grep wikidiff2 # 检查是否已加载
</syntaxhighlight>
第131行 ⟶ 第129行:
<syntaxhighlight lang="php">
wfLoadExtension( 'Scribunto' );
$wgScribuntoEngineConf['luasandbox']['memoryLimit'] = 50 * 1024 * 1024; // 可根据需要调整内存限制
</syntaxhighlight>
 
第146行 ⟶ 第144行:
# 安装 Composer (具体命令请参考 getcomposer.org)
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
composer --version # 验证安装
</syntaxhighlight>
第165行 ⟶ 第163行:
$wgTimelinePloticusCommand = '/usr/bin/ploticus';
$wgTimelinePerlCommand = "/usr/bin/perl";
$wgTimelineFontDirectory = "/usr/share/fonts/truetype/freefont"; // 字体路径请根据系统实际情况调整
$wgTimelineFontFile = 'ascii'; // 字体文件名请根据系统实际情况调整
</syntaxhighlight>
 
第178行 ⟶ 第176行:
$wgScoreTrim = true;
$wgImageMagickConvertCommand = '/usr/bin/convert';
$wgScoreSafeMode = false; // 注意:关闭安全模式可能有安全风险,请确保系统安全
$wgScoreLame = '/usr/bin/lame';
</syntaxhighlight>
第190行 ⟶ 第188行:
<syntaxhighlight lang="php">
$wgPdfProcessor = '/usr/bin/gs';
$wgPdfPostProcessor = $wgImageMagickConvertCommand; // 假设 $wgImageMagickConvertCommand 已定义为 '/usr/bin/convert'
$wgPdfInfo = '/usr/bin/pdfinfo';
$wgPdftoText = '/usr/bin/pdftotext';
第214行 ⟶ 第212行:
RewriteCond %{REQUEST_URI} !^/load.php [NC]
RewriteCond %{REQUEST_URI} !^/api.php [NC]
RewriteCond %{REQUEST_URI} !^/images/ [NC]
 
# 重写 wiki 页面路径
RewriteRule ^w/(.*)$ /index.php?title=$1 [L,QSA]
 
# 默认重写(必须放最后)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [L,QSA]
 
</syntaxhighlight>
第228行 ⟶ 第226行:
在 <code>LocalSettings.php</code> 中配置相应的动作路径和文章路径,以配合短链接:
<syntaxhighlight lang="php">
$wgScriptPath = "/mediawiki-1.44.0"; // MediaWiki 的安装路径,根据实际情况修改
$wgArticlePath = "/w/$1"; // 设置文章短链接路径//以下代码为各种动作定义短链接路径(需与 .htaccess 规则配合)
 
// 以下代码为各种动作定义短链接路径(需与 .htaccess 规则配合)
$actions = [
'view', 'edit', 'watch', 'unwatch', 'delete', 'revert', 'rollback',
第239行 ⟶ 第235行:
foreach ($actions as $action) {
$wgActionPaths[$action] = "/w/$action/$1";
}// 确保 'view' 动作使用上面设置的 $wgArticlePath▼
}
▲// 确保 'view' 动作使用上面设置的 $wgArticlePath
$wgActionPaths['view'] = $wgArticlePath;
</syntaxhighlight>
第259行 ⟶ 第254行:
设置目录权限:
<syntaxhighlight lang="bash">
chown -R www-data:www-data /www/wwwroot/mediawiki-1.44.0/images # 确保 Web 服务器用户有写权限
chmod 755 /www/wwwroot/mediawiki-1.44.0/images
</syntaxhighlight>
 
第269行 ⟶ 第264行:
 
=== PHP 配置 ===
'''需要启用的扩展''':
通过宝塔面板的 PHP 管理界面或编辑 <code>php.ini</code>,确保以下扩展已启用(大部分可能已默认安装或启用):
<syntaxhighlight lang="bash">
第302行 ⟶ 第297行:
$wgDBname = 'my_wiki';
$wgDBuser = 'wikiuser';
$wgDBpassword = '****'; // 替换为实际密码
?>
</syntaxhighlight>
2. 在 <code>LocalSettings.php</code> 开头包含此文件:
<syntaxhighlight lang="php">
include('/www/wwwroot/lib.php');//注意:确保 lib.php 文件权限严格(如 600),且不在 Web 可访问目录下。
// 注意:确保 lib.php 文件权限严格(如 600),且不在 Web 可访问目录下。
</syntaxhighlight>
 
第314行 ⟶ 第308行:
<syntaxhighlight lang="php">
$wgLogos = [
'1x' => "$wgResourceBasePath/resources/assets/logo.png", // 替换为您的 logo 路径
'icon' => "$wgResourceBasePath/resources/assets/icon.png", // 替换为您的图标路径
];
$wgFavicon = "$wgResourceBasePath/resources/assets/favicon.ico"; // 替换为您的 favicon 路径
</syntaxhighlight>
 
第330行 ⟶ 第324行:
定期运行维护脚本以保持 Wiki 健康运行。
<syntaxhighlight lang="bash">
PHP_CLI=$(ls -d /www/server/php/*/bin/php | head -n1)
 
$PHP_CLI maintenance/showJobs.php && \
第350行 ⟶ 第344行:
<syntaxhighlight lang="bash">
# 临时调整权限(安装后应改回)
chmod 755 /www/wwwroot/mediawiki-1.44.0/config
# 如果使用 SELinux,可能需要调整上下文
semanage fcontext -a -t httpd_sys_rw_content_t "/www/wwwroot/mediawiki-1.44.0/config(/.*)?"
restorecon -R -v /www/wwwroot/mediawiki-1.44.0/config
</syntaxhighlight>
* '''页面显示 Wiki 标记(WikiText)而非渲染后的内容''':检查 PHP 解析是否正常,以及 <code>LocalSettings.php</code> 是否存在且可读。