アクセス解析には、Google Analytics がとっても便利で有名ですが、
apache のログ解析ツールは Google Analytics では取れない情報も見れたり、
設定によってはリアルタイムでることができるため、併用するのがベストだと思います。
無料の apache アクセスログ解析ツールは
analog
Webalizer
AWStats
といくつかありますが、今回は自分が一番見やすいという理由で
AWStats を導入してみました。
まず、apache のログ形式を調査します。
httpd.conf が初期設定で解説します。
# vi /usr/local/apache2/conf/httpd.conf
で apache の設定ファイルを開きます。(VirtualHost を使用していない場合です。)
CustomLog logs/access_log common
↓ 上記の場合、以下のようにフォーマット形式を変更してください。
CustomLog /usr/local/apache/logs/access_log combined
ソースの取得
- ソースディレクトリへ移動
# cd /usr/local/src - ソースをダウンロード
# wget ‘http://nchc.dl.sourceforge.net/sourceforge/awstats/awstats-6.7.tar.gz’ - 取得したファイルを解凍
# tar zxvf awstats-6.7.tar.gz - 解凍したフォルダへ移動
# cd awstats-6.7/wwwroot - ディレクトリをapache の cgi が動作するフォルダへコピー。
# cp -r icon /usr/local/apache2/cgi-bin/awstats
# cp -r * /usr/local/apache2/cgi-bin/ - コピーしたディレクトリへ移動
# cd /usr/local/apache2/cgi-bin/ - 設定ファイルの編集
# cp awstats.model.conf awstats.conf
ここでは www.example.com の場合
awstats.www.example.com.conf などとします。
これによって 複数のドメインに対応できます。
(例) http://localhost/cgi-bin/awstats.pl?config=awstats.www.example.com.conf
でcofig を指定することで、格サイトのログの解析結果を参照できます。またその場合複数のconf を作成してください。# vi awstats.www.example.com.conf 解析するファイルを指定します。
LogFile=”/usr/local/apache2/logsaccess_log”
※ apache のログローテ等を行っている場合は logsaccess_log* での指定も可能だが、
ファイルが大きくなると処理が重くなります。
ログの種類を指定 W はweb のログになります。
LogType=W
apache で combined の場合は 1 を設定
LogFormat = 1
運用しているドメインを指定します。
SiteDomain=”www.example.com”
DNSの逆引きをする場合は1を設定
DNSLookup=1
解析後のデータ格納ディレクトリ
DirData=”/home/web/awstats_log_data”
cgi を実行するディレクトリ
DirCgi=”/cgi-bin/awstats
アイコンの場所を指定
DirIcons=”/icon”
年間表示する場合は3を設定
AllowFullYearView=3
日本語で表示する場合
Lang=”jp”
解析対象外にするホストを指定します。
SkipHosts=”192.168.0.1 10.0.0.1″
解析対象外にするユーザエージェントを指定
SkipUserAgents=”IE6″
解析対象外にするファイルを指定
SkipFiles=”/badpage.php /page.php?param=x”他の項目については awstats.conf を読んでください。 - 解析ファイルのフォルダ作成
# mkdir /usr/local/apache2/cgi-bin/awstats/awstats_log_data - バッチの作成
# vi make_awstats.sh
#!/bin/sh
/usr/local/apache2/cgi-bin/awstats/awstats.pl -config=www.example.com -update
/usr/local/apache2/cgi-bin/awstats/awstats.pl -config=www.example.com -output -staticlink > /usr/local/apache2/cgi-bin/awstats.html - 作成したバッチを起動して動作を確認してください。
- 解析結果の参照
http://localhost/cgi-bin/awstats.html - バッチの自動実行
クーロンの設定
# crontab -e
30分おきに実行されるように設定します。念のため、ログを吐きます。
0,30 * * * * /home/www/awstats/htdocs/cgi-bin/awcron.sh > /root/awstats/log.log