アップグレードやっと成功!

何が困ったって、エラーメッセージが(Browser の中にも、サイトのエラーログにも)何も出ず、単に「何も起きない」だけだったこと・・・

しかも、いろいろググってみても、「○○のサイトでの対応状況」みたいなのとか、商用サイトにインストールした場合の説明は比較的豊富に出てくるのだけど、自宅サーバーにインストールした場合の細かい説明がなかなかみつからない・・・(しかも、ftp が PASV だとダメとかいうような、やってみたけど結局動かなかった、参考にならない説明とかしか・・・)

こういう時はググり方を変えるテクニックを使って「WordPress 自動アップグレード 自宅サーバー」でググってみたところ、同じ悩みを持つ書き込みをいくつか発見!結果、WordPress のディレクトリーを Apache の持ち物にしてしまえば、何も考えなくても(説明のわかりにくい ftp の設定などしなくても)簡単にアップグレードできるらしいというのが見つかりました。

WordPress 2.7.1 公開 自動アップグレードも可能

とは言うものの、「ftp はどうよ?」というのも気になったので、商用サイトの PHP の configure オプションを調べてみた(単に、自分が関係しているサイトに phpinfo(); を書いたページを置いてアクセスしてみただけ :)ところ、–enable-ftp というオプションが目に付いたので、それを追加して再インストールしたら、無事に動きました!!

ちなみに、「ダウンロード以前」の問題でハマってググったので、先に気が付きましたが(そして、その問題ではなかったけど・・・ orz)、自動アップグレードでは圧縮ファイルをダウンロードしてきて展開するので –with-zlib の指定も必要です。(実はこのオプションも入れてなかった (^.^;))まぁ、ググった情報によると、このオプションを忘れていた場合には(ダウンロードまではうまくいっていた場合)、ちゃんとエラーメッセージが出るそうですが・・・(それなら、–enable-ftp されていないときもメッセージ出して欲しかった・・・ orz)

さらに、インターネットサイドからアクセスしていたので、アップグレードの間だけ ftp ポートを開けた(サイトにアクセスしているブラウザがサイトに対して ftp で書き換えをするのかと思ってた・・・ orz)のですが、よくよく考えてみると –enable-ftp した PHP がアクセスしているのは「自分自身」のはず・・・

というわけで、インターネット側の ftp ポートを閉じても問題なかったのでした! orz

結局、自動アップグレードの機能は「(PHP で動作している)WordPress 自身が圧縮されたファイルをダウンロードしてきて、テンポラリーのディレクトリーに置き、解凍したファイルを WordPress が設置されているディレクトリーに対して上書きする」という動作原理が、きちんと理解できていれば(わかりやすく書かれていれば)問題なかったのでしょうが・・・

「Apache のプロセスで動いている WordPress 自身が上書きするためには、WordPress のディレクトリーに対する Apache の書き込み権限がないといけない」ということもわかるはずだし、「そうでない場合」の代替手段として(そもそも、「ftp は代替手段なのだ」という事実自体が不明だった・・・ orz)「WordPress のディレクトリーに書き込みができるアカウント(WordPress を設置したアカウント)を使って ftp で上書きする」わけだけど、この「上書きする」の「主語」が WordPress 自身だというところが明確になっていれば、「PHP が ftp enable されていなければならない」ことも気が付くはずだし、あのわかりにくい ftp アカウントのページ(圧縮ファイルをダウンロードするための WordPress のサイトを指定するかに見える (-.-;))も「自分自身を上書きするためのアカウント情報」なのだから、普通はホストは localhost でいいはずだし、アカウントは「WordPress を設置した(上書き可能な)アカウント」だというのも明白なはず・・・

コメント

タイトルとURLをコピーしました