Jcodeのインストール

AWStats 6.0完全日本語版は、ログファイルを一度、utf8_decode.plというスクリプトを経由させる事で
アクセス解析可能な状態にしています。
ここではURLをデコードするために必要となるJcodeをインストールします。


# perl -MCPAN -e shell ← CPANモジュールを起動

※ 初回のみ以下の設定画面が出てきます。

以下の部分以外は全て [Enter] でOK

Select your continent (or several nearby continents) [] 2 ← Asiaを指定
Select your country (or several nearby countries) [] 7 ← Japanを指定
Select as many URLs as you like (by number),
put them on one line, separated by blanks, e.g. '1 4 5' [] 1 4 5 ← 1,4,5を指定(数字の間は半角スペース)

cpan> install Jcode ← インストール

cpan> exit ← 終了


上記方法でできない場合

まずここのサイトから Jcode-2.03.tar.gz をダウンロードします。
※ 最新バージョンをダウンロードしてください。

# tar zxf Jcode-2.00.tar.gz ← 解凍します

# cd Jcode-* ← 解凍してできたディレクトリへ移動

# perl Makefile.PL; make; make install ← インストール


AWStats のダウンロードとインストール

Webalizerよりも詳細な解析ができるソフトです。
Webalizerで物足りないと感じている方は、AWStatsをインストールしてみてはいかがでしょうか?

まず、こちらのサイトからAWStats 6.6完全日本語版/usr/local/bin にダウンロードします。

ダウンロードしたファイルを展開する。

# cd /usr/local/bin ← 移動
# tar xvzf AWStats66_Jpn.tar.gz ← 展開

AWStatsを置くディレクトリの作成 
※(home/httpd/htmlにあるサイトを解析する場合)

# mkdir /home/httpd/html/cgi-bin/awstats ← 本体を置く場所
# mkdir /home/httpd/html/cgi-bin/awstats/icon ← iconを置く場所

設定ファイルの移動(コピー)

# cd /usr/local/bin/AWStats66_Jpn/wwwroot/ ← 移動
# cp -rf cgi-bin/* /home/httpd/html/cgi-bin/awstats ← コピー
# cp -rf icon/* /home/httpd/html/cgi-bin/awstats/icon ← コピー

# cd /home/httpd/html/cgi-bin/awstats
# cp awstats.model_jp.conf awstats.conf ← 日本語設定ファイルをコピー

設定ファイルの編集




# vi /home/httpd/html/cgi-bin/awstats/awstats.conf ← 設定ファイル編集

ログの保管場所を指定

※注意 Apache2の場合はログの場所を/var/log/httpd→/var/log/apache2に変更してください。

LogFile="/var/log/httpd/access_log.utf8" ← アクセスログに「.utf8」を付けてください!(Apache1.3系)

サイトのドメインを指定
SiteDomain="xxxxx.com" ← 貴方のサイトのドメインを指定してください。

DNSの設定

DNSLookup=1 ← 逆引きを行う(行わない場合は0)

CGIスクリプトのディレクトリを指定

DirCgi="/cgi-bin/awstats"

画像ディレクトリを指定
DirIcons="/cgi-bin/awstats/icon"

アクセス解析対象外の指定
SkipHosts="127.0.0.1 REGEX[^192.168.0.]"

表示言語を指定
Lang="jp"

手動でApacheのログを変換しアクセス解析してみる

Apacheのログは access_log access_log.1 と言った感じで保管されています。
しかし、このままではAWStatsでログを読み込むことができません。

まずは手動で、utf8形式にログを変換してみます。

※注意 Apache2の場合はログの場所を/var/log/httpd→/var/log/apache2に変更してください。

# /home/httpd/html/cgi-bin/awstats/utf8_decode.pl < /var/log/httpd/access_log > /var/log/httpd/access_log.utf8

これで /var/log/httpd/access_log.utf8 という形式のログが作成されたと思います。

次に、手動でアクセス解析を実行

# /home/httpd/html/cgi-bin/awstats/awstats.pl -config=awstats.conf -update

ブラウザから確認できるようにawstatsディレクトリのアクセス権を変更

# chown -R 所有者:グループ名 /home/httpd/html/cgi-bin/awstats

例)

# chown -R yosi:yosi /home/httpd/html/cgi-bin/awstats ← 所有者、グループ名が yosi の場合

当サイト ユーザーの追加と削除 に記載の方法でユーザーを作成した場合、所有者、グループ名は同じになります。

ではブラウザで確かめてみる。

http://xxxxx.com/cgi-bin/awstats/awstats.pl ← xxxxx.comの部分は貴方のサイとドメイン又はIPアドレスを指定してください。

こんな画面が見えたらOKです。

定期的に、ログの結合と変換、そして自動実行を行う



上記の設定でCronに登録しても十分運用可能ですが、ログがローテーションされた際に、どうしても差分が出てしまいます。
そこで、もっと正確にログを取得したかったので、access_log と access_log.1 のログを結合させます。
そしてutf8形式にログを変換して、定期的に自動実行させたいと思います。

エディタで新規に自動化スクリプトを作製します。

※注意 Apache2の場合はログの場所を/var/log/httpd→/var/log/apache2に変更してください。


#!/bin/sh

ALOG=/var/log/httpd/access_log
A1LOG=/var/log/httpd/access_log.1
NEWLOG=/var/log/httpd/access_log.new
UTF8LOG=/var/log/httpd/access_log.utf8
UTF8DECODE=/home/httpd/html/cgi-bin/awstats/utf8_decode.pl
AWSTATS=/home/httpd/html/cgi-bin/awstats/awstats.pl
LOG=/var/log/awstats.log

cat $ALOG > $NEWLOG
cat $A1LOG >> $NEWLOG

$UTF8DECODE < $NEWLOG > $UTF8LOG

$AWSTATS -config=awstats.conf -update > $LOG

chmod 600 $LOG

記載できたら awstats.sh と言うファイル名で保存します。


スクリプトに実行件を与えます。

# chmod +x awstats.sh

# crontab -e ← Cronの編集
viエディタが開きますので下記のように登録してください。
移動したら i キー(入力モード)

05 00 * * * /root/awstats.sh

これで毎日00.05分にスクリプトが実行されます。

記載したら Esc キー(コマンドモード) :wqで保存

# /etc/rc.d/init.d/crond restart ←Cron を再起動




Copyright c Vine Linuxで自宅サーバー. 2004 All Rights Reserved.