MovableType6/7サーバー移転とバージョンアップの方法-実施記録

Web担の仕事

Movable Type 6で作られたWebサイトをバージョン7にアップデートしようとしたところ、サーバーのParlのバージョンが低くてエラーが発生。そこで新しいサーバーを用意して移転とバージョンアップを同時に実施しました。その全手順の記録です。利用したサーバーはKDDIのCPIレンタルサーバー、データベースはMySQLです。
途中何度かつまづいた点も記録してますので参考にされたし。ちなみに作業をした私はWebデザイナー寄りのWeb担当者でCMSのサーバー引越し作業は初めて。サーバーサイドの知識は最低限しかありません。それでもMTは意外と優しかった(多少間違ってもやり直せる)ので無事移転できました。
*サーバーの管理者権限(データベースを触れる権限)が必要です。
MT7に対応したサーバーが必要です(MySQLやParlのバージョンを要確認)

移転とバージョンアップのステップはたったの3つ
1.MySQLデータベースの引越し
 1-1. データベースのエクスポート(ダンプ)
 1-2. データベースのインポート(リストア)
2. Movable Type 本体ファイルをアップロード
 2-1. 旧MT6から新MT7へ必要なデータをコピー
 2-2. mt-config.cgiファイルの書き換え
 2-3. ファイルのアップロード
3. Movable Typeのセットアップ

1.MySQLデータベースの引越し

1-1. データベースのエクスポート(ダンプ)

まずは移転するサイトのデータベースをエクスポート(書き出し)します。エンジニア用語でいうと「ダンプ」というそうです。
サーバーのコントロールパネル(管理画面)にログインしてphpMyAdminに移動します。MTで使用しているデータベースを左メニューのプルダウンから選択し(1つしかなければそれを選ぶ)エクスポートタブからデータをエクスポートします。設定は下記キャプチャ参照。ローカルにxxx.sql.zipという名前のファイルでダウンロードできます。容量は3MBくらいしかなかった。

phpMyAdmin

1-2. データベースのインポート(リストア)

次に移転先のMySQLへデータベースのデータをインポートします。エンジニア用語でいうと「リストア」というそうです。
移動先サーバーの管理画面にログインし、MT用のデータベースを新規作成します。キャプチャはCPIサーバーのものですが、他のサーバーでもこの手順は変わりません。
※サーバーの契約プランによって持てるデータベースの数が決まっています。

データベースを作成するとphpMyAdminへ移動できます。phpMyAdminに移動し(ログインが必要)、インポートタブから先ほどエクスポートしたZipファイルを選択してインポートします。
//ここは意外と時間がかかった

「インポートは正常に終了しました」
というメッセージが出ればOK。
これでデータベースの移行は完了です。
簡単!

2. Movable Type 本体ファイルをアップロード

新サーバーにMT本体のデータをアップロードします。
MT本体のデータは公式サイトからライセンスを購入したうえで取得します。取得した時はzipファイルの状態なので解凍します。バージョンアップとサーバー移転をするにはいくつか手を加える必要があります。

//最初私は新サーバーには旧サーバーと同じMT6を入れて設定してからMT7にバージョンアップすると思っていましたが、いきなりMT7でOKです。
(旧MT6が新サーバーに対応していなかったのがきっかけで気づく)

mt本体ファイルの中身

2-1. 旧MT6から新MT7へ必要なデータをコピー

アップロードの前にMT公式サイトで案内している「アップグレード時に、新しいディレクトリにコピーするファイル」を参考に必要なデータをMT6からMT7にコピーします。

2-2. mt-config.cgiファイルの書き換え

新サーバーに合わせてmt-config.cgiファイルの内容を書き換えます。
ダウンロードしたmtファイルには「mt-config.cgi-original」というファイルが入っています。こちらをベースにして内容を書き換えてもいいですし、MT6で使っていたmt-config.cgiファイルをベースにして直してもいいです。内容さえあっていれば。
記述詳細は公式サイトの「環境設定ファイル mt-config.cgi の設定」を見ていただければ難しいことはないです。StaticFilePathなどはサーバーのコントロールパネル内で確認できます。

