xreaからさくらインターネットへのMovableTypeの移転

今まではxreaレンタルサーバを借りていたのですが、このたびさくらインターネットレンタルサーバへ移行しました。いろいろと苦労したので、メモもかねてエントリー化。

このMovableTypeで作っているブログの移転と、このブログのドメインの移管を行いました。とりあえずまずはMovableTypeの移転です。

ちなみにブログ(MovableType)を別サーバーに移行するまでの作業ログ | IDEA*IDEAをがっつり参照してます。

移設環境

まずはMovableTypeの移転です。

移転前
サーバ:xrea
MTバージョン:4.0
DB:MySQL5.1.17 (EUC-JP)

移転後
サーバ:さくらインターネット
MTバージョン:4.22
DB:MySQL4.0.27 (utf-8)

さくらのMySQLの古さが異常です。MySQLの仕様も結構変更になっているので、ここら辺意識しないとはまります。あと、ついでにMT自体のバージョンも上げてみました。

基本的には、

  1. DBの移行
  2. 静的ファイルの移行
  3. 再構築

という手順になります。

MT自身に、データのインポート・エクスポートの機能もあるのですが、それだとテンプレートなどが引き継げないため、非常に移行に苦労します。

データの戻し方

とりあえずまずはうまくいかなかったときのデータの戻し方です。うまくいかなくておかしくなったときも、基本的にはDBの内容さえ消せば元に戻ります。DBの中身を消すにはphpMyAdminが便利です。UI画面からまとめて消しちゃいましょう。

MovableTypeの設定

とりあえず真っ先にやるのはMovableTypeをアップロードし、設定を行うことです。MovableTypeをダウンロードしてきて、サーバ上にアップします。その後解凍して、権限の変更を行います。
.cgiファイルに対して実行権限を与えてください。

あとは自分のサイトにあわせて、mt-config.cgiの編集をします。ここら辺の解説はいっぱいあるので、ほかサイト参照のこと。

DBの移行

まずはDBの移行です。残念ながら最初の設定のため、DBの文字コードEUC-jp(MySQL的にはujis)になってます。それをutf-8に直します。

$ mysql -uUserName -pPassword DBName
mysql> set names utf8;

続いて、移転前のサーバ(xrea)でDBをダンプします。

mysqldump -uUserName -pPassword --skip-lock-tables --compatible=mysql40 --default-character-set=utf8 DBName > mt_dump.sql

ポイントはcompatibleで移転先のDBを指定する部分です。ここはPostgreSQLの設定なども合ったので、PostgreSQLへの移行などもできるかもしれません。

ポイントはcompatibleで移転先のDBを指定する部分です。ここはPostgreSQLの設定なども合ったので、PostgreSQLへの移行などもできるかもしれません。

ダンプしてできたファイルを移転先サーバ(さくら)へ移します。今回はFFFTPを使ってxreaからローカルマシンに落として、再度さくらにアップロードしました。

さくらサーバにアップロードしたら、MySQLにその内容を入れます。

mysql -hHost -uUserName -pPassword DBName < mt_dump.sql

静的ファイルの移行

DBでは保存されていない静的ファイルについても移行させる必要があります。これは普通にコピーすればいいだけです。ばらばらだと転送しにくいので、一度固めてから移してます。

$ tar zcvf static-dir.tgz static-dir

これも同じようにFFFTPでダウンロードし、アップロードしました。ブログの書き方にもよりますが、こっちは結構な大きさになります。

さくらで解凍すればOK。

$ tar zxvf static-dir.tgz

ブログの再構築

これでブログの編集ページにアクセスすると、MovableTypeのDBの自動更新が行われます。これが終わると、見慣れた編集画面が。

このままだと、設定が若干合わない部分があるため、設定を必要に応じて直します。最後に全体の再構築をすればブログが新しいサーバ上にできあがります。

続きのドメインの移管は次回。