4月 042011
 

WordPress ME 2.0.11からWordPress 3.1 日本語版への移行が完了したので,作業内容を簡単にメモしておく.今頃こんな作業をしているWordPressユーザはいないはずだが...一体何年間放置してきたのだろう.今回バージョンアップを実施したのは,利用しているXserverから「■重要■[自動インストール]Wordpressの緊急度の高い脆弱性のお知らせ」という警告メールが送られてきたためだ.

言うまでもないが,作業を開始する前に,WordPressのファイルとMySQLデータベースは必ずバックアップしておく.

PHP4.3.9からPHP5.1.6へのバージョンアップ

Xserverの場合,サーバーパネルで「バージョンを切り替える」ボタンを押すだけ.

MySQL4.0からMySQL5.0へのバージョンアップ

Xserverの場合,サーバーパネルで「バージョンを切り替える」ボタンを押すだけ.と言いたいところだが,そうはいかない.しかし,「MySQL5移行ツール」という便利なものがあるので,これを利用する.手順は以下の通り.

  1. サーバーパネルメニュー「MySQL5移行ツール」をクリックする.
  2. 「MySQL5移行ツールの利用を開始する」をクリックする.
  3. 対象データベースの「設定」欄の文字コードに”UTF-8″を選択し、「移行(確認)」をクリックする.
  4. 「MySQL5.0へデータベースの追加(確定)」をクリックする.
  5. WordPressの設定ファイル”wp-config.php”を編集し,データベースホスト名をMySQL5のデータベースホスト名へ変更する.
  6. 「バージョンをMysql5.0に移行する(確認)」をクリックする.
  7. 「バージョンをMysql5.0に移行する(確定)」をクリックする.

この移行作業により,MySQL5データベースの文字コードがUTF-8になる.ただし,テーブルおよびフィールドの照合順序が”ujis_japanese_ci”であり,これだけでは完全な移行はできない.この点については,文字エンコーディング変換のところで改めて触れる.

WordPress ME 2.0.11からWordPress ME 2.2.3へのバージョンアップ

WordPress ME 2.0.x サポートに,「なお、WordPress ME 2.1.x 系統/2.2x 系統はすでにサポートを終了しています。パッケージとしては配布を続けていますが、これはより新しいバージョンの WordPress に移行するときの準備を行うためです。実運用には使わないでください。」と書いてあったので,最新のWordPress 3.1 日本語版へ移行する前に,WordPress ME 2.2.3へのバージョンアップを行うことにした.

WordPress ME 2.0.x サポートからWordPress ME 2.2.3のファイルをダウンロードして,解凍する.後は,readme.htmlの指示に従い,下記の作業を実施するだけ.

v2.0 系からのアップグレード

  1. 不測の事態に備えて必ず現在のファイル群をローカルに保存する。
  2. 同様にデータベースのバックアップを実行し、データをローカルに保存する。
  3. 動作中のプラグインをすべて停止させる。
  4. 解凍したファイルをすべてアップロードして上書きする。
  5. ブラウザで wp-admin/upgrade.php にアクセスしてアップグレードを実行する。
  6. 動作を確認しながら一つずつプラグインを有効化する。
  7. 以上です。ほとんどの場合、問題なく処理が完了することでしょう。

EUC-JPからUTF-8への文字エンコーディング変換

昔,「WordPress: EUC-JPからUTF-8への文字コード変換」に書いたメモを参考にしながら,文字エンコーディングをEUC-JPからUTF-8に変換する.

WordPress管理画面の「表示設定」でUTF-8を選択する.これだけで済めば嬉しいのだが,そうはいかない.あちこちで文字化けが発生する.

まずは,使用しているThemeの処理.テーマエディタを使用して,あるいはローカルで,各種phpファイルに直接日本語を入力している場合,それらもすべてEUC-JPからUTF-8に変換しておく必要がある.例えば,このブログの場合,”header.php”に「自己紹介」,「海外旅行」,「人気記事」などの文字を直接書き込んでいるので,このファイルの文字エンコーディングを変換する必要がある.常日頃使用しているテキストエディタ”MKEditor”の場合,ダウンロードしたファイルを開き,文字コードに”UTF-8N(BOMなし)”,改行コードに”LF”を選んで「名前を付けて保存」し,再びアップロードするだけ.

もう1つ必要なのが,MySQLデータベースの文字コード変換.上述の通り,既にMySQL5データベースの文字コードはUTF-8になっているのだが,データベース内のテーブルおよびフィールドの照合順序が”ujis_japanese_ci”のため,これを”utf8_unicode_ci”に変更する必要がある.この変更には,phpMyAdminを使用する.

最終的に,phpMyAdminを用いて,データベース内のテーブルとフィールドの照合順序が”ujis_japanese_ci”となっているところはすべて”utf8_unicode_ci”に変更する.しかし,ここに大きな罠がある.テーブル”wp_options”の各フィールドの照合順序を”utf8_unicode_ci”に変更すると,エラーが発生して管理画面に入れなくなる.これは,”wp_options”内で使われている日本語一文字がEUC-JPでは2byte,UTF-8では3byteと異なるためだ.この危機的状態を回避するために,「WordPress: EUC-JPからUTF-8への文字コード変換」に書いた通り,”wp_options”の「管理人」,「編集者」,「作者」,「寄稿者」,「協力者」の5ヶ所について,「s:6:”管理人”;」のように日本語部分の前の数字が日本語文字数の2倍になっているはずなので,これを「s:9:”管理人”;」のように3倍の数字に書き換える.

昔のメモが役立った.自分を褒めてあげる.

これでOKのはずだ.UTF-8への文字エンコーディング変換が終了.

WordPress ME 2.2.3からWordPress 3.1 日本語版へのバージョンアップ

Xserverの自動インストール機能を利用した.作業手順は以下の通り.

  1. phpMyAdminを用いて,データベースをエクスポートする.
  2. データベースを削除する.
  3. WordPress ME 2.2.3を削除する.
  4. WordPress 3.1 日本語版をインストールする.
  5. phpMyAdminを用いて,データベースをインポートする.
  6. プラグインの更新と設定を行う.
  7. テーマの更新と設定を行う.

文字エンコーディングが既にUTF-8になっていれば,移行に大きな問題は生じないようだ.いくつかのプラグインが動作しなかったり,テーマの設定を変更する必要があったりするが,何とかなった.

これでようやく本家WordPressのユーザとなった.ここまで放置しておいたのは恥ずかしいかぎりだが...

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>