Archive for the ‘WordPress’ Category

WordPress 2.7.1 へのアップデートで勝手にずっこけまくる。

月曜日, 4 月 20th, 2009

こんにちは。
突然ですが、このブログは WordPress を利用しています。

昨日のエントリを書くにあたって、
管理画面に新バージョンがリリースされたと表示されていたので、
アップデートしてみようとしました。

WordPress 2.7.1 が利用可能です!

バージョン 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 で構築したいと思います。

いやー巨大システムこわい (?)