さくらインターネットで EasyWPUpdate を使う
2007/03/3
ここ数日の間に WordPress 2.1.1 をダウンロードした人は速やかに 2.1.2 にアップグレードしたほうが良いです。というのも、WordPress 公式サイトによると
If you downloaded WordPress 2.1.1 within the past 3-4 days, your files may include a security exploit that was added by a cracker, and you should upgrade all of your files to 2.1.2 immediately.
とのこと。つまり、ここ 3-4 日以内に WordPress 2.1.1 をダウンロードした人は、ファイルがクラッカーに改変されちゃっている恐れがあるので、2.1.2 にアップグレードしなさい、と書いてあります。
このブログはおそらく対象外なのですが、せっかくなので WordPress を簡単にアップグレードする方法を調査してみました。 すると、EasyWPUpdate なるシェルスクリプトが見つかりました。
EasyWPUpdate を使うと、
- WordPress 最新版のダウンロード
- 現在動作中の WordPress のバックアップ
- データベースのバックアップ
- 最新版の適用
を自動化してくれる模様。Standing Tall さんの記事を参考にして動かしてみましたが、このブログをホスティングしているさくらインターネットでは、そのままでは動作しませんでした。
つまづいたのは次の2点です。
- さくらインターネットのサーバは FreeBSD で動作していますが、EasyWPUpdate は FreeBSD の cp コマンドにはないオプション「–remove-destination」を使用してファイルをコピーしているため、途中で止まります。
- EasyWPUpdate は、データベースのバックアップ時、mysql コマンドに --protocol=TCP というオプションを渡していますが、「mysql: unknown variable ‘protocol=TCP’」と怒られて止まります。
1. については、EasyWPUpdate は GNU cp コマンドが利用できる前提で作られているため、GNU cp をインストールすればいいです。GNU Fileutils 4.1 をこの辺から持ってきて make しました。
$ mkdir ~/src
$ cd ~src
$ wget http://ftp.yz.yamagata-u.ac.jp/pub/GNU/fileutils/fileutils-4.1.tar.gz
$ tar xvzf fileutils-4.1.tar.gz
$ cd fileutils-4.4
$ ./configure --prefix=$HOME/local
$ gmake
$ gmake check
$ gmake install
これで ~/local/bin 以下に GNU cp などがインストールされたので、パスを通して利用します。
$ export PATH=$HOME/local/bin:$PATH
2. については、データベースは同一サーバ上にあるので、なくても大丈夫だろうと踏んで、「--protocol=TCP」という記述を削除しました。mysql コマンドと、mysqldump コマンドの 2 箇所に記述がありました。
あとは素直に使い方に従えばアップグレードできました。