Help:MediaWiki安装指南:修订间差异
删除的内容 添加的内容
Maintenance script(留言 | 贡献) 校对修改:修复强调文本前后多余空格、不一致的空格等问题 |
Maintenance script(留言 | 贡献) 校对修改:修复强调文本前后多余空格、不一致的空格等问题 |
||
第2行:
== 服务器配置 ==
'''地域和可用区''': 新加坡 | 新加坡一区
第15行:
月流量包 = 1024GB(峰值带宽 30Mbps)
公网IPv4 = 43.163.****
'''域名''':
第29行 ⟶ 第28行:
'''操作系统''': Debian GNU/Linux 12 (bookworm)
<syntaxhighlight lang="bash">
cat
</syntaxhighlight>
第35行 ⟶ 第34行:
* '''[https://www.bt.cn/new/download.html 宝塔Linux面板]''': 7.9.8
*
* '''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/
== 安装前准备 ==
第54行 ⟶ 第53行:
从官方下载页面获取最新的稳定版本(例如 1.44.0)。生产环境建议使用稳定版。
<syntaxhighlight lang="bash">
cd/www/wwwroot/# 使用 wget 下载,请替换为官网最新的稳定版本链接▼
▲# 使用 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
</syntaxhighlight>
第113行 ⟶ 第111行:
sudo apt-get install php-wikidiff2
# 查找扩展所在路径,通常不需要手动在 php.ini 中指定,宝塔面板的 PHP 管理可能已自动启用
find
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
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;
$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/
# 重写 wiki 页面路径
RewriteRule ^w/(.*)$
# 默认重写(必须放最后)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$
</syntaxhighlight>
第228行 ⟶ 第226行:
在 <code>LocalSettings.php</code> 中配置相应的动作路径和文章路径,以配合短链接:
<syntaxhighlight lang="php">
$wgScriptPath = "/mediawiki-1.44.0";
$wgArticlePath = "/w/$1";
$actions = [
'view', 'edit', 'watch', 'unwatch', 'delete', 'revert', 'rollback',
第239行 ⟶ 第235行:
foreach ($actions as $action) {
$wgActionPaths[$action] = "/w/$action/$1";
▲// 确保 'view' 动作使用上面设置的 $wgArticlePath
$wgActionPaths['view'] = $wgArticlePath;
</syntaxhighlight>
第259行 ⟶ 第254行:
设置目录权限:
<syntaxhighlight lang="bash">
chown -R www-data:www-data
chmod 755
</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 可访问目录下。
</syntaxhighlight>
第314行 ⟶ 第308行:
<syntaxhighlight lang="php">
$wgLogos = [
'1x' => "$wgResourceBasePath/resources/assets/logo.png",
'icon' => "$wgResourceBasePath/resources/assets/icon.png",
];
$wgFavicon = "$wgResourceBasePath/resources/assets/favicon.ico";
</syntaxhighlight>
第330行 ⟶ 第324行:
定期运行维护脚本以保持 Wiki 健康运行。
<syntaxhighlight lang="bash">
PHP_CLI=$(ls -d
$PHP_CLI maintenance/showJobs.php && \
第350行 ⟶ 第344行:
<syntaxhighlight lang="bash">
# 临时调整权限(安装后应改回)
chmod 755
# 如果使用 SELinux,可能需要调整上下文
semanage fcontext -a -t httpd_sys_rw_content_t "/www/wwwroot/mediawiki-1.44.0/config(/.*)?"
restorecon -R -v
</syntaxhighlight>
* '''页面显示 Wiki 标记(WikiText)而非渲染后的内容''':检查 PHP 解析是否正常,以及 <code>LocalSettings.php</code> 是否存在且可读。
| |||