アクセスログ解析としては AWStats, Webalizer 等といろいろあるけど、yum でさくっとインストールできる Webalizer を選択。
>> 10 Best Log Management Tools (including Alternatives to Cronolog & Analog) 10のベストログ管理ツール (CronologとAnalogの代替)
>> AWStats
>> Webalizer
yum でさくっとインストール。
yum -y install webalizer
今回は接続元 IP アドレスによる制限ではなく、Basic 認証による制限を行う。パスワードファイルを作る。
/usr/bin/htpasswd -c /etc/httpd/conf.d/.htpasswd-webalizer natsu # New password: <PASSWORD> # Re-type new password: <PASSWORD> chmod 640 /etc/httpd/conf.d/.htpasswd-webalizer chgrp apache /etc/httpd/conf.d/.htpasswd-webalizer
httpd の /usage の設定を変更する。
cp -a /etc/httpd/conf.d/webalizer.conf /etc/httpd/conf.d/webalizer.conf.orig { echo -e 'Alias /usage /var/www/usage' echo -e '' echo -e '<Location /usage>' echo -e ' Order allow,deny' echo -e ' Allow from all' echo -e ' AuthUserFile /etc/httpd/conf.d/.htpasswd-webalizer' echo -e ' AuthName "RESTRICTED"' echo -e ' AuthType Basic' echo -e ' require valid-user' echo -e '</Location>' echo -e '' echo -e 'RewriteEngine on' echo -e 'RewriteRule ^/usage/(.*) https://%{HTTP_HOST}/usage/$1 [R,L]' } > /etc/webalizer.conf /sbin/service httpd graceful
Webalizer の設定を変更する。
cp -a /etc/webalizer.conf /etc/webalizer.conf.orig sed -i 's/^#UseHTTPS no/UseHTTPS yes/' /etc/webalizer.conf
古いログから順に読み込ませる。
/usr/bin/webalizer /var/log/httpd/access_log.3 /usr/bin/webalizer /var/log/httpd/access_log.2 /usr/bin/webalizer /var/log/httpd/access_log.1 /usr/bin/webalizer
ブラウザで https://<SERVERNAME>/usage/ からアクセスできる。
初期化したいときは /var/lib/webalizer の中を空にしてやればいい。
cp -a /var/lib/webalizer /var/lib/webalizer.$( date '+%Y%m%d%H%M%S' ) && rm -f /var/lib/webalizer/*
Webalizer は 毎日 04:02 に cron にて実行されるので放置。
cat /etc/cron.daily/00webalizer