WordPressオレンジロゴ
連休を利用して、本サイトのWordPressをアップグレードしてみました。運用サーバでは、自動アップグレードがうまく動作しないので、手動アップグレードで行いました。
いままでも、手動アップグレードは何度がやったことがありますが、いつも記録していないので、忘備録として、今回はちょっとまとめておくことにしました。
それぞれのWordPressのバージョンやサーバ環境によって方法は多少異なるでしょうが、自動アップグレードがうまくいかずに困っている方の参考になれば幸いです。
まずはバックアップ
何はともあれ、バックアップは必ずとりましょう。
私の環境では、データベースはローカルPCから、mysqlコマンドでバックアップをとっています。普段はcronをつかって以下のようなスクリプトでバックアップしています。
$ mysqldump -h databaseのホスト -u ユーザー -pパスワード データベース名 > $BACKUP_DB
これ以外に、ローカルファイルもバックアップする必要があります。
私の環境ではsshが利用できるので、サーバでアーカイブして、ローカルPCへ保存しています。
今回は、サーバの別のディレクトリへアーカイブを保存します。私はtarコマンドでアーカイブすることが多いです。
WordPressのプラグインにはバックアップしてくれるものもあるようですが、私は直接コマンドでバックアップしています。
$ tar zcvf wp-20130428.tgz ./WordPressのディレクトリ
これでアップグレードに失敗しても、なんとか戻せるはずです。
新しいWordPressを展開
新しいWordPressをダウンロードします。今回はwordpress-3.5.1-ja.zipをダウンロードしました。
これを作業用ディレクトリに展開します。
$ unzip wordpress-3.5.1-ja.zip $ mv wordpress new-wordpress
プラグインを停止
とりあえず、全プラグインを停止しておきます。
ここでサイトメンテナンス中とかを表示しておくといいでしょう。私は使っていませんが、そのようなプラグインもあるようです。
旧ファイルを新しいWordPressへ
旧ワードプレスディレクトリをold-wordpress/とします。
次にold-wordpress/のローカルファイルを新しいnew-wordpress/へ移動または複写します。
旧バージョンのWordPressディレクトリに新しいWordPressファイルを上書きするのは、なんとなく怖いので、逆に必要な旧WordPressファイルを新しいWordPressに複写しています。
私の場合、必要なファイルは以下のものです。他にこのサイトで利用しているcssやjavascriptなどのディレクトリもありますが、割愛します。
.htaccess wp-config.php - データベースの設定など wp-content/ plugins/ - プラグイン themes/ - テーマ uploads/ - アップロードした画像
wp-config.phpは、新しいバージョンのwp-config.phpと比べて、変更がなさそうなら、そのまま複写します。
pluginsは使っているものだけを新しいWordPressに複写します。アップグレードを機に整理しました。
themesは自分が使っているものを複写します。デフォルトテーマは使っていませんが、新しいものを残しておきました。
uploadsはそのまま、移動します。
新しいWordPressを元のディレクトリへ
新しいWordPressディレクトリと旧ワードプレスディレクトリを比較して、漏れがないか確認します。
大丈夫なら、旧ワードプレスディレクトリをばっさりクリーン削除します(ディレクトリを間違わないように)。
そして、新しいWordPressディレクトリ下の全ファイルを複写します。
$ rm -rf old-wordpress/* $ cp -rp new-wordpress/* old-wordpress/ # pオプションで最終更新日時を残すようにしています。
アップデートを起動
wp-admin/upgrade.phpを起動して、データベースを更新します。
その後、更新が必要そうなプラグインを最新にします。私の環境ではプラグインの自動アップデートも無理なので、新しいバージョンのzipファイルをダウンロードしてきて、pluginディレクトリに解凍します。
最後に、サイトの動作を確認します。今回は特に問題がありませんでしたが、もし、動作がおかしい場合は、バックアップから一旦戻すことになるでしょう。そうならないように慎重に作業したいものです。
【PR】
WordPressのインストールやホスティングでお困りの方、ぜひ弊社へご相談ください。
弊社ではWordPressをはじめとするCMSのインストール・運用サービスを展開しています。