WordPress 2.7.1 へのアップデートで勝手にずっこけまくる。
こんにちは。
突然ですが、このブログは WordPress を利用しています。
昨日のエントリを書くにあたって、
管理画面に新バージョンがリリースされたと表示されていたので、
アップデートしてみようとしました。

バージョン 2.7 からは「自動アップデート機能」が利用できるのですが、
利用しているサーバが FTP を許可していないため利用できません。
( FTPS は利用できるそうです。FTPS ≠ SFTP )

以下はそのだめだめ試行錯誤記録です。(最終的にへとへとゴールイン)
よい子は真似しないでくださいね。
1. WordPress の管理画面から ZIP ファイルを Windows のデスクトップにダウンロード ( 最新版のダウンロードがリンクではなく、Form Button だったため )
2. PuTTY で ssh ログインして、一瞬 root でログイン可能にする。( うわあ … )
$ sudo vi /etc/ssh/sshd_config
PermitRootLogin yes
#PermitRootLogin no$ sudo vi /etc/ssh/sshd_config
$ sudo /etc/init.d/sshd reload
3. WinSCP3 で root としてログイン、
WordPress が存在する 1 つ上のディレクトリに、最新版の ZIP ファイルを置く
4. 用が済んだので、ssh の設定を元に戻して root ログインを不可能にする。
$ sudo vi /etc/ssh/sshd_config
#PermitRootLogin yes
PermitRootLogin no$ sudo vi /etc/ssh/sshd_config
$ sudo /etc/init.d/sshd reload
5. ZIP ファイルのディレクトリに移動し、解凍します。
$ su -
# cd /PATH/TO/SOMEWHERE ( ZIP ファイルのあるディレクトリ )
# unzip wordpress-2.7.1-ja.zip
6. wordpress というディレクトリができるので、
既存の設定ファイルをコピーして新しい設定ファイルを作成する
なお、ここでは既存の WordPress 用ディレクトリ名を ” html ” であるとする。
# cp html/wp-config.php wordpress/wp-config.php
7. 既存のディレクトリ名を適当に変更し、
新しいディレクトリ名を既存のディレクトリ名に変更する。( すりかえる )
必要であれば、所有権の変更も行う。
# mv html html_old
# mv wordpress html
# chown -R yosketch:apache html/
それで、http://blog.yosketch.jp/ を表示させたら、
画面が真っ白! 頭も真っ白!!白銀の世界へようこそ!
DB のほうはバックアップとってないし、もしかしてプギャー??
その一方で、WordPress の裏っかわ、管理画面は問題なし。
そこで、テストエントリを書いて見る。投稿処理は問題ないように見える。
「投稿を表示する」のリンクを押したところ、404 Not Found … orz
しかし、これは!と思ってチェックしたら、
最新版 WordPress のディレクトリには .htaccess がない!
8. htaccess ファイルをコピー ( 本当は $ cp -p で所有権そのままにコピーできます )
# cp html_old/.htaccess html/.htaccess
# chown apache:apache html_old/.htaccess html/.htaccess
これでうまく行っただろうと思ったら、
今度はテストエントリページまで驚きの白さに。あわわわ。
html/index.php に
error_reporting(E_ALL ^ E_NOTICE);
を仕込んだけど、再度読みこみをしても無言。。
HTML ソースもなんか典型的な真っ白のページ作成コードで、
Apache の log を tailf して眺めていても、error_log には何も吐かれない。
裏 ( 管理 ) 画面は OK で、表画面が NG なのはなぜだ。
そっか、テーマスキンとか画像がないからだ!!( ピキーン )
9. ということで。テーマフォルダをコピー
# cp -pr html_old/wp-content/themes/* html/wp-content/themes/
cp: overwrite `html/wp-content/themes/classic/style.css’? y
… ( 略 ) …
10. プラグインも忘れてた。
# cp -pr html_old/wp-content/plugins/* html/wp-content/plugins/
11. あと過去にアップロードした画像ファイルの移動も忘れてた。笑
# mkdir html/wp-content/uploads
# cp -pr html_old/wp-content/uploads/* html/wp-content/uploads/
# chown -R yosketch:apache html/wp-content/uploads/
# chmod 777 -R html/wp-content/uploads/# ll html/wp-content/uploads/2009/01/
feed-icon-legacy_blue.gif image-150×21.gif …
これでどうだ!!
やった。
画像も OK.
コメントも OK.
プラグインも動いているみたい。
あー、面倒かった。。
ちなみに今回のバージョン 2.7.1 では
こんなにたくさんの不具合が修正されているようです。
いつもお世話になっております。
そもそも自前サーバなので、
FTP サーバくらい立てれば「自動アップデート」で話は済んでいたのに。
まま、痛い目見れて良かったです。
FTP は Jail 環境で作らねば、と思っていたので、
近々 vsftpd で構築したいと思います。
いやー巨大システムこわい (?)