猫型iPS細胞研究所

Windows、Linux、iOS、DB、Network

Apache

Apacheのログの出力設定

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

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

access_log

デフォルトでは下記のように記載されていると思います。
LogFormatで書式を設定し、CustomLogで出力先を設定します。
LogFormatは”~出力内容~” 名前
CustomLogは出力先、使用するLogFormatの名前
を指定します。

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 logs/access_log combined



LogFormatはデフォルトで4つ用意されています。
combinedがcommon、referer、agentを全てを表示する設定。
commonが一般的な設定。refererが一般的なWebサーバーとしての最小。agentがブラウザ情報の出力例です。

LogFormatの変数

LogFormatに様々な変数を設定して、出力内容をカスタマイズできます。

 %a リモートIPアドレス
 %A ローカルIPアドレス
 %B HTTPヘッダを除いた転送バイト数
 %b HTTPヘッダを除いた転送バイト数。
 %f リクエストされた仮想ディレクトリ+ファイル名 (例:/var/www/html/dir/test.php)
 %h リクエストしたリモートホスト名 (例:HTTP/1.1)
 %H リクエストされたプロトコル
 %l identによるリモート・ユーザ名
 %m リクエストメソッド (例:POST)
 %t リクエストを受けた時刻
 %r HTTPリクエストヘッダー (例:POST :/var/www/html/dir/test.php HTTP/1.1 )
 %s サーバーがリクエストに対して返したステータスコード (例:200)
 %U リクエストされたURL (例:/dir/test.php)
 %u 認証に使用されたリモートユーザー名 (べーシック認証のユーザー名)
 %v リクエストを処理するサーバー名 (例:localhost.localdomain)
 %V UseCanonicalNameディレクティブの設定に応じたサーバー名
 %{ヘッダーの名称}i 



%{ヘッダーの名称}iに%{Authorization}iと指定すれば、「Basic ベーシック認証のID:passのbase64の値」が表示されます。

除外ログ

SetEnvIfで設定して、customLogの最後にenv=!nologをつけて除外します。
除外するのは、特定のIPからであったり、URIに含まれる文字列をしていしたりします。

SetEnvIf Remote_Addr 192.168.1. no_log ←192.168.1.xのアドレスを除外
SetEnvIf Request_URI test no_log ←URIにtestを含む場合は除外

CustomLog logs/error_log api_error_log env=!no_log

error_log

エラーログは出力するレベルと場所を指定します。

#debug, info, notice, warn, error, crit ,alert, emerg.
LogLevel warn
ErrorLog logs/error_log

Gooleアドセンス用336

Gooleアドセンス用336

-Apache
-

執筆者:

関連記事

Apacheの再起動

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

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

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

Apacheセキュリティの基本

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

Apacheログの設定方法

Apacheのログは /etc/httpd/conf/httpd.conf を編集して設定します。 INDEX1 通常ログ2 LogFormatでカスタマイズする3 除外する4 エラーログ 通常ログ …

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

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