自(己満足)宅サーバー

このページの最終更新日
2009”N08ŒŽ15“ú
| HOME | 新着情報 | リンク集 | 管理人へメール |
サイト内検索

Awstats でアクセス解析

アクセス解析にはいろいろな方法があるみたいですがじんたろうは Awstats を導入してみました。
ただ本家版ではなく Awstats完全日本語版 というのを導入してみました。
導入したバージョンは AWStats 6.5完全日本語版 です。
基本的に こちらのページを参考にやってみました。
webからは更新処理はさせずにcronによって定時処理させるようにしました。

出来上がったページはこちらです。(まだサイトを始めたばかりでほとんどアクセスが無いですが...)

Awstats 6.5 完全日本語版 のダウンロードとディレクトリ配置

例として「testuser」のpublic_htmlディレクトリを解析対象にする事とします。
testuserでログインして実行します。

[testuser@jintaro ~]$ wget http://www.bflets.dyndns.org/AWStats65_Jpn.tar.gz
--19:47:07--  http://www.bflets.dyndns.org/AWStats65_Jpn.tar.gz
www.bflets.dyndns.org をDNSに問いあわせています... 125.30.19.6
www.bflets.dyndns.org|125.30.19.6|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 750564 (733K) [application/x-gzip]
Saving to: `AWStats65_Jpn.tar.gz'

100%[==================================>] 750,564      951K/s   in 0.8s   

19:47:09 (951 KB/s) - `AWStats65_Jpn.tar.gz' を保存しました [750564/750564]

[testuser@jintaro ~]$ tar xzvf AWStats65_Jpn.tar.gz
[testuser@jintaro ~]$ rm -f AWStats65_Jpn.tar.gz
[testuser@jintaro ~]$ mv AWStats65_Jpn  awstats65_jpn
[testuser@jintaro ~]$ mkdir public_html/awstats

[testuser@jintaro ~]$ cp -r awstats65_jpn/wwwroot/icon  public_html/awstats
[testuser@jintaro ~]$ cd awstats65_jpn
[testuser@jintaro awstats65_jpn]$ cp awstats.cron  awstats.testuser.cron
[testuser@jintaro awstats65_jpn]$ cd wwwroot/cgi-bin
[testuser@jintaro cgi-bin]$ cp awstats.model_jp.conf awstats.testuser.conf
Awstats完全日本語版を
ダウンロード










ダウンロードしたファイルを展開
ダウンロードしたファイルを削除
紛らわしいので小文字の名前に変更
Awstats用にwebからアクセスできる
ディレクトリを作成
上記ディレクトリにiconをコピー
ディレクトリ移動
定時更新スクリプトを別名でコピー
ディレクトリ移動
Awstats本体の設定ファイルを
別名でコピー

Awstats本体の設定ファイルの編集

Awstats本体の設定ファイル awstats.testuser.conf をUTF-8が読み書きできるエディタで開きます。
設定どうりなら /home/testuser/awstats65_jpn/wwwroot/cgi-bin にあります。
(サーバーの文字コードがEUC-JPの為 vi で開くと文字化けします。)
以下の箇所を修正します。

LogFile="/var/log/httpd/mylog.log"
↓変更
LogFile="/home/testuser/awstats65_jpn/wwwroot/cgi-bin/access_log.utf8"

SiteDomain=""
↓変更
SiteDomain="testuser.com"

DirCgi="/cgi-bin"
↓変更
DirCgi="."

DirIcons="/icon"
↓変更
DirIcons="./icon"

AllowFullYearView=3
↓変更
AllowFullYearView=1

DetailedReportsOnNewWindows=1
↓変更
DetailedReportsOnNewWindows=0

定時更新用スクリプトの編集

定時更新用スクリプトファイル awstats.testuser.cron をUTF-8が読み書きできるエディタで開きます。
設定どうりなら /home/testuser/awstats65_jpn にあります。
(サーバーの文字コードがEUC-JPの為 vi で開くと文字化けします。)
以下の箇所を修正します。
修正したファイル全文をここに置いてます。(UTF-8です)

system("/var/www/cgi-bin/AWStats65/utf8_decode.pl < /var/log/httpd/access_log > /var/www/cgi-bin/AWStats65/access_log.utf8");
↓変更
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/utf8_decode.pl < /home/testuser/httpd_logs/access.log > /home/testuser/awstats65_jpn/wwwroot/cgi-bin/access_log.utf8");
                                      

open(LOG,"+</var/log/httpd/access_log");
truncate(LOG,0);
close(LOG);
↓変更(注1)
#open(LOG,"+</home/testuser/httpd_logs/access.log");
#truncate(LOG,0);
#close(LOG);

system("/var/www/cgi-bin/AWStats65/awstats.pl -config=awstats.conf -update > /dev/null");
↓変更
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/awstats.pl -config=testuser -update > /dev/null");

