“安装MW:安装与更新”的版本间差异
		
		
		
		
		
		跳到导航
		跳到搜索
		
				
		
		
	
小 (Eijux移动页面安装MW:安装与配置至安装MW:安装与更新,不留重定向)  | 
				无编辑摘要  | 
				||
| 第1行: | 第1行: | ||
[[category:MediaWiki]]  | [[category:MediaWiki]]  | ||
==   | == 关于 ==  | ||
安装需求:LAMP/  |  关于获取 MediaWiki 的站点:  | ||
<blockquote>'''  |  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">'''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.xxx.com”,并修改站点配置文件():  | |||
## 添加内容:(否则整个站点都无法访问<ref name="nginx_error">参见:[[FAQ:MediaWiki#404 Not Found nginx]]</ref>)  | |||
##: <syntaxhighlight lang="bash" line highlight="3-31">  | |||
...  | |||
    #修改短链接, by Eijux at 2020/09/09 03:14:50  | |||
    #begin  | |||
    location ~ \.ht {  | |||
        deny all;  | |||
    }  | |||
    location / {  | |||
        try_files $uri $uri/ @rewrite;  | |||
    }  | |||
    location @rewrite {  | |||
        rewrite ^/(.*)$ /index.php;  | |||
    }  | |||
    location ^~ /maintenance/ {  | |||
        return 403;  | |||
    }  | |||
    location ~ \.php$ {  | |||
        include /www/server/nginx/conf/fastcgi_params;  | |||
        fastcgi_pass  unix:/tmp/php-cgi-73.sock;  | |||
        fastcgi_index index.php;  | |||
        fastcgi_param  SCRIPT_FILENAME	$document_root$fastcgi_script_name;  | |||
        try_files $uri @rewrite;  | |||
    }  | |||
    #end  | |||
...  | |||
</syntaxhighlight>  | |||
## 修改内容:(否则“.js/.css/.png”等内容都无法访问<ref name="nginx_error" />)  | |||
##: <syntaxhighlight lang="bash" line highlight="9-10,19-20">  | |||
...  | |||
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$  | |||
    {  | |||
        expires      30d;  | |||
        error_log /dev/null;  | |||
        access_log /dev/null;  | |||
        #允许访问内容, by Eijux at 2020/09/09 03:14:50  | |||
        try_files $uri @rewrite;  | |||
    }  | |||
    location ~ .*\.(js|css)?$  | |||
    {  | |||
        expires      12h;  | |||
        error_log /dev/null;  | |||
        access_log /dev/null;  | |||
        #允许访问内容, by Eijux at 2020/09/09 03:14:50  | |||
        try_files $uri @rewrite;  | |||
    }  | |||
...  | |||
</syntaxhighlight>  | |||
== 安装过程 ==  | |||
步骤:  | 步骤:  | ||
{| class="wikitable" style="width: 100%;"  | {| class="wikitable" style="width: 100%;"  | ||
| 第37行: | 第134行: | ||
|}  | |}  | ||
==   | == 更新升级 ==  | ||
 注意:  | |||
 '''更新''':小版本的更新(如1.34.0 → 1.34.2),一般直接更新就可以了,不需要对服务器的基础支持相关进行安装或升级。  | |||
 '''升级''':大版本的升级(1.34.2 → 1.35.0),要注意新版本的'''系统需求'''(如:PHP版本、PHP插件等),以及“'''两个 LTS 之间的版本才能之间升级'''”(否则,需要升级到一个LTS,再升级到第二个LTS)。  | |||
 (更新之前,维护一下“[[站点日志]]”,记录一下新版本的系统需求、特性,养成习惯)  | |||
