“安装MW:安装与更新”的版本间差异

来自Wikioe
跳到导航 跳到搜索
(建立内容为“category:MediaWiki == 安装 == 安装需求:LAMP/LNMP(Windows等服务器亦可;本服务器采用LNMP,安装及注意与Wordpress类似),PHP7.2…”的新页面)
 
 
(未显示同一用户的20个中间版本)
第1行: 第1行:
[[category:MediaWiki]]
[[category:MediaWiki]]


== 安装 ==
== 关于 ==
安装需求:LAMP/LNMP(Windows等服务器亦可;本服务器采用LNMP,安装及注意与Wordpress类似),PHP7.2.9及以上(含有Perl兼容正则表达式、含有标准PHP库、含有JSON支持)、MySQL5.5.8及以上(/MariaDB/PostgreSQL9.2+/SQLite 3.8+)。<br/>
关于获取 MediaWiki 的站点:
<blockquote>'''与PHP 7.4.0至7.4.2不兼容!Oracle与Microsoft SQL Server不再被支持!'''</blockquote><br/>
1、[https://github.com/wikimedia/mediawiki GitHub:MediaWiki]
2、[https://releases.wikimedia.org/mediawiki/ MediaWiki Releases]
3、[https://lists.wikimedia.org/pipermail/mediawiki-announce/2020-September/000258.html MediaWiki消息站点](发布时间会早一点)。
 
'''获取 MediaWiki:'''
# 在服务器,通过 git 拉取 [https://github.com/wikimedia/mediawiki MediaWiki 项目分支]。
#* 服务器需安装 git,且能连接到 GitHub。
# 在服务器,使用 wget 下载 WikiMedia.org 上的发布包。
#: 例如:<syntaxhighlight lang="bash" inline>wget -P /www/wwwroot/ https://releases.wikimedia.org/mediawiki/1.35/mediawiki-1.35.0-rc.3.tar.gz</syntaxhighlight>。
#* 服务器须能连接到 WikiMedia。
# '''先下载到到本地,再通过 Xftp 等工具上传到 Server'''。
#* 若服务器不能连接到 Github、WikiMedia。
 
'''注意:'''
* 通过 <syntaxhighlight lang="bash" inline>git clone</syntaxhighlight> 或 download code zip 的时候,可能未拉取子模块,需要 <syntaxhighlight lang="bash" inline>git submodule update</syntaxhighlight> 或单独去 download 那些(对应分支)子模块的代码。
** 子模块的信息在 <code>'''.gitmodules'''</code> 文件中。
* 下载或拉取的发布包若“核心包”(如:mediawiki-core-1.35.0-rc.3.tar.gz)则包内不包含任何扩展。
 
== '''服务器准备''' ==
安装需求:LAMP/LNMP(Windows 等服务器亦可;本服务器采用 LNMP,安装及注意与 Wordpress 类似),PHP 7.2.9 及以上(含有 Perl 兼容正则表达式、含有标准 PHP 库、含有 JSON 支持)、MySQL 5.5.8 及以上(MariaDB / PostgreSQL9.2+ / SQLite 3.8+)。
<blockquote>'''与 PHP 7.4.0 至 7.4.2 不兼容!Oracle 与 Microsoft SQL Server 不再被支持!'''</blockquote>
通过 <span style="color: blue; font-size: 130%">'''宝塔面板'''</span> <ref>对于某些软件(如“'''Mysql'''”):“'''编译安装'''”时有CPU、内存要求,“'''极速安装'''”则没有或降低了要求。</ref>简化服务器准备过程。
 
 
步骤:
# 确保 <span style="color: blue">'''LNMP'''</span> 环境;(LAMP 亦可)
#* 注意:各版本 MediaWiki 支持的的 PHP 版本同步。
# PHP 设置:
## '''安装插件''':<span style="color: blue">'''fileinfo'''、'''opcache'''、'''memcached'''、'''Intl'''</span>
## '''移除禁用函数''':<span style="color: blue">'''proc_open'''、'''symlink'''、'''putenv'''</span>;
# 添加站点(如:“wiki.eijux.com”)。
 
== 安装过程<ref>参考:[https://www.mediawiki.org/wiki/Manual:Installing_MediaWiki Manual:Installing MediaWiki]</ref> ==
步骤:
步骤:
{| class="wikitable" style="width: 100%;"
# 上传、解压 MediaWiki 到站点目录;
#* 如果使用宝塔面板,则是“'''/www/wwwroot/<站点根目录>'''”下。
#* 需要修改该路径下所有文件的所有者:'''<syntaxhighlight lang="bash" inline>chown -Rf www:www <站点根目录>/*</syntaxhighlight>'''。
# 访问 wiki 站点:“<span style="color: blue">http://<域名 | IP>/'''[<站点根目录_TO_MediaWiki根目录>/]'''/index.php</span>”;
#* 示例:
#*: 如果 index.php 目录为“/www/wwwroot/<站点根目录>'''/index.php'''”,则访问“http://<域名 | IP>'''/index.php'''”;
#*: 如果 index.php 目录为“/www/wwwroot/<站点根目录>'''/wiki/index.php'''”,则访问“http://<域名 | IP>'''/wiki/index.php'''”;
# 执行安装:
::{| class="wikitable" style="width: 100%;"
|-
|-
! style="width: 20%;" | 步骤  
! style="width: 20%;" | 步骤  
第14行: 第56行:
# 语言
# 语言
# 设置数据库
# 设置数据库
# wiki名称
# wiki 名称
# 配置选项
# 配置选项
# 确认安装
# 确认安装
# 安装完成
# 安装完成
# 下载LocalSettings.php并上传到服务器MediaWiki根目录
# 下载 LocalSettings.php 并上传到服务器 MediaWiki 根目录
# 修改服务器LocalSettings.php文件属性
# 修改服务器 LocalSettings.php 文件属性
# 完成安装成功访问
# 完成安装成功访问
|
|
<gallery mode="slideshow">
<gallery mode="slideshow">
第37行: 第78行:
|}
|}


== 配置 ==
== 更新升级<ref>参考:[https://www.mediawiki.org/wiki/Manual:Upgrading Manual:Upgrading]</ref> ==
MediaWiki的配置文件有两处:
注意:
# '''/www/wwwroot/xxx.com/includes/DefaultSettings.php''' : 系统默认的配置文件;
# '''/www/wwwroot/xxx.com/LocalSettings.php''' : 用户设置的配置文件;
'''更新''':小版本的更新(如1.34.0 → 1.34.2),一般直接更新就可以了,不需要对服务器的基础支持相关进行安装或升级。
主要在LocalSettings.php中进行设置和覆盖相应配置,对DefaultSettings.php只是做较少的修改<br/>
'''升级''':大版本的升级(1.34.2 → 1.35.0),要注意新版本的'''系统需求'''(如:PHP版本、PHP插件等),以及“'''两个 LTS 之间的版本才能之间升级'''”(否则,需要升级到一个LTS,再升级到第二个LTS)。
(更新之前,维护一下“[[站点日志]]”,记录一下新版本的系统需求、特性,养成习惯)
 
=== 文件备份 ===
包括:
# 配置文件:<span style="color: blue">'''LocalSettings.php'''</span>;
#* 如果修改过<span style="color: green">'''数据库配置'''</span>,则需要在配置文件中更新。
# 上传文件夹:<span style="color: blue">'''./images'''</span>;
# 扩展文件夹:<span style="color: blue">'''./extensions'''</span>;
#* 部分扩展可能也需要更新(最好都重新下载更新一遍)。
# 修改过的内容;
#: 如:'''./includes/DefaultSettings.php'''
# 添加过的内容。
#: 如:<span style="color: blue">'''logo、Favicon'''</span>(位置由 LocalSettings.php 配置)、skins(皮肤)、vendor(依赖)等。
 
=== 文件替换 ===
步骤:
# 解压安装包:
#:<syntaxhighlight lang="bash" highlight="">
tar -zxvf mediawiki-1.35.0-rc.2.tar.gz


=== 修改默认logo ===
#
LocalSettings.php中,'''''$wgLogo = "$wgResourceBasePath/resources/assets/wiki.png"'''''。<br/>
更改logo的方法有两种,
# 替换“./resources/assets/wiki.png”为同名图片(不建议,因为更新系统时会覆盖该默认图片);
# 另行制定其他路径下的自定义图片,如“$wgLogo = "$wgResourceBasePath/images/logo.jpg"”。
<pre>
## The URL path to the logo.  Make sure you change this from the default,
## or else you'll overwrite your logo when you upgrade!
$wgLogo = "$wgResourceBasePath/resources/assets/wiki.png";
</pre>


=== 去除底部的power by图标 ===
unzip mediawiki-REL1_35.zip -d /www/wwwroot/
LocalSettings.php中,加入 '''''unset($wgFooterIcons['poweredby']);'''''。
</syntaxhighlight>
#*(把不需要的内容删除)
# 移除旧版本;
#: <syntaxhighlight lang="bash" highlight="">
rm -rf wiki.eijux.com/
</syntaxhighlight>
#*(可以保留需要备份的内容)
# 安装文件替换:
#: <syntaxhighlight lang="bash" highlight="">
# 移动
mv -f mediawiki-1.35.0-rc.2/* wiki.eijux.com/


=== 修改皮肤 ===
# 复制
LocalSettings.php中,'''''$wgDefaultSkin = "vector";'''''。<br/>
yes|cp -rf mediawiki-REL1_35/* wiki.eijux.com/
MediaWiki的皮肤位于“./skins”中,可在网络下载并上传至服务器中(并修改皮肤文件读写权限及所有者),并在LocalSettings.php中加载皮肤(如'''''wfLoadSkin( 'Vector' );''''')。
</syntaxhighlight>
<pre>
# 替换备份文件。
## Default skin: you can change the default skin. Use the internal symbolic
# 更新网站文件归属及读写权限:
## names, ie 'vector', 'monobook', 'timeless':
#: <syntaxhighlight lang="bash" highlight="">
$wgDefaultSkin = "vector";
# 文件归属者、组
chown -Rf www:www wiki.eijux.com/*


# Enabled skins.
# 文件权限
# The following skins were automatically enabled:
chmod -Rf 775 wiki.eijux.com/*
wfLoadSkin( 'MonoBook' );
</syntaxhighlight>
wfLoadSkin( 'Timeless' );
wfLoadSkin( 'Vector' );
</pre>


=== 上传文件设定 ===
=== 执行升级 ===
LocalSettings中,'''''$wgEnableUploads = true;''''';<br/>
文件替换之后,也能直接访问 MediaWiki,但是使用时(涉及查找的操作和页面)可能出现错误:
MediaWiki中允许上传文件类型限制配置(默认支持'png','gif', 'jpg', 'jpeg', 'webp'),可参阅DefaultSettings.php中'''''$wgFileExtensions'''''的值,如:
<pre>$wgFileExtensions = [ 'png', 'gif', 'jpg', 'jpeg', 'webp' ];</pre>
    [[File:MediaWiki:数据错误.png|800px]]
而不允许的文件类型在参数'''''$wgFileBlacklist'''''中设定,如:
<pre>
$wgFileBlacklist = [
:# HTML may contain cookie-stealing JavaScript and web bugs
'html', 'htm', 'js', 'jsb', 'mhtml', 'mht', 'xhtml', 'xht',
# PHP scripts may execute arbitrary code on the server
'php', 'phtml', 'php3', 'php4', 'php5', 'phps', 'phar',
# Other types that may be interpreted by some servers
'shtml', 'jhtml', 'pl', 'py', 'cgi',
# May contain harmful executables for Windows victims
'exe', 'scr', 'dll', 'msi', 'vbs', 'bat', 'com', 'pif', 'cmd', 'vxd', 'cpl' ];
</pre>
登录后通过导航栏或特殊页面中的上传文件链接上传文件。用'''''<nowiki>[[File:文件名]]</nowiki>'''''在页面中引用文件,如果引入的是图片文件,还可以指定图片宽度('''''<nowiki>[[File:Example.jpg|200px]]</nowiki>'''''),加入图片说明('''''<nowiki>[[File:Example.jpg|图片1]]</nowiki>'''''),设置方框效果('''''<nowiki>[[File:Filename.jpg|thumb]]</nowiki>''''')。<br/>


=== 修改导航栏 ===
'''步骤:'''
通过wiki地址 ''index.php?title=MediaWiki''[http://wiki.eijux.com/index.php?title=MediaWiki:Sidebar MediaWiki:Sidebar] ),或者在搜索栏中输入“mediawiki:sidebar”,进入页面后点击编辑即可。<br/>
# 访问安装页面:<span style="color: blue">http://<域名 | IP>/'''[<站点根目录_TO_MediaWiki根目录>/]'''/mw-config/index.php</span>;
# 依次完成安装过程。
#* 升级密钥:“'''LocalSettings.php'''”中的“<span style="color: blue">'''$wgUpgradeKey'''</span>”)。


导航栏格式如下:
== 站点迁移<ref>参考:[https://www.mediawiki.org/wiki/Manual:Moving_a_wiki Manual:Moving a wiki]</ref> ==
<pre>
若没有站点迁移工具,则需要手动执行迁移。其过程,大概就是:依次执行一遍上述内容。
*导航栏名称一
**链接一地址|链接一名称
**链接二地址|链接二名称


*导航栏名称二
步骤:
**链接一地址|链接一名称
# '''数据库备份,站点备份''';
**链接二地址|链接二名称
#* 如果某些情况下(如:配置过“<span style="color: green">'''短链接'''</span>”<ref>[[配置MW:短链接]]</ref>、处理过“<span style="color: green">'''open_basedir 问题'''</span>”<ref>[[FAQ:MediaWiki#open_basedir 问题]]</ref>),同样应该<span style="color: blue">'''备份服务器站点配置'''</span>。
</pre>
# 服务器准备。
## [[#服务器准备]];
## 恢复“备份的服务器站点配置”;
# '''数据库导入'''。
#* Mysql 5.7 导入 8.0 后,数据库大小似乎有变化,但是记录并无任何丢失。
# '''站点导入'''。
#* 若仅迁移,则直接导入站点备份即可;
#* 若需升级,则安装新版本后,以站点备份部分导入。


=== 用户组 ===
== 参考 ==
MediaWiki中有3个用户组:机器人/管理员/行政员,每个用户组的具体权限可通过”特殊页面” -> “用户组权限”查看;<br/>
<references/>
通过首页中”创建用户”注册的用户默认不属于任何用户组;<br/>
从属于行政员用户组的用户,可通过”特殊页面” -> “用户权限管理”给其他用户分配用户组。
=== 清除页面缓存 ===
DefaultSettings.php中,找到参数'''''$wgCacheEpoch''''',将参数值置为当前时间,可以取消全部已经缓存的页面(包括客户端和服务器端)。
<pre>
/**
* Set this to current time to invalidate all prior cached pages. Affects both
* client-side and server-side caching.
* You can get the current date on your server by using the command:
* @verbatim
*  date +%Y%m%d%H%M%S
* @endverbatim
*/
$wgCacheEpoch = '20030516000000';
</pre>

2022年8月23日 (二) 22:53的最新版本


关于

关于获取 MediaWiki 的站点:
1、GitHub:MediaWiki
2、MediaWiki Releases
3、MediaWiki消息站点(发布时间会早一点)。

获取 MediaWiki:

  1. 在服务器,通过 git 拉取 MediaWiki 项目分支
    • 服务器需安装 git,且能连接到 GitHub。
  2. 在服务器,使用 wget 下载 WikiMedia.org 上的发布包。
    例如:wget -P /www/wwwroot/ https://releases.wikimedia.org/mediawiki/1.35/mediawiki-1.35.0-rc.3.tar.gz
    • 服务器须能连接到 WikiMedia。
  3. 先下载到到本地,再通过 Xftp 等工具上传到 Server
    • 若服务器不能连接到 Github、WikiMedia。

注意:

  • 通过 git clone 或 download code zip 的时候,可能未拉取子模块,需要 git submodule update 或单独去 download 那些(对应分支)子模块的代码。
    • 子模块的信息在 .gitmodules 文件中。
  • 下载或拉取的发布包若“核心包”(如:mediawiki-core-1.35.0-rc.3.tar.gz)则包内不包含任何扩展。

服务器准备

安装需求:LAMP/LNMP(Windows 等服务器亦可;本服务器采用 LNMP,安装及注意与 Wordpress 类似),PHP 7.2.9 及以上(含有 Perl 兼容正则表达式、含有标准 PHP 库、含有 JSON 支持)、MySQL 5.5.8 及以上(MariaDB / PostgreSQL9.2+ / SQLite 3.8+)。

与 PHP 7.4.0 至 7.4.2 不兼容!Oracle 与 Microsoft SQL Server 不再被支持!

通过 宝塔面板 [1]简化服务器准备过程。


步骤:

  1. 确保 LNMP 环境;(LAMP 亦可)
    • 注意:各版本 MediaWiki 支持的的 PHP 版本同步。
  2. PHP 设置:
    1. 安装插件fileinfoopcachememcachedIntl
    2. 移除禁用函数proc_opensymlinkputenv
  3. 添加站点(如:“wiki.eijux.com”)。

安装过程[2]

步骤:

  1. 上传、解压 MediaWiki 到站点目录;
    • 如果使用宝塔面板,则是“/www/wwwroot/<站点根目录>”下。
    • 需要修改该路径下所有文件的所有者:chown -Rf www:www <站点根目录>/*
  2. 访问 wiki 站点:“http://<域名 | IP>/[<站点根目录_TO_MediaWiki根目录>/]/index.php”;
    • 示例:
      如果 index.php 目录为“/www/wwwroot/<站点根目录>/index.php”,则访问“http://<域名 | IP>/index.php”;
      如果 index.php 目录为“/www/wwwroot/<站点根目录>/wiki/index.php”,则访问“http://<域名 | IP>/wiki/index.php”;
  3. 执行安装:
步骤 截图
  1. 欢迎使用
  2. 语言
  3. 设置数据库
  4. wiki 名称
  5. 配置选项
  6. 确认安装
  7. 安装完成
  8. 下载 LocalSettings.php 并上传到服务器 MediaWiki 根目录
  9. 修改服务器 LocalSettings.php 文件属性
  10. 完成安装成功访问

更新升级[3]

注意:

更新:小版本的更新(如1.34.0 → 1.34.2),一般直接更新就可以了,不需要对服务器的基础支持相关进行安装或升级。
升级:大版本的升级(1.34.2 → 1.35.0),要注意新版本的系统需求(如:PHP版本、PHP插件等),以及“两个 LTS 之间的版本才能之间升级”(否则,需要升级到一个LTS,再升级到第二个LTS)。


(更新之前,维护一下“站点日志”,记录一下新版本的系统需求、特性,养成习惯)

文件备份

包括:

  1. 配置文件:LocalSettings.php
    • 如果修改过数据库配置,则需要在配置文件中更新。
  2. 上传文件夹:./images
  3. 扩展文件夹:./extensions
    • 部分扩展可能也需要更新(最好都重新下载更新一遍)。
  4. 修改过的内容;
    如:./includes/DefaultSettings.php
  5. 添加过的内容。
    如:logo、Favicon(位置由 LocalSettings.php 配置)、skins(皮肤)、vendor(依赖)等。

文件替换

步骤:

  1. 解压安装包:
    tar -zxvf mediawiki-1.35.0-rc.2.tar.gz
    
    # 或
    
    unzip mediawiki-REL1_35.zip -d /www/wwwroot/
    
    • (把不需要的内容删除)
  2. 移除旧版本;
    rm -rf wiki.eijux.com/
    
    • (可以保留需要备份的内容)
  3. 安装文件替换:
    # 移动
    mv -f mediawiki-1.35.0-rc.2/* wiki.eijux.com/
    
    # 复制
    yes|cp -rf mediawiki-REL1_35/* wiki.eijux.com/
    
  4. 替换备份文件。
  5. 更新网站文件归属及读写权限:
    # 文件归属者、组
    chown -Rf www:www wiki.eijux.com/*
    
    # 文件权限
    chmod -Rf 775 wiki.eijux.com/*
    

执行升级

文件替换之后,也能直接访问 MediaWiki,但是使用时(涉及查找的操作和页面)可能出现错误:

    MediaWiki:数据错误.png

步骤:

  1. 访问安装页面:http://<域名 | IP>/[<站点根目录_TO_MediaWiki根目录>/]/mw-config/index.php
  2. 依次完成安装过程。
    • 升级密钥:“LocalSettings.php”中的“$wgUpgradeKey”)。

站点迁移[4]

若没有站点迁移工具,则需要手动执行迁移。其过程,大概就是:依次执行一遍上述内容。

步骤:

  1. 数据库备份,站点备份
    • 如果某些情况下(如:配置过“短链接[5]、处理过“open_basedir 问题[6]),同样应该备份服务器站点配置
  2. 服务器准备。
    1. #服务器准备
    2. 恢复“备份的服务器站点配置”;
  3. 数据库导入
    • Mysql 5.7 导入 8.0 后,数据库大小似乎有变化,但是记录并无任何丢失。
  4. 站点导入
    • 若仅迁移,则直接导入站点备份即可;
    • 若需升级,则安装新版本后,以站点备份部分导入。

参考

  1. 对于某些软件(如“Mysql”):“编译安装”时有CPU、内存要求,“极速安装”则没有或降低了要求。
  2. 参考:Manual:Installing MediaWiki
  3. 参考:Manual:Upgrading
  4. 参考:Manual:Moving a wiki
  5. 配置MW:短链接
  6. FAQ:MediaWiki#open_basedir 问题