apacheのバージョン(2.0.46)が原因でmod_pythonが使えず、FastCGIにチャレンジした訳ですが、結局うまく行かず。。。
仕方ないのでapache自体のバージョンアップに賭けてみることにしました。
念のため、データを全てバックアップし(DBの分も)、DNSを他の鯖に向けて「メンテ中」表示を出してからスタート。
まずapachectl stop。
apache2.2系とapache2.0.58〜辺りでもmod_pythonが入らないという話を海外ML・ブログで見かけたので(2006年とかのちょっと古い情報なのでもしかしたら杞憂だったかも。。。)、apacheのアーカイブサイトから2.0.55のソースをダウンロード。
「2.0系→2.0系のようなマイナーバージョン同士のアップグレードでは設定の同一性は維持される」というapacheのドキュメントを信じて^^;
サーバーを借りたときから入っていたapache2.0.46はRedHatなレイアウト(/var/www/htmlにドキュメントルートがあり、/usr/sbinにapxsやapachectlがあるタイプ)だったので、config.layoutのRedhat部分を確認し、それを使う。
tar -zxvf httpd-2.0.55.tar.gz
./configure --enable-so --enable-mods-shared=all --with-layout=RedHat
make
make install
#(あれこれ出したり入れたりしてたので最初からルートで作業してます^^;)
あっけなく上書きアップグレード完了。
FastCGIで悩む暇があったらもっと早くやればよかった…。
httpd.confにLoadModuleの行を入れ、サブドメインだけDNSを戻してapachectl start。
正常に起動♪(つまり、LoadModule python_moduleの行でひっかからなかった♪)
早速サブドメインを使って
〜でmod_pythonでの動作を確認。
無事、urls.pyで指定した表紙のページが表示された!^^
結論から言って、VPS〜専用鯖でroot権限持ってる人はmod_pythonを使ったほうがFastCGIより楽だと思う。テストサイトでOKになったらhttpd.confを書き換えてapache再起動するだけでいいので。
#今後、VPS〜専鯖を契約する際はapacheのバージョンにも注意が必要?