10月 23

AWstats インストール

By ststyle AWstats, Watch コメントは受け付けていません。

AWstatsとはWebログを解析しグラフィカルに表示することの出来る

アクセス解析のフリーソフトです。

その他に似たような解析ものとしては

analog
Webalizer

などもあります。

事前準備

まず、apache のログ形式を調査します。

ログのフォーマットをcombinedにします


# vi /usr/local/apache/conf/httpd.conf

で apache の設定ファイルを開きます。
(VirtualHost を使用していない場合です。)

commonになっている場合は、以下のようにフォーマット形式を変更してください。


#CustomLog logs/access_log common
CustomLog /usr/local/apache/logs/access_log combined

AWstatsのソース取得

1. ソースディレクトリへ移動


# cd /usr/local/src

2. ソースをダウンロード


# wget http://nchc.dl.sourceforge.net/sourceforge/awstats/awstats-6.9.tar.gz

3. 取得したファイルを解凍


# tar zxvf awstats-6.9.tar.gz

4. 解凍したフォルダへ移動


# cd awstats-6.9/wwwroot

5. ディレクトリをapache の cgi が動作するフォルダへコピー。


# mkdir /usr/local/apache/cgi-bin/awstats
# cp -r icon /usr/local/apache/cgi-bin/awstats/
# cd cgi-bin
# cp -r * /usr/local/apache/cgi-bin/awstats/

6. コピーしたディレクトリへ移動


# cd /usr/local/apache/cgi-bin/awstats/

7. 設定ファイルの準備


# cp awstats.model.conf awstats.conf
# chmod 644 awstats.conf

8. 設定ファイルの編集


vi awstats.conf

#ログファイルの指定
apacheのログの場所を定義します。

LogFile="/var/log/httpd/mylog.log"
↓変更
LogFile="/usr/local/apache/logs/access_log"  ←利用環境に置き換えてください。

#ログの種類を指定 W はweb のログになります。
LogType=W

#ログフォーマット(apache で combined の場合は 1 を設定)
LogFormat = 1

#運用しているドメインを指定します。
SiteDomain="www.example.com"

#DNSの逆引きをする場合は1を設定
DNSLookup=1

#解析後のデータ格納ディレクトリ
DirData="."

#CGI設置場所の指定(cgi を実行するディレクトリ)
http://SiteDomain/以下で閲覧するパスの指定です。
DirCgi="/cgi-bin/awstats"

#アイコンの場所を指定
DirIcons="/cgi-bin/awstats/icon"

#年間表示する場合は3を設定
AllowFullYearView=3

#日本語で表示する場合
Lang="jp"

#解析対象外にするホストを指定します。
SkipHosts="192.168.0.1 10.0.0.1"

#解析対象外にするユーザエージェントを指定
SkipUserAgents="IE6″

#解析対象外にするファイルを指定
SkipFiles="/badpage.php /page.php?param=x"

手動で解析テスト


# /usr/local/apache/cgi-bin/awstats/awstats.pl -config=awstats.conf -update

Create/Update database for config "/usr/local/apache/cgi-bin/awstats/awstats.conf" by AWStats version 6.9 (build 1.925)
From data in log file "/usr/local/apache/logs/access_log"...
Phase 1 : First bypass old records, searching new record...
Direct access after last parsed record (after line 116)
Jumped lines in file: 116
Found 116 already parsed records.
Parsed lines in file: 51
Found 0 dropped records,
Found 0 corrupted records,
Found 0 old records,
Found 51 new qualified records.

[/bash]

解析結果をHTML出力


/usr/local/apache/cgi-bin/awstats/awstats.pl -config=awstats.conf -output -staticlink > /usr/local/apache/htdocs/awstats.html

WEBブラウザで確認(HTML出力版)

http://<WEBサーバ>/awstats.html

こんな感じで解析されたHTMLが表示されます。

awstats

WEBブラウザで確認(CGI版)

http://<WEBサーバ>/cgi-bin/awstats/awstats.pl

シェルを作成


#!/bin/bash
#-------------------------
# AWstats WEBログ解析
#
# @author Seiji Tsukioka
#-------------------------
PATH=/usr/local/apache/cgi-bin/awstats
OUTPUT=/usr/local/apache/htdocs
CONF_NAME=awstats.conf

$PATH/awstats.pl -config=$CONF_NAME -update
$PATH/awstats.pl -config=$CONF_NAME -output -staticlink &gt; $OUTPUT/awstats.html

Cronで定期実行する(ここでは30分おきに実施するようスケジュール)


# crontab -e
#AWstats::WEBログ解析
0,30 * * * * /root/bin/awstats.sh &gt; /root/bin/logs/awstats.log
Tagged with:
preload preload preload