JITAKU_SVR_Wiki
サーバ運用者にとってログ肥大化はディスクを逼迫し、余計な作業を増やすだけ。
その中でも画像ログは結構要らない子だったりするので、最初からログを出さないように設定しておく。
※もちろん画像ログがあった方が調査に役立つこともあるので、一概に要らない子とは言えないが。
もし、あなたがサーバ運用駆け出しであれば、特に提案する必要はないと思うが、
中級者への一歩を踏み出したいなら、サービス内容を理解し、画像ログが必要ないと思ったら提案してみましょう。
設定方法 †
mod_setenvifというモジュールを使用するので、自分のapacheにインストールされているかを確認する。
# httpd -M | grep env_module
env_module (shared)
httpdオプションの-Mはapacheから読み込めるモジュール一覧を表示させる。
ちなみにsharedっていうことは動的モジュール(staticだと静的モジュール)
おそらくapacheをふつーにインストールすればついて来る…はず。
# vim /etc/httpd/conf/httpd.conf
CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/pukiwiki-accesslog.%Y%m%d 86400 540" combined env=!nolog
SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(css)|(js)$" nolog
上記のように記述する。
CustomLog行末にenv=!nologを追加。
SetEnvIfで出力させない文字列を指定。
正規表現を使用しているので若干分かりにくいかもしれないが、簡単に説明すると、.gif, .jpg, .png, .css, .jsは非表示にする、という意味。
最後にapacheを再起動させる。
# /etc/init.d/httpd configtest
Syntax OK
# /etc/init.d/httpd graceful
# ps -ef | grep httpd
root 6378 1 0 15:59 ? 00:00:01 /usr/sbin/httpd
root 6921 6378 0 23:25 ? 00:00:00 /usr/sbin/rotatelogs /var/log/httpd/pukiwiki-error.%Y%m%d 86400 540
root 6922 6378 0 23:25 ? 00:00:00 /usr/sbin/rotatelogs /var/log/httpd/pukiwiki-accesslog.%Y%m%d 86400 540
apache 6923 6378 0 23:25 ? 00:00:00 /usr/sbin/httpd
apache 6924 6378 0 23:25 ? 00:00:00 /usr/sbin/httpd
apache 6925 6378 0 23:25 ? 00:00:00 /usr/sbin/httpd
apache 6926 6378 0 23:25 ? 00:00:00 /usr/sbin/httpd
apache 6927 6378 0 23:25 ? 00:00:00 /usr/sbin/httpd
apache 6928 6378 0 23:25 ? 00:00:00 /usr/sbin/httpd
apache 6929 6378 0 23:25 ? 00:00:00 /usr/sbin/httpd
apache 6930 6378 0 23:25 ? 00:00:00 /usr/sbin/httpd