May 302006
 

XREAでのアクセス解析にAWStatsを入れてみました。
参考にさせていただいたのは以下の情報です。いつもいつも有益な情報に感謝。

各所に${ID}、${VHOST}と書いてますが、そのままでは動きませんので念のため。

ディレクトリ配置決め

XREAではCGI設置ディレクトリに制限はなく、拡張子を.cgiにすればOKとのことなので/awstatsというディレクトリ以下に一式配置することにします。

物理ディレクトリ

${ID}はXREAでのアカウント名、${VHOST}はawstatsを配置する仮想ホストです。public_html直下に配置してもかまいません。
/virtual/${ID}/awstats
/virtual/${ID}/public_html/${VHOST}/awstats

URLパス

/awstats
/awstats/classes
/awstats/css
/awstats/icon
/awstats/js
/awstats/lang
/awstats/lib
/awstats/plugins

ソース展開、ディレクトリ変更

AWStatsのソースを展開してディレクトリ構造を前述の状態に変更します。

$ tar xzvf awstats-6.5.tar.gz
$ cd awstats-6.5/wwwroot
$ mv cgi-bin awstats
$ mv classes awstats/
$ mv css awstats/
$ mv icon awstats/
$ mv js awstats/

config作成

awstats.model.confをコピーして、解析対象サイト毎のconfigファイルを用意します。

$ cd /awstats
$ cp awstats.model.conf awstats.www.example.com.conf
$ vi awstats.www.example.com.conf
$ diff -U0 awstats.model.conf awstats.www.example.com.conf
--- awstats.model.conf  2005-10-31 00:56:38.000000000 +0900
+++ awstats.www.example.com.conf        2006-05-30 21:41:37.020217600 +0900
@@ -51 +51 @@
-LogFile="/var/log/httpd/mylog.log"
+LogFile="/virtual/${ID}/log/www.example.com.log"
@@ -153 +153 @@
-SiteDomain=""
+SiteDomain="www.example.com"
@@ -168 +168 @@
-HostAliases="localhost 127.0.0.1 REGEX[myserver\.com$]"
+HostAliases="localhost 127.0.0.1 REGEX[www\.example\.com$]"
@@ -203 +203 @@
-DirData="."
+DirData="/virtual/${ID}/awstats"
@@ -212 +212 @@
-DirCgi="/cgi-bin"
+DirCgi="/awstats"
@@ -222 +222 @@
-DirIcons="/icon"
+DirIcons="/awstats/icon"
@@ -796 +796 @@
-MiscTrackerUrl="/js/awstats_misc_tracker.js"
+MiscTrackerUrl="/awstats/js/awstats_misc_tracker.js"
@@ -1208 +1208 @@
-StyleSheet=""
+StyleSheet="/awstats/css/awstats_bw.css"
@@ -1413 +1413 @@
-#LoadPlugin="graphapplet /awstatsclasses"                              # EXPERIMENTAL FEATURE
+LoadPlugin="graphapplet /awstats/classes"                              # EXPERIMENTAL FEATURE

それからawstats.plは拡張子.cgi(awstats.cgiなど)にリネームしておきます。

XREAにアップロード

/awstats一式をXREAにアップロードします。
データディレクトリ(DirDataで指定した/virtual/${ID}/awstats)も用意してパーミッションを707に設定しておきます。

アクセス

http://${VHOST}/awstats/awstats.cgi?config=www.example.com などとすればアクセスできます。
最初の状態ではログが一切読み込まれていない状態なので、configでAllowToUpdateStatsFromBrowser=1を指定してブラウザから更新するか、次で設定するcron実行を待ちます。

cron設定

ウェブから更新かけることも可能ですが、ログはデイリーで吐き出されてますので、そのタイミングにあわせてcron処理をおこなうようにします。
ログのタイムスタンプをみると、朝3:40~3:50ぐらいに切り替えがおこなわれているようですので、朝5:00に以下のスクリプトを起動するよう登録しました。

#!/usr/bin/perl

sites="www.example.com www.example.net"

cd /virtual/${ID}/public_html/${VHOST}/awstats || exit 0
for sitename in $sites; do
  /usr/bin/perl ./awstats.cgi -config=$sitename -update
done
exit
 Posted by at 1:20 pm  Tagged with:

Sorry, the comment form is closed at this time.