猫型iPS細胞研究所

Windows、Linux、iOS、DB、Network

Apache

Apacheログの設定方法

投稿日:2013年2月15日 更新日:

Apacheのログは
/etc/httpd/conf/httpd.conf
を編集して設定します。

通常ログ

デフォルトでは以下の4つのフォーマットが準備されています。

LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”” combined
LogFormat “%h %l %u %t \”%r\” %>s %b” common 
LogFormat “%{Referer}i -> %U” referer  ←クライアントのブラウザやOS の情報を取得
LogFormat “%{User-agent}i” agent ←どのURLから来たかを取得するリファラーを指定する場合には、%{Referer}i

CustomLog [出力先][フォーマット]
で出力先と、出力内容を設定します。
CustomLog logs/access_log combined

LogFormatでカスタマイズする

LogFormatで使用できる主な変数は以下の通りです。

%a リモートIPアドレス
%A ローカルIPアドレス
%B HTTPヘッダを除いた転送バイト数
%b HTTPヘッダを除いた転送バイト数。転送バイト数が0の場合は – が記述されます。
%h リクエストしたリモートホスト名
%H リクエストされたプロトコル
%l identによるリモート・ユーザ名
%t リクエストを受けた時刻
%r HTTPリクエストヘッダー
%s サーバーがリクエストに対して返したステータスコード。%>s と記述することで最後のリクエストを記します。
%U リクエストされたURL
%u 認証に使用されたリモートユーザー名
%v リクエストを処理するサーバー名
%V UseCanonicalNameディレクティブの設定に応じたサーバー名

出力例は以下の通りです。

%f /var/www/html/dir/test.php
%H HTTP/1.1
%I 350
%l –
%m POST
%q [blank]
%r POST /var/www/html/dir/test.php HTTP/1.1
%s 200
%u testid
%U /var/www/html/dir/test.php
%v localhost.localdomain
%V 192.168.1.10
%X –
%{Authorization}o –
%{Authorization}i Basic [ベーシック認証のid:passのBASE64の値]
%{Basic}o –
%{Basic}i –
%>s 200
%b 159

除外する

全てを出力すれば、障害時の切り分けが困難になりかねません。
そのような場合は除外する設定を追加します。
SetEnvIfで除外対象を設定し、
CustomLogの最後にenv=!nolog
を追加します。
以下の場合はURLにtestが含まれるアクセスのログを除外します。
SetEnvIf Request_URI test no_log
CustomLog logs/error_log api_error_log env=!no_log

エラーログ

エラーログは出力したいレベルと、出力先を設定します。
#debug, info, notice, warn, error, crit ,alert, emerg.
ErrorLog logs/error_log
LogLevel warn

Gooleアドセンス用336

Gooleアドセンス用336

-Apache
-

執筆者:

関連記事

Apacheセキュリティの基本(wgetとtelnetでヘッダーの確認する)

Apacheのセキュリティの設定をするのはいいのですが、 その確認方法が分からなければどうにもなりません。 URLを指定して不要なページが表示されないことを確認するだけなら簡単ですが、 ヘッダーの情報 …

Apacheセキュリティの基本

INDEX1 1.ServerTokensをProductOnlyにしてバージョンを隠す2 2.ServerSignature3 3.TRACEメソッドの無効4 【補足】Limitでメソッドを制限する …

Apacheの再起動

Apacheの再起動が必要な場合として、 confファイルの編集時などがあります。 apachectlを使って設定ファイルの構文をチェックできます。 # apachectl configtest Sy …

Apacheのログの出力設定

Apacheのログの設定は /etc/httpd/conf/httpd.conf を編集して行います。 INDEX1 access_log2 LogFormatの変数3 除外ログ4 error_log …

cakephpでFile does not exist: /var/www/html/cakephp

別の環境にcakeのディレクトリを持って行ったらApacheのエラーログに File does not exist: /var/www/html/cakephp というメッセージが・・・ mod_re …