AWStats(apache アクセス解析ツール) インストール

アクセス解析には、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

ソースの取得

  1. ソースディレクトリへ移動
    # cd /usr/local/src
  2. ソースをダウンロード
    # wget ‘http://nchc.dl.sourceforge.net/sourceforge/awstats/awstats-6.7.tar.gz’
  3. 取得したファイルを解凍
    # tar zxvf awstats-6.7.tar.gz
  4. 解凍したフォルダへ移動
    # cd awstats-6.7/wwwroot
  5. ディレクトリをapache の cgi が動作するフォルダへコピー。
    # cp -r icon /usr/local/apache2/cgi-bin/awstats
    # cp -r * /usr/local/apache2/cgi-bin/
  6. コピーしたディレクトリへ移動
    # cd /usr/local/apache2/cgi-bin/
  7. 設定ファイルの編集
    # 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 を読んでください。
  8. 解析ファイルのフォルダ作成
    # mkdir /usr/local/apache2/cgi-bin/awstats/awstats_log_data
  9. バッチの作成
    # 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
  10. 作成したバッチを起動して動作を確認してください。
  11. 解析結果の参照
    http://localhost/cgi-bin/awstats.html
  12. バッチの自動実行
    クーロンの設定
    # crontab -e
    30分おきに実行されるように設定します。念のため、ログを吐きます。
    0,30 * * * * /home/www/awstats/htdocs/cgi-bin/awcron.sh > /root/awstats/log.log