//このファイルは重要ですが、記述をミスっても後から直すことができます。記述をミスるとエラーが起きるのでわかります。

mt-config.cgiファイル。記述はサーバーによって異なる

2-3. ファイルのアップロード

MT本体のデータ一式を/cgi-bin/ディレクトリ内にアップロードします。ディレクトリ名は一般に「mt」とする場合が多いです。
ファイル数が多いのでけっこう時間かかります。
アップが終わったら、すべての.cgiファイルの属性(パーミッション)を755に変更します。これをしないと後工程でエラーになります。

//ファイル数が多いので途中でアップロードエラーが出る場合もあります。どのファイルがエラーになったかメモして後であげなおしましょう。

【ワンポイント】
ファイルをアップし終えるとサーバーがMTに対応しているかどうかのチェックができます。ブラウザーで下記URLにアクセスするだけ。ただしmt-config.cgiファイルがサーバーにあると作動しないのでチェックするときはこのファイルだけ一時的に削除しましょう。
一番最後に「システムのチェックを完了しました。~インストール可能です」が出ればOK。対応していないとこの文言が表示されない。黄色いアラートが出てても大丈夫。
http://xxxxx(サイトのドメイン)/cgi-bin/mt/mt-check.cgi

3. Movable Typeのセットアップ

いよいよ大詰めのMovable Typeセットアップです。ブラウザーで下記URLにアクセスします。
http://xxxxx(サイトのドメイン)/cgi-bin/mt/mt.cgi

しかしこの時、下記のような表示崩れが起こっていたら要注意です。

表示されるはずのロゴが表示されない、文字が左に寄っている。 

本来下記のように表示されるはず。

原因は、デザインを構成する画像ファイルやcssファイルが読み込めていないためです。これらファイルは「mt-static」に入っています。なので要因は下記1か2どちらかです。
1)mt-config.cgi で /mt-static/ ディレクトリの場所指定が間違ってる
2)/cgi-bin/ディレクトリの仕様の問題

私の場合(CPIサーバーの場合)は2でした。
/cgi-bin/ディレクトリは元々.cgiファイルしか読み取れない仕様になっています(サーバーによる)。.cgiファイルでないファイル(.cssや.jpg等)を/cgi-bin/ディレクトリにいれても.cgiと認識してしまうのです。この解決方法は主に2つあります。
①mt-staticを/cgi-bin/ディレクトリの外に出しmt-config.cgiに記述の mt-staticディレクトリの場所指定を修正する
②.htaccess ファイルでコントロールする

②の場合
.htaccess ファイルに下記を記述して/mt-static/ ディレクトリ内のcgiファイル以外を認識できるようにします。
AddHandler image/gif .gif
AddHandler image/jpeg .jpg
AddHandler image/png .png
AddHandler image/svg .svg
AddHandler text/html .html .htm
AddHandler text/css .css
AddHandler cgi-script .cgi .pl
AddHandler application/x-javascript .js

*近年流行りの画像形式.svgファイルも忘れないように。MTのロゴはsvgファイルです。

「アップロード開始」画面がきちんと表示されたら、ボタンをクリックします。
すぐにログイン画面に遷移しますので旧MTのユーザー名・パスワードでログインします。

ログインと同時に「データベースをアップグレードしています…」と表示され、しばらく待っていると「アップグレードを完了しました!」に変わります。
「Movable Typeに戻る」ボタンをクリックします。

ダッシュボードに遷移します。
これにて無事完了!

おまけ

ここから先は大丈夫かと思いますが、「公開パス」を新サーバーに合わせて変更して再構築をかける必要があります。

以上!どこかで誰かのお役に立てれば幸いです。
SNSでいいね・シェアしてくれると喜ぶ。

コメント

タイトルとURLをコピーしました