system("/var/www/cgi-bin/AWStats65/awstats.pl -config=awstats.conf -output > /var/www/html/AWStats65.html");
↓変更(↑1行を↓の21行に)
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/awstats.pl -config=testuser -output -staticlinks > /home/testuser/public_html/awstats/awstats.testuser.html");
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/awstats.pl -config=testuser -output=alldomains -staticlinks > /home/testuser/public_html/awstats/awstats.testuser.alldomains.html");
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/awstats.pl -config=testuser -output=allhosts -staticlinks > /home/testuser/public_html/awstats/awstats.testuser.allhosts.html");
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/awstats.pl -config=testuser -output=lasthosts -staticlinks > /home/testuser/public_html/awstats/awstats.testuser.lasthosts.html");
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/awstats.pl -config=testuser -output=unknownip -staticlinks > /home/testuser/public_html/awstats/awstats.testuser.unknownip.html");
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/awstats.pl -config=testuser -output=alllogins -staticlinks > /home/testuser/public_html/awstats/awstats.testuser.alllogins.html");
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/awstats.pl -config=testuser -output=lastlogins -staticlinks > /home/testuser/public_html/awstats/awstats.testuser.lastlogins.html");
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/awstats.pl -config=testuser -output=allrobots -staticlinks > /home/testuser/public_html/awstats/awstats.testuser.allrobots.html");
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/awstats.pl -config=testuser -output=lastrobots -staticlinks > /home/testuser/public_html/awstats/awstats.testuser.lastrobots.html");
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/awstats.pl -config=testuser -output=urldetail -staticlinks > /home/testuser/public_html/awstats/awstats.testuser.urldetail.html");
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/awstats.pl -config=testuser -output=urlentry -staticlinks > /home/testuser/public_html/awstats/awstats.testuser.urlentry.html");
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/awstats.pl -config=testuser -output=urlexit -staticlinks > /home/testuser/public_html/awstats/awstats.testuser.urlexit.html");
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/awstats.pl -config=testuser -output=browserdetail -staticlinks > /home/testuser/public_html/awstats/awstats.testuser.browserdetail.html");
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/awstats.pl -config=testuser -output=osdetail -staticlinks > /home/testuser/public_html/awstats/awstats.testuser.osdetail.html");
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/awstats.pl -config=testuser -output=unknownbrowser -staticlinks > /home/testuser/public_html/awstats/awstats.testuser.unknownbrowser.html");
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/awstats.pl -config=testuser -output=unknownos -staticlinks > /home/testuser/public_html/awstats/awstats.testuser.unknownos.html");
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/awstats.pl -config=testuser -output=refererse -staticlinks > /home/testuser/public_html/awstats/awstats.testuser.refererse.html");
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/awstats.pl -config=testuser -output=refererpages -staticlinks > /home/testuser/public_html/awstats/awstats.testuser.refererpages.html");
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/awstats.pl -config=testuser -output=keyphrases -staticlinks > /home/testuser/public_html/awstats/awstats.testuser.keyphrases.html");
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/awstats.pl -config=testuser -output=keywords -staticlinks > /home/testuser/public_html/awstats/awstats.testuser.keywords.html");
system("/home/testuser/awstats65_jpn/wwwroot/cgi-bin/awstats.pl -config=testuser -output=errors404 -staticlinks > /home/testuser/public_html/awstats/awstats.testuser.errors404.html");

system("chgrp ryu /var/www/html/AWStats65.html");
system("chown ryu /var/www/html/AWStats65.html");
↓変更(↑の2行を↓の1行に)
system("chown -R testuser:testuser /home/testuser/public_html/awstats");

このスクリプト内容は

  1. Apacheのログを utf_decode.pl によって access_log.utf8 というログに変換
  2. Apacheのログを切り詰める(消去)
  3. Awstatsの更新処理を走らせる(解析するログは access_log.utf8)
  4. Awstatsで21個のhtmlファイルを作成
  5. 作成したhtmlファイルの所有者変更

という感じです。

(注1)Apacheが作るオリジナルのログを切り詰めたい場合は先頭の # を外します。
切り詰めを行ったほうが処理が早くなるようです。

Jcode.pmのインストール

こちらのページを参考に Jcode.pm をインストールします。

定時更新スクリプトの実行

修正したスクリプトを実行してみます。(当サーバーの環境で2分ぐらいかかります。)

[testuser@jintaro ~]$ awstats65_jpn/awstats.testuser.cron

public_html/awstats に 21個のhtmlファイルが出来ていたら成功です。
public_html/awstats/awstats.testuser.html に Webからアクセスしてみましょう。

このスクリプトを自動実行するようにcron.hourlyからスクリプトへリンクを張ります。(1日に1回の場合はcron.daily)
rootで作業します。

[root@jintaro ~]# cd /etc/cron.hourly
[root@jintaro cron.hourly]# ln -s /home/testuser/awstats65_jpn/awstats.testuser.cron
ディレクトリ移動
cron.hourlyにリンク作成

備考

Apacheのログ形式がcombinedになっている必要があるようです。
httpd.conf でログ形式を
CustomLog /home/jintaro/httpd_logs/access.log combined
としておきます。

このページの上へ
HOMEへ
Copyright (C) 2007 じんたろう
全ページリンクフリーです