日経Linux2008年7月号の「初めてのApacheモジュール」という連載にmod_cacheのことが載っていたので導入してみました。
CentOS 5.1+Apache 2.2.3の環境です。
#mkdir /var/cache/mod_disk_cache #chown apache.apache /var/cache/mod_disk_cache #chmod 700 /var/cache/mod_disk_cachehttpd.conf
CacheRoot /var/cache/mod_disk_cache CacheEnable disk /
導入は簡単なのですが、効いて欲しいCGIで効いていない様子。
Cashing Guideを読んでみたけどcacheされる要件はみたしてます。
さらに調査。結局、グーグル先生によると原因は↓でした。
ASF Bugzilla - Bug 40805 mod_cache fails to retrieve objects cached for URLs which have been rewritten to target URLs with a query string
mod_rewriteしてるとダメなのですね。キャッシュに保存した時のキーとは異なるキーで取ってこようとするようです。
さて、原因がわかったので解決!といきたいところですが、そうすんなりいかないのがにわかLinuxユーザの痛いところ...
mod_cacheだけパッチが当たった状態にしたいのですが...とりあえずSRPMを取ってきました。
#wget http://rsync.atworks.co.jp/centos/5.1/updates/SRPMS/httpd-2.2.3-11.el5_1.centos.3.src.rpm #rpm -ivh httpd-2.2.3-11.el5_1.centos.3.src.rpm
これで /usr/src/redhat/ の下にソースファイルのアーカイブ等が展開されました。
で、ちょうど日経Linux2008年7月号にはmod_chrootをrpmパッケージ化してみるような記事が載っていたのでざっと読んでみてrpmbuildを使うっぽいことを理解しました。
#cd /usr/src/redhat/ #rpmbuild -bc SPECS/httpd.spec
これで実行してみるとconfigure+make相当のことが実行されました。
なんとかなりそうな気がしてきました。
つづく
コメントする