How to migrate a mediawiki site: Difference between revisions
Created page with "相同版本的迁移很简单,重建旧环境,再把 database 和 file system 移过去就行。所以本文重点讨论升级式迁移:新 code + 旧重点备份 + update.php 等于升级成功。 新版本的数据,恢复至旧版本 MediaWiki,不支持。 旧版本的数据,恢复至新版本 MediaWiki,支持。不过要运行 update script. * 若 mediawiki/ 全量备份,则不用再装 mediawiki * 若 mediawiki/* 部分备份,则需在服务器..." |
Tag: Manual revert |
||
(12 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
* 若 mediawiki/* 部分备份,则需在服务器安装同版本 mediawiki,再把备份部分移到它应去的位置 | * 若 mediawiki/* 部分备份,则需在服务器安装同版本 mediawiki,再把备份部分移到它应去的位置 | ||
最好的迁移,是保持相同 MediaWiki 版本。不过,现实中多数是在新服务器上安装更新版本的 MediaWiki,把数据迁移进去后,在新服务器上做一个 upgrade 操作。 | 最好的迁移,是保持相同 MediaWiki 版本。不过,现实中多数是在新服务器上安装更新版本的 MediaWiki,把数据迁移进去后,在新服务器上做一个 update 或 upgrade 操作。 | ||
传文件进新服务器的方法有 putty 或 WinSCP 或 SSH 或 FTP。 | 传文件进新服务器的方法有 putty 或 WinSCP 或 SSH 或 FTP。 | ||
== 概览 == | |||
MediaWiki 的安装位置: | |||
[[File:MediaWiki 安装位置.png|600px]] | |||
步骤概览: | 步骤概览: | ||
Line 41: | Line 46: | ||
除了用 automysqlbackup,用 mysqldump 一样也能实现 Database 的备份,这是第二种方法。 | 除了用 automysqlbackup,用 mysqldump 一样也能实现 Database 的备份,这是第二种方法。 | ||
<syntaxhighlight lang="bash" line> | <syntaxhighlight lang="bash" line> | ||
mysqldump --default-character-set=binary --user=wikidb_user --password=wikidb_userpassword wikidbname > dump_of_wikidb.sql | mysqldump --default-character-set=binary --user=wikidb_user --password=wikidb_userpassword wikidbname > dump_of_wikidb.sql 或者 | ||
mariadb-dump -u DBuser -p DBname > mysqlbackup20250815.sql | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 75: | Line 81: | ||
== 迁移 File System == | == 迁移 File System == | ||
* 特别注意,链接文件复制到新机器就没用了。解决这个问题,可以采用 <code>rsync -avL source_dir/ dest_dir/</code> 复制,L 选项令它追踪软链后的实体文件。 | |||
* LocalSettings.php 一般复制过去能直接用 | * LocalSettings.php 一般复制过去能直接用 | ||
* logo 也要备份 | * logo 也要备份 | ||
* 如果有 .htaccess,也需要备份 | * 如果有 .htaccess,也需要备份 | ||
* 上传的文件,包括删除文件、缩略图、渲染的数学图、svg图,多半都放在 images/ | * 上传的文件,包括删除文件、缩略图、渲染的数学图、svg图,多半都放在 images/ 文件夹下。images 文件夹的所有者为 www-data,权限为 755。php 文件一定不能为 www-data 所有。 | ||
* extensions/ 也需要备份 | * extensions/ 也需要备份 | ||
Line 91: | Line 98: | ||
tar -xvzf mediawikimybackup.tgz | tar -xvzf mediawikimybackup.tgz | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== update == | |||
<syntaxhighlight lang="bash" line> | |||
php maintenance/update.php # 解决缩略图的小毛病 | |||
</syntaxhighlight> | |||
[[Category: MediaWiki]] |