1月 312014
 

いやー。WordPress なブログを三つ持っているのですが、そのうち二つのブログで WordPress 3.7.1 から 3.8.0 そして 3.8.1 へ自動アップデートできなくて困っています。

/wp-admin/update-core.php から [今すぐ更新] ボタンを押すと以下の画面になって、 wordpress.com へのアクセスがタイムアウトしているようです。

WordPress_update

パケットキャプチャしたり、自分のサーバのログを見たのだけど、どうも原因が特定できない状態。しょーがないので自動アップデート(ボタンによる更新作業。か)は断念して、手動アップデートすることにしました。

以下はその作業ログです。あ。root もしくはシェルが利用できる環境が必須です。 ftp しか利用できない環境では、残念ながら無理かもしれません。

あと、この手順で手動バージョンアップを実施してブログがおかしくなっても筆者(それはつまりは僕のことですが)は責任は持てないので、自己責任でお願いします。

 
1). 作業前にバシっとバックアップを取りましょう。
ブログの DocumentRoot が /usr/local/www/blog/ だとして話を進めます。

$ sudo -s
# cd /usr/local/www/
# tar cvzfp blog-backup.tgz ./blog
# cd blog/
# cp wp-config.php wp-config.php.sv

 

バックアップが完了しました。まぁ、ほぼ全部を tar で固めたのでイザというときは解凍すれば良いだけですね。必要であれば MySQL などの DB もバックアップしましょう。僕はバックアップしませんでしたけどf(^^;;。

 
2). パーミッションの確認
ブログの DocumentRoot が /usr/local/www/blog/ だとして、その下の wp- で始まるファイル群ののオーナーとグループを確認します。 apache:apache とか www:www や daemon:daemon などでしょうかね?

 
3). WordPress のソースの展開
WordPress のサイトからダウンロードして来たインストールしたいバージョンのファイルを展開し、オーナーとグループを直します。

$ unzip wordpress-3.8.1-ja.zip
$ cd wordpress
$ sudo -s
# chown -R apache:apache ./*
#

 
4). バージョンアップ実施
インストール前にオーナーとグループをそろえたので後はドバっと行きます;-)。

# cd ~/wordpress/
# /bin/cp -pr * /usr/local/www/blog/
#

 
豪快に cp します。オプションに -pr を付けたのでパーミッションと全てのディレクトリをサクっとインストールしてくれます。

ダウンロードした wordpress を展開したディレクトリの中のディレクトリは wp-admin/ wp-content/ wp-includes/ の三つです。wp-content/ の中が気になるようでしたら別途保存しても良いかと思われます。

が、上記で一応ファイル群のインストールは完了しました。

 
5). データベースの更新
cp -pr の実行が完了したら http://FQDN/wp-admin にアクセスしログインします。ログインするとデータベースを更新する必要があります。と、言われるので[WordPress データベースを更新]ボタンを押します。

WordPress_update2

これが無事に終わるとアップデートは完了です。

手動でやるとしてもずいぶんと簡単ですねぇ。「WordPress の更新」の画面からボタンをぼちっとな。と、押してもダメな場合はバックアップの後に cp -pr ってことでしょうかねぇ。けど、せっかくならインストール用スクリプトも同梱してくれれば良いのになぁ。

 コメントを書いてください。

HTML タグが利用できます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img localsrc="" alt="">

(必須項目)

(必須項目)

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)