Webalizerは自分のマシンでWWWサーバーを動かしている場合に、どこからいつどのファイルにアクセスがあったかを見やすく表示してくれるツールである。
portsから行った。
# cd /usr/ports/japanese/webalizer
# make install clean
/usr/local/etc に設定ファイルのひな形 ja-webalizer.conf-dist ができるので、これを元に設定し直す。
ファイルの準備。スーパーユーザーで行う。
# cd /usr/local/etc
# cp ja-webalizer.conf-dist ja-webalizer.conf
パーミッションが書き込み不可なので書き込み可能にする。
# chmod 666 ja-webalizer.conf
以下、修正していく。
まずapacheが出力するログファイルを指定。
#LogFile /var/lib/httpd/logs/access_log LogFile /var/log/httpd-access.log情報を出力するディレクトリを指定。webalizerを一般ユーザーで動かす場合は書き込まれるディレクトリのパーミッションに注意すること。
#OutputDir /var/lib/httpd/htdocs/usage OutputDir /usr/local/www/apache22/data/access-info新しいアクセス情報のみを追加する。
#Incremental no Incremental yesサイトのURLを登録。
#HostName www.webalizer.org HostName www.mysite.co.jp
cronで自動実行する。あまりアクセスが多くなければ1日に1回程度動かせばよい。
Webalizerを実行するユーザーで以下を設定、実行。
% crontab -e
たとえば毎日23時55分に実行する場合はこのように。
55 23 * * * /usr/local/bin/ja-webalizer
ブラウザで、Webalizerが出力したファイルを読み込めばよい。
Webalizer の ports が新しくなったときにバージョンアップのつもりで再インストールしたとする。データディレクトリをデフォルトにしていた場合、そこが root で書き換えられてしまう。その結果、Webalizer を ローカルユーザーで実行していた場合にファイルの書き込みができなくなる。この場合はみずから root になって、データディレクトリ・データファイルの所有者をローカルユーザーに変更すると良い。