===   | === 文件备份 ===  | ||
LocalSettings.  | 包括:  | ||
# 配置文件:<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'''</span>(位于“<span style="color: green">'''./resources/assets'''</span>”)、skins[皮肤]、vendor[依赖] 等。  | |||
<syntaxhighlight lang="  | === 文件替换 ===  | ||
步骤:  | |||
# 解压安装包:  | |||
#:<syntaxhighlight lang="bash" highlight="">  | |||
tar -zxvf mediawiki-1.35.0-rc.2.tar.gz  | |||
# 或  | |||
=  | unzip mediawiki-REL1_35.zip -d /www/wwwroot/  | ||
</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/  | |||
#   | # 复制  | ||
#   | yes|cp -rf mediawiki-REL1_35/* wiki.eijux.com/  | ||
</syntaxhighlight>  | |||
# 替换备份文件。  | |||
# 更新网站文件归属及读写权限:  | |||
#: <syntaxhighlight lang="bash" highlight="">  | |||
# 文件归属者、组  | |||
chown -Rf www:www wiki.eijux.com/*  | |||
# 文件权限  | |||
chmod -Rf 775 wiki.eijux.com/*  | |||
</syntaxhighlight>  | |||
===   | === 执行升级 ===  | ||
 文件替换之后,也能直接访问 MediaWiki,但是使用时(涉及查找的操作和页面)可能出现错误:  | |||
     [[File:MediaWiki:数据错误.png|800px]]  | |||
'''步骤:'''  | |||
<  | # 访问安装页面:<big>'''[http://wiki.eijux.com/mw-config/index.php http://wiki.eijux.com/mw-config/index.php]'''</big>;  | ||
# 依次完成安装过程。  | |||
*  | #* 升级密钥:“'''LocalSettings.php'''”中的“<span style="color: blue">'''$wgUpgradeKey'''</span>”)。  | ||
== 站点迁移 ==  | |||
 若没有站点迁移工具,则需要手动执行迁移。其过程,大概就是:依次执行一遍上述内容。  | |||
步骤:  | |||
# '''数据库备份,站点备份''';  | |||
# 服务器准备。  | |||
# '''数据库导入'''。  | |||
#* Mysql 5.7 导入 8.0 后,数据库大小似乎有变化,但是记录并无任何丢失。  | |||
# '''站点导入'''。  | |||
#* 若仅迁移,则直接导入站点备份即可;  | |||
#* 若需升级,则安装新版本后,以站点备份部分导入。  | |||
2022年8月22日 (一) 04:04的版本
关于
关于获取 MediaWiki 的站点: 1、GitHub:MediaWiki 2、MediaWiki Releases 3、MediaWiki消息站点(发布时间会早一点)。
获取 MediaWiki:
- 在服务器,通过 git 拉取MediaWiki 项目分支。
- 服务器需安装 git,且能连接到 GitHub。
 
 - 在服务器,使用 wget 下载 WikiMedia.org 上的发布包。
- 例如:
wget -P /www/wwwroot/ https://releases.wikimedia.org/mediawiki/1.35/mediawiki-1.35.0-rc.3.tar.gz。 
- 服务器须能连接到 WikiMedia。
 
 - 例如:
 - 先下载到到本地,再通过 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 不再被支持!
通过宝塔面板简化服务器准备过程。
步骤:
- 确保 LNMP 环境;(LAMP 亦可)
- 注意:各版本 MediaWiki 支持的的 PHP 版本同步。
 
 - PHP 设置:
- 安装插件:fileinfo、opcache、memcached、Intl;
 - 移除禁用函数:proc_open、symlink、putenv;
 
 - 添加站点“wiki.xxx.com”,并修改站点配置文件():
- 添加内容:(否则整个站点都无法访问[1])
... #修改短链接, by Eijux at 2020/09/09 03:14:50 #begin location ~ \.ht { deny all; } location / { try_files $uri $uri/ @rewrite; } location @rewrite { rewrite ^/(.*)$ /index.php; } location ^~ /maintenance/ { return 403; } location ~ \.php$ { include /www/server/nginx/conf/fastcgi_params; fastcgi_pass unix:/tmp/php-cgi-73.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; try_files $uri @rewrite; } #end ...
 - 修改内容:(否则“.js/.css/.png”等内容都无法访问[1])
... location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; error_log /dev/null; access_log /dev/null; #允许访问内容, by Eijux at 2020/09/09 03:14:50 try_files $uri @rewrite; } location ~ .*\.(js|css)?$ { expires 12h; error_log /dev/null; access_log /dev/null; #允许访问内容, by Eijux at 2020/09/09 03:14:50 try_files $uri @rewrite; } ...
 
 - 添加内容:(否则整个站点都无法访问[1])
 
安装过程
步骤:
| 步骤 | 截图 | 
|---|---|
  | 
更新升级
注意: 更新:小版本的更新(如1.34.0 → 1.34.2),一般直接更新就可以了,不需要对服务器的基础支持相关进行安装或升级。 升级:大版本的升级(1.34.2 → 1.35.0),要注意新版本的系统需求(如:PHP版本、PHP插件等),以及“两个 LTS 之间的版本才能之间升级”(否则,需要升级到一个LTS,再升级到第二个LTS)。 (更新之前,维护一下“站点日志”,记录一下新版本的系统需求、特性,养成习惯)
文件备份
包括:
- 配置文件:LocalSettings.php;
- 如果修改过数据库配置,则需要在配置文件中更新。
 
 - 上传文件夹:./images;
 - 扩展文件夹:./extensions;
- 部分扩展可能也需要更新(最好都重新下载更新一遍)。
 
 - 修改过的内容;
- 如:includes/defaultSettings.php。
 
 - 添加过的内容。
- 如:logo(位于“./resources/assets”)、skins[皮肤]、vendor[依赖] 等。
 
 
文件替换
步骤:
- 解压安装包:
tar -zxvf mediawiki-1.35.0-rc.2.tar.gz # 或 unzip mediawiki-REL1_35.zip -d /www/wwwroot/
- (把不需要的内容删除)
 
 - 移除旧版本;
rm -rf wiki.eijux.com/
- (可以保留需要备份的内容)
 
 - 安装文件替换:
# 移动 mv -f mediawiki-1.35.0-rc.2/* wiki.eijux.com/ # 复制 yes|cp -rf mediawiki-REL1_35/* wiki.eijux.com/
 - 替换备份文件。
 - 更新网站文件归属及读写权限:
# 文件归属者、组 chown -Rf www:www wiki.eijux.com/* # 文件权限 chmod -Rf 775 wiki.eijux.com/*
 
执行升级
文件替换之后,也能直接访问 MediaWiki,但是使用时(涉及查找的操作和页面)可能出现错误:
    
步骤:
- 访问安装页面:http://wiki.eijux.com/mw-config/index.php;
 - 依次完成安装过程。
- 升级密钥:“LocalSettings.php”中的“$wgUpgradeKey”)。
 
 
站点迁移
若没有站点迁移工具,则需要手动执行迁移。其过程,大概就是:依次执行一遍上述内容。
步骤:
- 数据库备份,站点备份;
 - 服务器准备。
 - 数据库导入。
- Mysql 5.7 导入 8.0 后,数据库大小似乎有变化,但是记录并无任何丢失。
 
 - 站点导入。
- 若仅迁移,则直接导入站点备份即可;
 - 若需升级,则安装新版本后,以站点备份部分导入。