Movable Typeのサーバー移転の流れをご紹介(プラン変更サーバー移転)

Movable Typeのサーバー移転の流れをご紹介(プラン変更サーバー移転)

Movable Typeのサーバー移転の流れをご紹介(プラン変更サーバー移転)

Movable Typeのサーバー移転の方法をご紹介します。

まずは全構成を新サーバーにコピーし、cgiのパーミッションを必ず揃えましょう。

MySQLテーブルのサーバーパス名とmt-config.cgiのDB情報を、新サーバー向けに書き換えます。

Movable Typeのサーバー移転案件

本記事はクライアント案件で実施した、CMSシステム「Movable Type5.2」のサーバー移転作業における詳細です。

基本的な流れは、Wordpressとそれほど変わりません。

今回も様々な移転ケースの一つに過ぎませんが、できるだけ詳細に解説します。

同じレンタルサーバー間のサーバー移転

今回は移転元と移転先が同じレンタルサーバーであり、プラン変更による移転作業です。

古いプランのサーバーから新しいプランのサーバーへと移転させる形ですね。

新しいサーバーもレンタルサーバー側で用意されたものになります。

サイト全構成ファイルのダウンロード・アップロード

まずはMovable Typeのシステム部分も含めて、WEBサイトの全構成ファイルをダウンロードします。

次にそれをそのまま新サーバーの方にアップロードしていきます。

この作業には手間が掛かりますが、漏れなく移設する事がポイントですので焦らずやりましょう。

コントロールパネルのデータ移設機能を使用

このダウンロードとアップロードの作業はサイトにもよりますが、時間が掛かる作業ですよね。

しかし今回はレンタルサーバー側がデータ移設機能を用意してくれていました。

ボタンを一つ押すだけで、全構成が1発で新サーバーにコピーされるようになっていましたね。

パーミッションに注意

今回はデータ移行機能のお陰で、パーミッションもそのまま維持した状態で複製されます。

Movable TypeシステムはCGIが使われているので、パーミッションを揃えていく必要があります。

手動でアップした場合は、元の構成を確認しながらパーミッションを変更しましょう。

MySQLテーブルのエクスポート

データ移設ボタンを押しても、データベースファイルまでは移設されません。

別途Movable Typeで使っているMySQLのテーブルデータをエクスポートしてくる必要があります。

移転元であるWEBサーバー(旧プラン)には、元々データベースを操作する機能が付いていません。

ですのでphpMyAdminソフトを手動インストールして、テーブルデータをエクスポートします。

詳しくは「phpMyAdminのインストールの方法」をご覧ください。

Movable Typeで使うMySQLのテーブル群

上記がphpMyAdminで開いたMySQLのテーブル群です。

エクスポート・インポートは分割してOK

エクスポートでテーブルを選択している様子

ファイルデータが大きい場合は一括で実行せず、ファイルを分割して何回かエクスポートしましょう。

一括でやるとダウンロードファイルが空っぽになってエクスポート自体ができません。

分割すればそれだけ.sqlファイルが何個か作られる事になります。

複数に分かれていても全てインポートすれば問題ありません。

最終的に移転元と同じテーブルデータが入れば良いのですからね。

ZIPファイルでのエクスポートでもOK

分割するのではなく、ZIPファイルでエクスポートする手もありますよね。

ただし今回は、あとからテーブルデータ内のパスを変更しなければなりません。

その前後で圧縮・解凍を繰り返さなくて済むように、分割インポートをおすすめしました。

移転先サーバーでのデータベース作成

次に移転先サーバーのコントロールパネルで、MySQLデータベースを作成します。

移転先のデーターベース設定画面では、最初からデータベース名・ユーザー名は固定されている状態でした(仕様だと思います)。

ですので後は、パスワードを入れて追加するだけとなっていました。

DB情報をメモ

今回の様に自動で用意されない場合は、データベース名・ユーザー名・パスワードは任意に決定します。

固定されていようが自分で決定しようが、後で設定ファイルにその情報を記述すればきちんと接続されます。

これらのDB情報をメモしておきましょう(ホスト名もです)。

パスワードについて

パスワードは半角の大文字や記号・数字を1文字以上使って構成する必要があります。

上記のルールを守らないとデータベースが追加できませんので注意しましょう。

sqlファイル内パスの書き換え

サーバーパス(ドメイン名)の一括変更

次はダウンロードしてきた全てのaqlファイルで、サーバーパスなどを移転先サーバー向けに変更しなければなりません。

sqlテーブル内のサーバーパス

もしドメイン名が変更になる場合は、ドメインURLも書き換えが必要になります。

今回はドメインはもちろんそのままでしたが、移設先のサーバーパスも全く同じでした(レンタルサーバー側の配慮でしょう)。

つまり一切の変更を加える必要がありませんでしたので、助かりましたね。

一括変更機能を使う

基本的に別サーバーに移転する時はこのようにはいきません。

その時はテキストエディタの置き換え機能などを使って、サーバーパスなどを移転先の情報に一括変更しましょう。

