WordPressの引越し
これまで(2008年10月)、WordPress ME 2.1.1を使っていましたが、バージョンアップとデータのバックアップをとるためにWordPressを別サーバに移転させる必要性が生じました。3ヶ月前から「WordPressの引越し」にチャレンジしていましたが、MySQLのデータベース関連、PHP関連、そして文字化け問題となかなか引越しが出来ない状態にありました。それでもサーバ構築を進めていく以上何とかしなければならないという思いで、かなりの労力と時間を費やしましたが、なんとか「WordPressの引越し」が出来ました。念願の引越しが出来たのもWeb検索でいろいろな情報を集めることが出来たためです。そこで、これから「WordPressの引越し」をお考えの方に少しでも参考になればと思い、今回取り組んだ内容を書き留めておきます。
それでは、WordPress ME 2.1.1を別サーバに移転させるために、取り組んだことを書きます。
(1) サーバの全ファイルをローカルにバックアップ
まず、安全のため、FFFTPなどを使って全ファイルのバックアップを取りました。
(2) データベースのエクスポート
次に、WordPress ME 2.1.1のMySQLのデータベースをphpMyAdminでエクスポートしました。
WordPressそのものにもエクスポート機能がありますが、この機能を使ってエクスポートすると、WordPress ME 2.1.1では文字化けが起きたのでphpMyAdminでエクスポートしました。
<phpMyAdminでのエクスポート留意事項>
phpMyAdminを使ってのエクスポートも、設定を違えると文字化けの原因となりました。そこで私の場合は、以下の3点に注意してデータをエクスポートすると文字化けが生じずうまくいきました。
(ⅰ) SQL互換モードはMYSQL40などのようにデータインポート先のSQLと互換を取れるように設定。
(ⅱ) 「DROP TABLE / DROP VIEWを追加」にチェックを入れる。
(ⅲ) 「wp_options」はエクスポートしない。
また、2MBを超えると一度にインポートできないので、「圧縮: “zip 形式” 」を選択してエクスポートファイルを作成しました。圧縮形式でエクスポートしても、文字化けなどの原因にはならないようで、安心して使えました。
<エクスポート設定画面>
(3) WordPressの新規インストール
移転先のサーバに最新版であるWordPress2.6.2(日本語版)を新規にインストールしました。
このときに注意することは、以下のようにして新規WordPress用のデータベースをphpMyAdminを使って作成しますが、文字化け対策として、「新規データベースを作成する」で utf8_unicode_ci を選択することです。また、作成したデータベースに適切な「特権の設定」をしておく必要があります。適切な特権の設定とは、作成したデータベースにアクセスできるユーザ設定をしておくということです。このユーザ名とパスワードはWordPressの新規インストール時に必要となります。
(4) テーマ・プラグイン・画像ファイルのアップロード
次に、テーマ・プラグイン・画像ファイルのアップロードをするために、新規にインストールしたWordPressのwp-contensを削除し、FFFTPを使って、バックアップしておいたwp-contensを丸ごとアップロードしました。
(5) データベースのインポート
エクスポートと同様に、phpMyAdminを使ってMySQLへのデータをインポートしました。これも。設定を違えると文字化けの原因となりました。私の場合、以下のようにすると文字化けが生じませんでした。
(ⅰ) SQL互換モードはMYSQL40などのようにデータインポート先のSQLと互換を取れるように設定
(ⅱ) ファイルの文字セットを「utf8」にセット
(ⅲ) 「wp_options」はインポートしない (データのエクスポートでwp_optionsを入れていなければ問題なし)
(6) WordPressの起動
MySQLへのデータのインポートが無事にでき、WordPressを起動しました。すると、再度wp-config.phpのウイザード画面が開き、ブログタイトルとメールアドレスを聞いてきました。画面に従い、再度設定すると、文字化けすることなくWordPress2.6.2が起動しました。再度wp-config.phpのウイザード画面が開いたのは、wp_optionsをインポートしなかったためであると思いますが、wp_optionsをインポートしないことで画像がうまく表示されたと考えられます。というのも、エクスポートしたデータファイルの中身を見ると、画像データは絶対URLでファイルの場所を参照しているためです。どこかで絶対URLを変える作業が必要になりますが、これがその作業ではないかと思われます。
別の工夫としては、丸ごとアップロードしたwp-contensの内容を参照できるようにするために、直接エディターの置換を使って、すべてのURLを変更するなども可能なのかも知れません。
(7) 最後の最後に
(6)までの作業で、管理画面内部の表示が、日本語から英語に変わったものの、文字化けもなく、、画像も表示されたのでようやく引越しが済んだと思いました。ところが、新規に記事を書いたり、コメントを書き込んでも、書けないことに気がつきました。はじめは、wp-contensディレクトリの書き込み権限の問題だろうと、権限を緩めたり、所有者を変更したりしましたがそれでも書き込めません。このときは、せっかくここまでできたのにまた、はじめからやらなくてはいけないのかと落胆しました。
それでも、WordPressのバージョンを2.6.2の最新バージョンまであげたので、今度は、WordPressのエクスポート機能を使って、データのバックアップをとり、そのファイルを使い、再度、新規にインストールしたWordPressにインポートしました。この作業で注意したことは、いったんインポートされたwp_optionsをWordPressを起動する前にphpMyAdminで削除して、再度WordPress側でwp_optionsファイルを作らせることです。これによって、ようやく、引越しを終えることが出来ました。
(追伸) この引越しによって、カテゴリまではちゃんと移転できませんでした。これは、手作業で直すことにしました。