12/22 文字コードについて追記
はじめに
wordpressのダッシュボート画面にワードプレスが2.9にバージョンアップされ更新可能と言う表示が出ていた。さっそく自動更新してみたが、MySQL4.12以上が必要というエラーメッセージが表示され、途中で中止されバージョンアップできなかった(更新作業が中止されても、その後普通に使える)。私は、MySQL4.12が何かすら知らないド素人なので、バージョンアップを諦めようかと思ったのですが、なぜかやる気があったので思い切ってやってみました。結論からいうと、予想より簡単でネットで情報を調べて作業が終わるまで、全部で10分くらいで完了しました。以下に私がやった手順を自分ためのメモとして、そのまま記録しておきます。なおこの作業が上手くいかないとブログが永久に元に戻らなくなる場合があるらしいので、自分でやる方はきちんとしたスキルのある方の説明を探した方がよいです。
(worspressの他に、MTなども同時に使っている場合は、それの対策もする必要があると思います、たぶん)
何をするのかの簡単な説明
wordpressはMySQLというデータベースを管理するソフトを使用しており、worspress2.9ではMySQL4.12以上のバージョンが必要。しかし、さくらのレンタルサーバーはMySQL4.0(4.1だったかも)なので、そのままでは使用できず、MySQLをバージョンアップしてあげる必要がある。そのために、まずはデータベースの中身をダウンロードして保存し、MySQLを一度削除、その後MySQLの最新バージョンを入れてやり、保存していたデータベースの中身をアップロードして元に戻す。データベースサーバーの名前が新しくなるので、wordpressをインストールしたときに設定したwp-config.phpファイル内のデータベースの名前も新しいものに変えてやる。以上でworspress2.9へのバージョンアップが可能になりました。難しそうに見えますが実際にやると簡単です。以下に具体的な作業内容をまとめておきます。
(最近、さくらのレンタルサーバーを新しく契約した人は最初から新しいバージョンのMySQLが入っているらしくworspress2.9への移行は問題なくできるらしい)
具体的な作業手順
最初から最後までやったとおりに順番もそのまま記録しておきます。
データベースのバックアップ
さくらのレンタルサーバー「コントロールパネル」内にある「データベース設定」をクリック。画面一番下、管理ツールの欄にある「phpMyAdmin」という画像をクリック
↓
「phpMyAdmin へようこそ」と表示され、phpMyAdminへのログイン画面が現れる。
言語は「日本語 Japanese utf-8」を選択(←ここを間違えると文字化けしてしまうらしい)
ユーザー名、パスワードはデータベースの物
実行するをクリックすると「phpMyAdmin」にログインし、管理画面が表示される。
↓
「エクスポート」をクリックし設定画面に移る。
「構造」という欄の「DROP TABLEを追加」と「IF NOT EXISTSを追加」の欄をクリックしチェックを入れてやる。
「ファイルに保存する」にチェックを入れ、右下にある「実行する」をクリックするとダウンロードが始まるので、適当な場所に保存。
↓
(念のために、ダウンロードしたファイルのバックアップをさらに別の場所にも保存したあと)
ファイルを開き20行目に
CREATE DATABASE `あなたのデータベース名`;
とあるのでこれの前にコメントアウト「– 」というものをつけて
— CREATE DATABASE `あなたのデータベース名`;
をつけて実行されないようにする。(これをしないとアップロードが上手くいかない)
↓
データベースのバックアップ完了
MySQLのバージョンアップ
「さくらのコントロールパネル」→「データベース設定」内にある「データベースの削除」をクリック。これでデーターベースが削除される。
↓
すぐに「データベースの作成」画面が出てくるので、
「データベースバージョン標準、MySQL5.1 推奨を選択」これを選んで、パスワードを設定する(私は以前と同じものにしました。もしパスワードを変更した場合は、wp-config.phpファイルの設定の時、パスワードをここで設定した新しい物に変える必要があります。)
送信をクリック
↓
新しいデータベースのサーバー名などが表示される。
↓
MySQLのバージョンアップ完了
保存していたデータベースのアップロード
「phpMyAdmin」をクリックし再度「phpMyAdmin」へログイン。
↓
再度、サーバーのユーザー名とパスワードを入れてログイン。
↓
現時点では、データベースの中身は空。
画面左にある自分のデータベース名をクリック。
↓
画面上部のメニュー部分にある「操作」をクリック
表示される画面内の一番下にある
「照合順序」で「utf8_generalci」を選択。(文字化けを防ぐため)
「実行」をクリック
↓
画面上部メニュー内から、「インポート」をクリック。
「参照」をクリックし保存していたファイルを選択。「実行」をクリックしアップロード開始。(最大16MGと表示が出たので、これ以下ならそのまま圧縮とかせずに大丈夫みたいです。私の場合12Mでした。もし16Mを超える場合は圧縮とか分割が必要らしいです、16Mを超えた場合の具体的対処法は私にはわかりません・・。)
↓
アップロード完了(成功すると「インポートは正常終了しました。~ 個のクエリを実行しました」と表示されます)。アップロードには少し時間がかかりました。
Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request POST /phpmyadmin/export.php.
Reason: Document contains no data
最初アップロードした時に、こういうエラーが出ましたが、上の方で書いたようにバックアップファイル内の20行目を「– CREATE DATABASE `あなたのデータベース名`;」と書き換えるとうまく行きました。
wordpressのwp-config.phpファイルの設定
FTPソフトで、「wordpress」をインストールしたフォルダ内の「wp-config.php」ファイルをダウンロードし編集する。
↓
「wp-config.php」内の上部の方に以下の部分があるので、新しくなったデータベースサーバー名を入れて保存(パスワードを変更した人はパスワード部分も)。データベースサーバー名は「さくらのコントロールパネル」内「データベース設定」画面から確認できます。私はひとつのサーバーに複数のワードプレスを入れているので全部変えてやる必要がありました。
/** MySQL のホスト名 (ほとんどの場合変更する必要はありません。) */
define(‘DB_HOST’, ‘あなたのデータベースサーバー名’);
編集が終わったらアップロードして、ブログを確認するときちんと表示されていました!
あとは、worspress2.9の自動アップデートをクリックすると問題なくアップデートができました。
今までは、データベースとかまったく触ったことなく苦手意識がありましたが、実際に触ってみるとバックアップぐらいなら簡単にできるとわかったので自分でやってみて良かったです♪
さくらインターネットのレンタルサーバーとロリポップは私みたいな初心者でWORDPRESSを使っている方が多いと思うので、自動でアップデートできるような仕組みができると嬉しいですね。今は無料ブログなどどんどん便利になってますから、アップデートが面倒になったりするとわざわざレンタルサーバーを借りてworspressを使うという人は減っていく気がしています。
以上で「さくらのレンタルサーバーでworspress2.9にバージョンアップする方法のメモ書き」完。
12/22追記【要注意】
worspress2.9へのバージョンアップは完了したけど、トラブルが出たので注意書き。
「wp-config.phpファイル」はウィンドウズに付属の「メモ帳」で編集するとダメでした。(公式サイトに注意書きがあった)
私は、メモ帳でも「UTF-8形式」で保存すればいいだろうと思いメモ帳を使ったのですが、正確には「UTF-8N」という「UTF-8のBOMなし」で保存しないと駄目らしく、「メモ帳」ではこれができないから駄目(BOM付きだとファイル上部に何か加えるらしく、これが文字化けやトラブルに繋がっていたと想像)。他にフリーのエディタがあったのでそれを使い「UTF-8 BOMなし」で保存するとトラブルがすべて解決しました。
発生したトラブルは以下
worspress2.9へのアップグレードが完了したあと、新規投稿や、プラグインの更新などをしても実行した後画面に何もでないトラブルが発生しました。一応投稿はされていたのでそのうち良くなると思い放置していたんですが、他のブラウザを使うとダッシュボードへのログイン画面すら表示されなくなっていました。 これはヤバいかもと考え真面目に調べました。私は、「ktai style」を使っていますが、携帯表示すると画面最上部左に意味不明の文字(文字化けしたような物)が3個表示されていました。何かおかしいと思い、一つ一つ問題を絞っていくと「wp-config.phpファイル」に行き着きました。
で、メモ帳ではなく、他のエディタで「UTF-8のBOMなし」で保存すると嘘みたいにすべて良くなりました(スッキリ)。
そういえば、昔初めてworspressをインストールする時にも、ファイルの保存形式でトラブルにあったのを思い出しました。たしかその後、worspressは初期設定はブラウザから「wp-config.php」ファイルの設定ができるようになったから、保存形式のことを忘れていたんだと思います。
おまけ
携帯表示用プラグインの「ktai style」のテーマを自分で編集しています。
テーマに日本語を入れると「UTF-8」で保存しないと文字化けするのですが、「UTF-8」で保存するとなぜかその編集した部分に相当する表示画面に「?」という文字1個表示されていたのです。今回の件を思い出し、「UTF-8」で保存したファイルを「UTF-8 BOMなし」で保存し直すと「?」が消えて綺麗に表示されるようになりました。スキルがある方には当たり前のことなんでしょうけど、もしかしたら同じようなことで困っている方がいるかも知れないので、一応メモとして残しておきます。