2

MediaWiki迁移记

 2 years ago
source link: https://blog.lilydjwg.me/2011/5/28/story-of-migrating-mediawiki.27048.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

MediaWiki迁移记

本文来自依云's Blog,转载请注明。

前天我正式切换到了 Arch 下,接下来是繁杂的配置迁移工作,以至于这篇日志现在才写。

虽然之前已经完成了大部分配置,但刚切换到 Arch 下不久,还是发现还有太多的东西要配置。于是像往常一样打开火狐,试图访问自己的维基,看到连接失败的错误页面,才想起我的 MediaWiki 还没迁移过来了。于是先把别的放在一边,装 httpd 和 mediawiki。然后准备迁移数据。这时我更郁闷了:我把相关资料记在了 wiki 里。。。。

于是开始 chroot,进到原先的 Ubuntu 系统中,Apache 启动了,然后是 MySQL。果然悲剧无处不在,因为没经历正常的启动过程,upstart 罢工了。折腾半天,终于手动把 mysqld 跑起来了。原来的 wiki 一切正常,很顺利地找到这个链接。我打算在新 wiki 里使用 SQLite 取代 MySQL,少一个进程,而且省得什么时候服务器跑不起来了。本来还打算使用 nginx 取代 Apache 的,但是在虚拟机里配置失败了。

首先是导出原 wiki 的数据。到 MediaWiki 安装目录下执行类似下边的命令:

php maintenance/dumpBackup.php --full --uploads > wiki-backup.xml
tar -czf wiki-images.tgz images

然后把新 wiki 配置好,再导入数据:

php maintenance/importDump.php wiki-backup.xml
mkdir temporary
cp wiki-images.tgz temporary
cd temporary/
tar -xzf wiki-images.tgz
cd ../
mkdir tempimages
cp temporary/images/*/*/* tempimages
php maintenance/importImages.php tempimages

导入页面数据时速度很慢,和导出时形成鲜明对比,不知道是什么原因。导入图片的过程很麻烦,但我不管了,反正有效。以上就是那篇文章上说的步骤。但是这个步骤是不完整的。尝试访问新 wiki,问题就出现了——

首先发现的是首页没改。这个在编辑历史里撒消下就可以了。

然后是统计数据被清零了。恢复后的首页赫然显示“目前已有0条目”。“最近更改”也没有了。在 maintenance 目录下可以找到很多脚本。我看名字选了几个运行:

php maintenance/initStats.php
php maintenance/initEditCount.php
php maintenance/rebuildrecentchanges.php

跑完之后那些统计数据就恢复了。

最后一个问题是:图片全部找不到了!我运行了几个维护脚本,都没效果。图片确实导入了,但是又找不到。无奈之下开始 Google。少顷,在 MediaWiki 官网上找到了答案

php maintenance/rebuildImages.php --missing

原来是要加个--missing参数。

至此,我的 wiki 终于恢复了。以前它一直正常时不觉得什么,这次没有在第一时间让其就绪,才终于知道,自己这两年的近 500 个页面的笔记实在是太有用了!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK