awstats

アクセス解析
apt-getで入れて、設定ファイルを修正する

Awstatsを導入し、アクセスログの解析を行なう。Awstatsは集計結果を非常に見やすくまとめてくれるツール。
先ずはこのAwstatsをインストールする

# apt-get update
# apt-get install awstats

Awstatsの設定ファイルの編集を行なう

# vi /etc/awstats/awstats.conf
LogFile=”/var/log/apache/access.log” ←51行目

LogFile=”/var/log/apache2/access.log” ←Apache2系を使用の場合は変更

LogFormat=4 ←118行目

LogFormat=1 ←1に変更

SiteDomain=”” ←153行目

SiteDomain=”chibi.name” ←ドメイン名を記述

Lang=”auto” ←867行目

Lang=”jp” ←jpに変更

/etc/apache2/sites-available/defaultに以下を追加しておく。
この記述を入れておかないと、Awstatsの画面を出した時にアイコン等が表示されない。

# vi /etc/apache2/sites-available/default
Alias /awstats-icon/ “/usr/share/awstats/icon/” ←追加

以上が終了したらApacheを再起動しておく

# /etc/init.d/apache2 restart

以上で、http://ドメイン名/cgi-bin/awstats.plにアクセスすると、
Awstatsによるログの集計結果を見ることができる。

ただし問題なのは、このままでは誰もがこのURLにアクセスすると閲覧できてしまう。
AwstatsにアクセスできるのをLAN内に限定するような設定を以下で行なっていく。

先ずは、awstats.plを移動させる。当サイトのドキュメントルートは/var/www/htmlとしている。
そこで、/var/www/にawstatsというディレクトリを作成し、そこにawstats.plを移動する。

# mkdir /var/www/awstats
# mv /usr/lib/cgi-bin/awstats.pl /var/www/awstats/
# chown -R www-data:www-data /var/www/awstats/

次に以下のファイルを/etc/apache2/conf.d/に作成する

# vi /etc/apache2/conf.d/awstats
Alias /awstats /var/www/awstats

Options ExecCGI
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.1

Allow fromの部分の指定は自分の環境に置き換える

以上が終わったら、Apacheを再起動しておく

# /etc/init.d/apache2 restart

これで、Awstatsにアクセスする際は、http://ドメイン名 or IPアドレス/awstats/awstats.pl とすればいい。
また、上で設定してるように、http://ドメイン名/awstats/awstats.pl にアクセス可能なのは、LAN内のマシンのみである。

また、Awstatsの自動更新についてだが、こちらはデフォルトで/etc/cron.d/awstatsが用意されており、
定期的にログの集計を更新してくれるようになっているが、こちらは使わないので、/rootに予めbackupという名前のディレクトリを
作成しておき、ここにでも移動しておく。

# mkdir /root/backup
# mv /etc/cron.d/awstats /root/backup/

crontabへAwstatsが定期的に実行されるように登録を行なう。ここでは毎日0時に実行されるようにしている。

# crontab -e
00 00 * * * /var/www/awstats/awstats.pl -config=awstats -update > /dev/null 2>&1 ←追加

最後に、Awstatsの解析データは/var/lib/awstats/以下に記録されるようになっている

[参考]
http://chibi.name/debian/awstats.shtml