“安装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 后,数据库大小似乎有变化,但是记录并无任何丢失。
- 站点导入。
- 若仅迁移,则直接导入站点备份即可;
- 若需升级,则安装新版本后,以站点备份部分导入。