2007年8月15日

apacheのバーチャルホストのログをローテションしていなかったので、次のリンクを参考に設定しました。

ITmedia エンタープライズ : Linux Tips「バーチャルホストのアクセスログがローテートしない」

logrotate

2007年8月10日

サイトのアクセスログをWebalizerで解析しています。
Webalizerのアクセス解析にリファラーが表示されていませんでした。
リファラーを表示するように設定するメモです。

Webalizerの設定ファイル

パッケージでWebalizerがインストールされている場合、例えば、「/etc/webalizer.conf」がWebalizerの設定ファイルです。
(デフォルトの設定ファイルのインストール場所は、環境によって違うと思います。)

バーチャルホスト等でApacheのログを複数のファイルに出力している場合、ApacheのログファイルごとにWebalizer設定ファイルを作成すると便利と思いました。
作成したWebalizer設定ファイルは、webalizerコマンドに指定します。

Webalizer設定ファイルの次の項目を編集します。

LogFile apcheのログファイルのパス。
OutputDir Webalizerのアクセス解析結果の出力先。
HostName ホスト名を指定します。バーチャルホストで運用しているので指定した方がよいようです。このホスト名がアクセス解析結果出力ページの「Top 30 of 387 Total URLs」等のリンクに付加されるようです。

必要に応じて、次の項目も変更します。

HistoryName
Incremental
IncrementalName

リファラーをアクセスログに出力

apche設定ファイル(httpd.conf)に「CustomLog logs/access_log common」となっている部分を次のように変更します。
“logs/access_log”は、ログの出力先で、環境によって異なります。

CustomLog logs/access_log combined

次のような行が、httpd.confに記述されていることも確認します。
“combined”がログフォーマット名になります。

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

httpd.confの設定については、「Webサーバー構築(Apache) - Fedoraで自宅サーバー構築」のページが参考になりました。

アクセス解析結果の出力

webalizerコマンドで解析結果を生成します。

解析結果の出力先や出力オプションは、Webalizerの設定ファイル(/PATH/webalizer.conf)に記述しています。
「-c /PATH/webalizer.conf」のようにして、Webalizerの設定ファイルを指定しています。

$ webalizer -c /PATH/webalizer.conf