apache2.2環境で動作していたサーバをapache2.4へ移行した際のトラブル。こんな差作らないでほしいと切に願う。。。
環境情報
- 移行前サーバ apache2.2
- 移行後サーバ apache2.4
- 移行したapacheのcacheに関する設定値
<IfModule mod_cache.c>
<IfModule mod_disk_cache.c>
CacheRoot /var/cache/apache
CacheEnable disk /hogehoge/contents/
CacheIgnoreCacheControl On
CacheIgnoreNoLastMod On
CacheDefaultExpire 600
CacheMaxExpire 600
</IfModule>
</IfModule>
状況と原因、対応
- 状況
- キャッシュを保持する「/var/cache/apache」内にファイルが生成されない。
- ※元々は移行先の新サーバでディレクトリ作成忘れてたので、ソレが原因かと思ったけど、作成して権限も付与したのに、apacheを再起動しても駄目だった。
- 原因
- apache2.2とapache2.4でモジュール名が変わってた
■apache2.2
# apachectl -M | grep cache
cache_module (shared)
disk_cache_module (shared)
■apache2.4
# apachectl -M | grep cache
cache_module (shared)
cache_disk_module (shared)
- 対応
- apacheのconfigでIfModuleの表記を変更
■apache2.2
<IfModule mod_disk_cache.c>
</IfModule>
■apache2.4
<IfModule mod_cache_disk.c>
</IfModule>
disk_cacheとcache_diskの差で動かない。configtestで検知できないのはツライなぁ。
コメント