CORESERVER から XSERVER に MovableType を移転した方法

公開日:2018/05/12  最終更新日:2018/09/01  カテゴリー:MovableType

今回 CORESERVER から XSERVER に MovableType を移転しました。
全ての情報も漏れなく移動したかったので、バックアップ機能は使用せず SQLダンプの方法で丸ごと移動しました。
手順は簡単だったのですが XSERVER特有の仕様などで 躓いた点などがありました。

1. 作業の流れ

  1. FTP上のファイルを新サーバーに転送する
  2. データベース上のデータを移す
  3. データベースの接続情報を変更する
  4. データベース上のフルパスを変更する
  5. 管理画面用CGIファイルの属性を変更する

2. 実際の作業

1.FTP上のファイルを新サーバーに転送する

FTP上のファイルをすべて 新サーバーに移動します。
容量が多い場合は wget コマンドを使用して直接転送すると 漏れもなく早いです。

2.データベース上のデータを移す

phpMyAdmin で 移転元からエクスポートして 移転先でインポート。
大容量のデータベースの場合には SSH経由でエクスポート/インポートする方法がお勧めです。

3.データベースの接続情報を変更する

環境設定ファイル「mt-config.cgi」を編集して 新サーバーでの接続情報に書き換えます。

4.データベース上のフルパスを変更する

件数は多くないので phpMyAdmin で 検索して ヒットしたものを手動で書き換えるのがよいでしょう。
私は面倒だったので Search Replace DB で置換してしまいました。

5.管理画面用CGIファイルの属性を変更する

4 まで終わったところで サイトも問題なく表示され移転完了!と思っていましたが...
管理画面にアクセスすると 500 Internal Server Error が。
管理画面からエラーログを見ると 次のようなエラーが出ていました。

[cgi:error] [pid ****] [client ***.***.***.***:*****] End of script output before headers: mt.cgi

Perl のパスやバージョンが違うのかな... などと苦戦していましたが、
ありきたりなパーミッションの問題でした。
次のコマンドを MTディレクトリ内で実行して
全ての CGIファイルのパーミッションを 755にすると
問題なく管理画面にアクセスできるようになりました。

chmod 755 *.cgi

参考文献

本サイトでは URLに日本語を含んでいます。
メールなどで共有する場合は リンクとして認識されない場合がございますので、こちらをご利用ください。