Apacheのログ設定

提供: Astarisk Works Wiki

目次

はじめに

Apacheを標準で使っていると、アクセスログに画像へのGETまで記録されてしまい、ログが肥大化する。必要ないならば画像へのGETは記録しないようにしたほうがいい。 ここでは、「 mod_setenvif 」というモジュールを使用して、画像へのGETを記録しないようにする設定を説明する。

設定方法

モジュールの確認

デフォルトではmod_setenvifは標準でインストールされますが、念のため httpd.conf に以下の記述がある事を確認する。

LoadModule setenvif_module modules/mod_setenvif.so

ログの設定

確認ができたら、具体的に設定していきます。

httpd.conf の中に画像ファイルのログ採取に関する以下の記述を追加します。 環境変数「 no_log 」の中にログ採取しないファイルの拡張子を記述する。

SetEnvIf Request_URI "\.(gif)|(jpg)|(png)$" no_log

追加する場所は LoadModule 以降ならどこでも構わないが、LogFormat や CustomLog の記述がある辺りが後で見て分かりやすい。

次に CustomLog に関する記述を編集する。 具体的には以下の様に編集する。

デフォルトの記述

CustomLog /var/log/httpd/access_log common

以下の様に変更する。

CustomLog /var/log/httpd/access_log common env=!no_log

設定ができたら、Apache を再起動し、変更を反映させる。

応用

Javascriptファイル、CSSファイルもログに記録したくなければ、SetEnvIfの設定でjsやcssも追加すればよい。

個人用ツール