アクセスログ解析としては 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
