awstats によるログ解析
awstats で apache 2 へのアクセスログを解析する設定を移行します。
目次
インストール[install]
まずは AWStatsでログ解析 を参考にしてインストールします。
# cd /usr/local/ # tar xfz awstats-6.5.tar.gz # mv awstats-6.5 awstats
各種ファイルのコピー[copy]
各種ファイルを旧サーバからコピーします。
コピーする対象は下記のディレクトリにあるファイルです。
- /etc/awstats/ ログ解析に関する設定ファイルが保存されているディレクトリ
- /var/lib/awstats 過去のログ解析結果が保存されているディレクトリ
# cd /etc/ # scp -r foo@192.168.0.xxx:/etc/awstats . # cd /var/lib/ # scp -r foo@192.168.0.xxx:/var/lib/awstats .
次に過去のログファイルのコピーも行います。
# cd /var/log/apache2
# scp -r foo@192.168.0.xxx:/var/log/httpd/200* .
ログファイルの位置が /var/log/httpd から /var/log/apache2 に変わったので、
/etc/awstats 以下の設定ファイル中のログファイルの場所関する記述を修正します。
また、サーバが切り替わってからのログ解析を行っていないので、手動でログ解析を実行します。
# cd /usr/local/awstats/wwwroot/cgi-bin # ./awstats.pl -config=takanory.net -LogFile=/var/log/apache2/ログファイル
apache 2 への設定[apache2]
awstats の結果を参照できるようにするために、apache 2 の設定ファイル
/etc/apache2/conf/httpd.conf に以下のような記述を追加します。:
#
# Directives to allow use of AWStats as a CGI
#
Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/local/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"
ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"
#
# This is to permit URL access to scripts/files in AWStats directory.
#
<Directory "/usr/local/awstats/wwwroot">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
cron の設定[cron]
最後に、定期的にログ解析を実行するために /etc/cron.hourly ログ解析用のスクリプトを作成します。
# cd /etc/cron.hourly # vi awstats # chmod +x awstats
ログ解析スクリプトの中身はこんな感じです。:
#!/bin/sh
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=takanory.net > /dev/null 2>&1
これで、一時間ごとに awstats によって web のアクセスログが解析が実行されるようになりました。