自宅サーバから新サーバへMTを移行する


こんちわ、久々に登場 (っ´∀`)っ ゃー です。このたび引越することになったので、自宅サーバにあるコンテンツを安いVPSへ引越することにしました。移行先の管理はほとんどPLESKでできるので便利です。パッケージのインストールはコマンドラインから行うものの、ゾーン作成やバーチャルホスト作成はすべてブラウザでの作業です。

■■ 旧環境コンテンツバックアップ

あらかじめ、旧環境のコンテンツとDBをバックアップします。コンテンツは、ドキュメントルート以下をtar.gzで固めて新サーバへSCPします。DBはMySQLを使っているので、以下のようにしてダンプをとります。

$ mysqldump -u root -p 【データベース名】 > blogs.sql

■■ バーチャルホスト作成

PLESKにログイン → ログイン後のメニューから
ドメイン → Add New Domain
をクリックする

My Domains
をクリックする

Domain name    blogcube.info
        (wwwにチェックを入れる)

Proceed to hosting setup  にチェックを入れ、OKをクリックする

Warning: The domain resolves to another IP address (43.244.34.199). Please correct DNS settings.
というメッセージが出るが、まだネームサーバの移行をしていないために表示されるものなので気にしない。

Hosting type     Physical hosting

OK

SSLサポート    なし
FTPログイン    admin
PW        ********
quota        Unlimited
shell        /bin/bash

以下にチェックを入れる
SSI support
PHP support    safeモードのチェックははずす
CGI support
Perl support
Python support
FastCGI support
Web statistics    Webalizer

OK

■■ DB作成

PLESKから
ドメイン → blogcube.info → Databases → Add new database
の順にクリックする

Database name    blogs
OK

Database name というアイコンができるのでクリックし、ユーザを作る

■■ blogcubeのコンテンツとダンプしたDBを持ってくる

[root@hogehoge ~]# cd /var/www/vhosts/blogcube.info/private
[root@hogehoge private]# scp admin@43.244.34.199:/home/admin/admin.* ./
[root@hogehoge private]# chown admin. admin.*

■■ コンテンツを解凍する

[root@hogehoge private]# tar xvzf blogs.tar.gz
[root@hogehoge private]# chown -R admin. blogs

■■ 解凍したコンテンツをコピーする

[root@hogehoge private]# cd ../httpdocs/
[root@hogehoge httpdocs]# cp -pr ../private/blogs/* ./

■■ CGIをcgi-binディレクトリに移す

[root@hogehoge httpdocs]# cp -p *.cgi ../cgi-bin/

■■ mt-config.cgi を修正する

旧環境では、ドキュメントルート以下のどこでもCGIが使えましたが、今借りているVPSではcgi-binディレクトリが別にあるので、mt-config.cgiのCGIPathを書き換えてやる必要があります。

[root@hogehoge httpdocs]# cp -p mt-config.cgi mt-config.cgi.20080320
[root@hogehoge httpdocs]# vi mt-config.cgi

ここを
CGIPath    http://www.blogcube.info/

こうする
CGIPath    http://www.blogcube.info/cgi-bin/

[root@hogehoge httpdocs]# diff mt-config.cgi mt-config.cgi.20080320
17c17
< CGIPath    http://www.blogcube.info/cgi-bin/
---
> CGIPath    http://www.blogcube.info/

■■ mt-check.cgi を見ながら足りないモジュールをインストールする

HOSTSを書いてから
http://www.blogcube.info/cgi-bin/mt-check.cgi
にアクセスし、足りないモジュールを追加する。

■ Image::Size

[root@hogehoge ~]# yum --enablerepo=rpmforge install perl-Image-Size

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 perl-Image-Size         noarch     3.1.1-1.el4.rf   rpmforge           40 k

Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 40 k
Is this ok [y/N]: y

■ SOAP::Lite (version >= 0.5)

[root@hogehoge ~]# yum --enablerepo=rpmforge install perl-SOAP-Lite

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 perl-SOAP-Lite          noarch     0.71-1.el4.rf    rpmforge          426 k
Installing for dependencies:
 perl-Authen-SASL        noarch     2.10-1.el4.rf    rpmforge           41 k
 perl-GSSAPI             x86_64     0.26-1.el4.rf    rpmforge          120 k
 perl-MIME-Lite          noarch     3.021-1.el4.rf   rpmforge           94 k
 perl-MailTools          noarch     2.02-1.el4.rf    rpmforge           98 k
 perl-Net-Jabber         noarch     2.0-1.2.el4.rf   rpmforge          124 k
 perl-Net-XMPP           noarch     1.02-1.el4.rf    rpmforge          126 k
 perl-XML-Stream         noarch     1.22-1.2.el4.rf  rpmforge           77 k

Transaction Summary
=============================================================================
Install      8 Package(s)
Update       0 Package(s)
Remove&
nbsp;      0 Package(s)

Total download size: 1.1 M
Is this ok [y/N]: y

■ Image::Magick

[root@hogehoge ~]# yum --enablerepo=rpmforge install ImageMagick-perl

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 ImageMagick-perl        x86_64     6.2.8.0-3.el5.4  base              146 k
Installing for dependencies:
 GConf2                  x86_64     2.14.0-9.el5     base              1.5 M
 ImageMagick             x86_64     6.2.8.0-3.el5.4  base              3.3 M
 ORBit2                  x86_64     2.14.3-4.el5     base              262 k
 audiofile               x86_64     1:0.2.6-5        base              107 k
 avahi                   x86_64     0.6.16-1.el5     base              256 k
 avahi-glib              x86_64     0.6.16-1.el5     base               14 k
 chkfontpath             x86_64     1.10.1-1.1       base               15 k
 cryptsetup-luks         x86_64     1.0.3-2.2.el5    base              619 k
 dbus-glib               x86_64     0.70-5           base              154 k
 dbus-python             x86_64     0.70-7.el5       base              187 k
 esound                  x86_64     1:0.2.36-3       base              130 k
 gamin                   x86_64     0.1.7-8.el5      base              126 k
 ghostscript             x86_64     8.15.2-9.1.el5_1.1  updates           5.9 M
 ghostscript-fonts       noarch     5.50-13.1.1      base              801 k
 gnome-keyring           x86_64     0.6.0-1.fc6      base              166 k
 gnome-mime-data         x86_64     2.4.2-3.1        base              691 k
 gnome-mount             x86_64     0.5-3.el5        base               70 k
 gnome-vfs2              x86_64     2.16.2-4.el5     base              1.3 M
 hal                     x86_64     0.5.8.1-25.el5_1.1  updates           362 k
 hwdata                  noarch     0.211-1          base              278 k
 kbd                     x86_64     1.12-19.el5      base              1.0 M
 lcms                    x86_64     1.15-1.2.2       base              170 k
 libFS                   x86_64     1.0.0-3.1        base               30 k
 libIDL                  x86_64     0.8.7-1.fc6      base               87 k
 libXfont                x86_64     1.2.2-1.0.3.el5_1  updates           246 k
 libXres                 x86_64     1.0.1-3.1        base               14 k
 libbonobo               x86_64     2.16.0-1.fc6     base        &nbs
p;     521 k
 libbonoboui             x86_64     2.16.0-1.fc6     base              394 k
 libcroco                x86_64     0.6.1-2.1        base              129 k
 libdaemon               x86_64     0.10-5.el5       base               24 k
 libfontenc              x86_64     1.0.2-2.2.el5    base               19 k
 libglade2               x86_64     2.6.0-2          base               96 k
 libgnome                x86_64     2.16.0-6.el5     base              860 k
 libgnomecanvas          x86_64     2.14.0-4.1       base              224 k
 libgnomeui              x86_64     2.16.0-5.el5     base              984 k
 libgsf                  x86_64     1.14.1-6.1       base              113 k
 libnotify               x86_64     0.4.2-6.el5      base               38 k
 librsvg2                x86_64     2.16.1-1.el5     base              178 k
 libvolume_id            x86_64     095-14.9.el5     base               37 k
 libwmf                  x86_64     0.2.8.4-10.1     base              821 k
 libwnck                 x86_64     2.16.0-4.fc6     base              185 k
 notification-daemon     x86_64     0.3.5-8.el5      base               48 k
 pciutils                x86_64     2.2.3-4          base               79 k
 pm-utils                x86_64     0.99.3-6.el5.centos.17  base              131 k
 shared-mime-info        x86_64     0.19-3.el5       base              148 k
 startup-notification    x86_64     0.8-4.1          base               32 k
 ttmkfdir                x86_64     3.0.9-23.el5     base               46 k
 urw-fonts               noarch     2.3-6.1.1        base              4.5 M
 xorg-x11-font-utils     x86_64     1:7.1-2          base               77 k
 xorg-x11-xfs            x86_64     1:1.0.2-4        base               73 k

Transaction Summary
=============================================================================
Install     51 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 28 M
Is this ok [y/N]: y

■ Crypt::DSA

[root@hogehoge ~]# yum --enablerepo=rpmforge install perl-Crypt-DSA

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 perl-Crypt-DSA          noarch     0.14-1.el4.rf    rpmforge           35 k
Installing for dependencies:
 perl-Convert-ASN1       noarch     0.20-1.1         base               42 k
 perl-Convert-PEM        noarch     0.07-1.2.el4.rf  rpmforge           19 k
 perl-Data-Buffer        noarch     0.04-1.2.el4.rf  rpmforge           13 k

Transaction Summary
=============================================================================
Install      4 Package(s)
Update       0 Package(s)
Remo
ve       0 Package(s)

Total download size: 109 k
Is this ok [y/N]: y

■ XML::Atom

[root@hogehoge ~]# yum --enablerepo=rpmforge install perl-XML-Atom

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 perl-XML-Atom           noarch     0.23-1.el4.rf    rpmforge           46 k
Installing for dependencies:
 perl-Class-Singleton    x86_64     1.03-1.2.el4.rf  rpmforge           14 k
 perl-DateTime           x86_64     0.42-1.el4.rf    rpmforge          127 k
 perl-DateTime-Locale    noarch     0.35-1.el4.rf    rpmforge          144 k
 perl-DateTime-TimeZone  noarch     0.6904-1.el4.rf  rpmforge          397 k
 perl-Params-Validate    x86_64     0.89-1.el4.rf    rpmforge          107 k

Transaction Summary
=============================================================================
Install      6 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 836 k
Is this ok [y/N]: y

[root@hogehoge ~]# yum install perl-XML-Parser

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 perl-XML-Parser         x86_64     2.34-6.1.2.2.1   base              210 k

Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 210 k
Is this ok [y/N]: y

[root@hogehoge ~]# yum --enablerepo=rpmforge install perl-XML-XPath

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 perl-XML-XPath          noarch     1.13-2.2.el4.rf  rpmforge           81 k

Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 81 k
Is this ok [y/N]: y

■ Cache::Memcached

[root@hogehoge ~]# yum --enablerepo=rpmforge install perl-Cache-Memcached

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 perl-Cache-Memcached    noarch     1.24-1.el4.rf    rpmforge           26 k
Installing for dependencies:
 perl-String-CRC32       x86_64     1.4-2.fc6        base               13 k

Transaction Summary
=============================================================================
Install      2 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 39 k
Is this ok [y/N]: y

■ IO::Compress::Gzip

[root@hogehoge ~]# yum --enablerepo=rpmforge install perl-PerlIO-gzip

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 perl-PerlIO-gzip        x86_64     0.18-1.el4.rf    rpmforge           44 k

Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 44 k
Is this ok [y/N]: y

[root@hogehoge ~]# yum --enablerepo=rpmforge install perl-IO-Compress-Base

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 perl-IO-Compress-Base   noarch     2.008-1.el4.rf   rpmforge           54 k

Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove    &nbs
p;  0 Package(s)

Total download size: 54 k
Is this ok [y/N]: y

■ IO::Compress::Gzip IO::Uncompress::Gunzip

[root@hogehoge ~]# yum --enablerepo=rpmforge install perl-IO-Compress-Zlib

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 perl-IO-Compress-Zlib   noarch     2.008-1.el4.rf   rpmforge          137 k
Installing for dependencies:
 perl-Compress-Raw-Zlib  x86_64     2.008-1.el4.rf   rpmforge          171 k

Transaction Summary
=============================================================================
Install      2 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 308 k
Is this ok [y/N]: y

■ Archive::Zip

[root@hogehoge ~]# yum --enablerepo=rpmforge install perl-Archive-Zip

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 perl-Archive-Zip        noarch     1.23-1.el4.rf    rpmforge          112 k

Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 112 k
Is this ok [y/N]: y

■ XML::SAX

[root@hogehoge ~]# yum --enablerepo=rpmforge install perl-XML-SAX

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 perl-XML-SAX            noarch     0.16-1.el4.rf    rpmforge           77 k
Installing for dependencies:
 perl-XML-NamespaceSupport  noarch     1.09-1.2.1       base               15 k

Transaction Summary
=============================================================================
Install      2 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 93 k
Is this ok [y/N]: y

■ Mail::Sendmail

[root@hogehoge ~]# yum --enablerepo=rpmforge install perl-Mail-Sendmail

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 perl-Mail-Sendmail      noarch     0.79-1.2.el4.rf  rpmforge           23 k

Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 23 k
Is this ok [y/N]: y

これで全てOK

■■ プラグインなどをcgi-binにコピー

[root@hogehoge ~]# cd /var/www/vhosts/blogcube.info/httpdocs
[root@hogehoge httpdocs]# cp -rp ./ls -lA | egrep ^d | awk '{print $9}' | egrep -v '(test|nullpopopo|revenge)' ../cgi-bin/

■■ mt-config.cgi を修正する

ここを
CGIPath    http://www.blogcube.info/

こうする
CGIPath    http://www.blogcube.info/cgi-bin/

■■ エラー修正

/var/www/vhosts/blogcube.info/statistics/logs/error_log をtailしていると
[Wed Mar 19 23:51:09 2008] [error] [client 43.244.34.199] Premature end of script headers: mt.cgi
[Wed Mar 19 23:51:27 2008] [error] [client 43.244.34.199] Premature end of script headers: mt-config.cgi
と表示される。

なので、
[root@hogehoge cgi-bin]# cd ..
[root@hogehoge blogcube.info]# chmod 755 cgi-bin

そして、プログラムが書き込みを行えるように
[root@hogehoge blogcube.info]# chmod 777 httpdocs/

■■ ブログを作成する

http://www.blogcube.info/cgi-bin/mt.cgi

■■ まだ今までのブログが見えないので、sqlを流し込む

[root@hogehoge blogcube.info]# cd private/
[root@hogehoge private]# mysql -u blogs -p blogs < blogs.sql
■■ リンクテスト

ひととおり、ダッシュボードのリンクをクリックして問題ないことを確認した

■■ サブドメイン作成

PLESKから、サブドメインを作成する。作るのは以下のもの。

revenge
nullpopopo

■ サブドメインから余計なものを削除する

[root@hogehoge ~]# rm -fr /var/www/vhosts/blogcube.info/subdomains/revenge/httpdocs/*
[root@hogehoge ~]# rm -fr /var/www/vhosts/blogcube.info/subdomains/nullpopopo/httpdocs/*

■ サブドメインのディレクトリにコンテンツをコピーする

[root@hogehoge ~]# cp -pr /var/www/vhosts/blogcube.info/httpdocs/revenge/* /var/www/vhosts/blogcube.info/subdomains/revenge/httpdocs/
[root@hogehoge ~]# cp -pr /var/www/vhosts/blogcube.info/httpdocs/nullpopopo/* /var/www/vhosts/blogcube.info/subdomains/nullpopopo/httpdocs/

■■ サイトパスを変更する

それぞれのブログごとに、サイトパスを変更後、再構築をする。

■ nullpopopo

old    /home/admin/public_html/blogcube/nullpopopo/
new    /var/www/vhosts/blogcube.info/subdomains/nullpopopo/httpdocs/

■ revenge

old    /home/admin/public_html/blogcube/revenge/
new    /var/www/vhosts/blogcube.info/subdomains/re
venge/httpdocs/

■ www

old    /home/admin/public_html/blogcube
new    /var/www/vhosts/blogcube.info/httpdocs

■■ 更新テスト

更新先のほうで、エントリを投稿し、hostsを書いたブラウザから見て反映されていて、かつ、hostsをコメントアウトしたら更新が反映されなくなることを確認する。

■■ ネームサーバ移転

バリュードメインで、ネームサーバをVPSサーバに向ける。そして、旧サーバからblogcube.infoのゾーンを削除し、再度ブラウザで確認する。

以上、終了。