バックアップを事前に取った上で、慎重に進めましょう。

MySQLテーブルのインポート

新サーバーへのファイルのインポート時も、phpMyAdminソフトを使います。

新プランのコントロールパネルには、データベースを操作する機能が一応ある様ですが、それは使っていません。

移転元で使った旧バージョンのphpMyAdminを、移転先サーバーでもそのまま使っています。

本来phpMyAdminは移転先仕様に合わせるべき

旧プランと新プランとではそもそも、phpのバージョンが違います。

今回のphpMyAdminは最新バージョンではなく、移転元のphpに適合する古いバージョンのphpMyAdminを用意しました。

ですので移転先のphpバージョンに合うphpMyAdminを、別途用意するべきだったと思います。

ただ今回はインポートだけのために使うからという理由で、そのままでした。

必ずデータベース名を選択する事

サーバーパスなど中身を書き換えたsqlファイルを全てインポートします。

実行時は、データベースをきちんと選択してからインポートしましょう。そうしないとエラーが出ます。

mt-config.cgi設定ファイルの変更

次にMovable Typeの設定ファイルを編集します。

Movable Typeの構成フォルダTOPにある、mt-config.cgiをダウンロードしてきましょう。

その中身を移転元のDB情報から移転先のDB情報に変更する必要があります。

設定変更の例

##### MYSQL ##### ObjectDriver DBI::mysql Database データベース名 DBUser ユーザー名 DBPassword パスワード DBHost ホスト名(データベースサーバー名)

上記のDatabase・DBUser・DBpassword・DBHostのそれぞれの欄を、移転先に合わせて書き換えます。

半角スペースを空けて入力しましょう。

動作チェック

移転先サーバーのIPアドレスを調べてhostsファイルを変更し、バーチャル確認できる環境を作ります。

移転先サイトが表示されたら、同時にMovable Typeへもログインしましょう。

WEBページは表示されているか、管理画面がきちんと動作するかどうかそれぞれ確認をしてみましょう。

今回は大きく2つのエラーが生じましたので、そのエラーを一つずつ解消していきます。

管理画面上の記事情報が「???」になる

サイト上できちんと文章は表示されているのですが、管理画面上では日本語テキストが全て「???」表記になっていました。

文字コードが違う事が原因による文字化けですね。

my.cnfへの文字コード追記

検索で調べてみると「mysqlで文字コードをutf8にセットする方法」など、説明記事がいくつかありました。

よく見かけたのが「my.cnfに初期設定の文字コードを追記する」内容です。

しかもこれはDBテーブルをインポートする前に、初期設定として行わねばならない様です。

照合順序を変更してみる

またDBデータの入れ直しか~と思っていたのですが、ふとphpMyAdminの照合順序のところに目が向きました。

sqlテーブルの照合順序

インポートしたテーブルの照合順序は、全て「utf8_general_ci」になっています。

操作欄の照合順序

それに対し、データベースの「操作」欄にある照合順序は「latin_general_ci」でした。

ここを試しに「utf8_general_ci」に変更すると、文字化けが解消されました。

本来はmy.cnfを変更すべき

本来はターミナルなどでDBに接続しmy.cnfに追記するべきでしょう。

しかし今回はこれできちんと動いているので良しとしています。

管理画面上のサムネイル画像が表示されない

画像をアップするとWEBページ上には表示されるのですが、記事の編集画面に出るはずのサムネイルが表示されません。

イメージドライバーが設定されていません

よく見てみると、ダッシュボードTOPの上部に「イメージドライバーが設定されていません。」と表示されています。

イメージドライバーが設定されていない警告

これはMovable Typeで、サムネイル生成などに使用される画像処理ライブラリが利用できない状態を指している様です。

Movable Typeでこの画像処理ライブラリが使える状態にする必要があります。

利用可能な画像処理ライブラリ

Movable Typeでは、以下のいずれかの画像処理ライブラリを利用できます。

・ImageMagick
・NetPBM
・GD
・Imager

Movable Typeのマニュアルページには、3つ目の「GD」を使った環境変数設定の例が紹介されています。

その例の通りに、設定ファイルのmt-confg.cgiに以下を追記してみました。

設定例

…言語設定の欄 #DefaultLanguage fr DefaultLanguage ja #DefaultLanguage nl ImageDriver GD →これを追記するだけ

追記する場所はどこでもOKです。一番下の行でも構いません。

追記したconfig.cgiを上書きアップロードすると、サムネイル画像が表示されるようになりました。

これで一通り事前確認は終了です。うまく移転できている様でした。

サーバー引っ越し代行お請けします

サーバー移転・データ移設などでお困りであれば、お気軽にお問い合わせ下さい。
ドメイン切替・DNSレコード編集も担当します。
詳細は下のお問い合わせフォームからどうぞ。

お問い合わせする

この記事をシェアする

一押し人気コーナー紹介

サーバー移転・引っ越し関連記事