AWStatsインストール

ApacheのログはWebサイトのアクセス増加対策などに役に立ちますが、テキストベースで見た目にわかりにく管理者の手間が増えます。
高機能なアクセス解析では シビラ UNFINISHED ACR WEB となどインストールの手間のいらないものもありますが、ここではログを解析しグラフィカルに表示することの出来るフリーソフトAWStatsのインストール方法について説明をします。

その他のWebログのアクセス解析にはWebalizerというものもあります。
Webalizerのインストールは Webalizerインストール を参照ください。

# より詳しいアクセス解析を求めるなら有償になりますがシビラ をお勧めします。
# 現在30日間無料試用キャンペーン実施中です。

はじめに

ログを解析するにあたり、Apacheのログ形式をより詳細なものへ出力するように変更が必要となります。
デフォルトでは、common形式 になっていますので combined形式 へ変更をします。

CustomLog /usr/local/apache/logs/access_log common
                       ↓変更
CustomLog /usr/local/apache/logs/access_log combined

この変更をすることでaccess_logにREFERER,エージェントなどの値もとることが出来るようになります。もちろん、Apacheの再起動を忘れずに。。。

詳しいログ形式はhttpd.confのログの定義にありますので httpd.conf解説 を参照ください。

ソースの入手

以下のURLから最新のソースを入手してください。
http://awstats.sourceforge.net/
今回はawstats-6.4.tgzをダウンロードしました。
http://jaist.dl.sourceforge.net/sourceforge/awstats/awstats-6.4.tgz

インストール

ここではawstats-6.4.tgzをダウンロードしたものとして説明します。
ここでの説明は /home/hoge/cgi-bin/awstats/以下 で動作させることを前提に説明をしています。
利用の環境によって /home/hoge/cgi-bin/awstats/ を置き換えてください。

$ tar xvfz awstats-6.4.tgz
$ cd awstats-6.4/wwwroot
$ cp -r icon /home/hoge/cgi-bin/awstats/
$ cd cgi-bin
$ cp -r * /home/hoge/cgi-bin/awstats/

これでawstatsの設置は完了です。続いて設定ファイルawstats.confを編集します。

設定ファイル(awstats.conf)の準備

まずは、awstasをコピーしたディレクトリに移動します。

$ cd /home/hoge/cgi-bin/awstats/

コピーしたディレクトリに設定ファイルの雛形となる awstats.model.conf がありますのでそちらをコピーして利用します。

$ cp awstats.model.conf awstats.conf

設定ファイル(awstats.conf)の編集

コピーした設定ファイルawstats.confを編集します。
修正箇所は以下の通りです。

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

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

● ドメイン名の指定
解析をするドメイン名を入力します。

SiteDomain=""
                   ↓変更
SiteDomain="www.marronkun.net"

● DNSの参照設定
接続ホストのDNS参照の設定です。すべて対象にする場合は1にします。

DNSLookup=2
        ↓変更
DNSLookup=1

● CGI設置場所の指定
http://SiteDomain/以下で閲覧するパスの指定です。

DirCgi="/cgi-bin"
         ↓変更
DirCgi="/cgi-bin/awstats"  ←利用環境に置き換えてください。

● アイコンのディレクトリ
http://SiteDomain/以下でiconディレクトリが閲覧できるパスの指定です。

DirIcons="/icon"
         ↓変更
DirIcons="/cgi-bin/awstats/icon"

● 言語の設定
利用する言語を設定します。もちろん日本人ですから jp を選びましょう

Lang="auto"
         ↓変更
Lang="jp"

以上が最低限必要な修正内容となります。

解析結果を出力

webalizerを実行するには以下のコマンドを実行することで出力できます。
【書式】
# 設置ディレクトリ/awstats.pl -config=awstats.conf -update

また、検出結果をベタのhtmlに変換するコマンドです
【書式】
# 設置ディレクトリ/awstats.pl -config=awstats.conf -output -staticlink > /home/hoge/cgi-bin/awstats/index.html

出力するhtmlファイルは利用の環境に応じて変更してください。

これでawststsを導入したディレクトリにアクセスすると以下の様な画面が表示されればOKです。
AWstats

定期的に集計するためにcrontabで1時間に一回程度、上記コマンドを実行しましょう。

しかし、出力結果で、検索文字列(キーフレーズ)が文字化けしてしまう症状になってしまいませんか?
解消方法は事項で詳しく解説します。

検索文字列の文字化け対策

ほとんどの検索エンジンでの検索文字列はUTF-8になっているため、文字化けが発生してしまいます。
ここでは、出力されたファイルをUTF-8からeucに変更するようにawstats.plを変更します。

まず、設定には Jcode.pm が必須になります。入っていなければ別途インストールしてください。

awstats.plを修正します。

18行目

use strict;no strict "refs";
use Time::Local;        # use Time::Local 'timelocal_nocheck' is faster but not
supported by all Time::Local modules
use Socket;
use Jcode;

4283行目

sub DecodeEncodedString {
        my $stringtodecode=shift;
        $stringtodecode =~ tr/\+/ /s;
        $stringtodecode =~ s/%([A-F0-9][A-F0-9])/pack("C", hex($1))/ieg;
        Jcode::convert(\$stringtodecode, "utf8");
        return $stringtodecode;
}

以上で修正は完了です。
再度、更新をかけると文字化けが解消されていると思います。

これでAWStatsのインストールは完了です。

marronおすすめの参考書 by Amazon
アクセスログ解析の教科書 アクセスログ解析の教科書
翔泳社 / (有) いなかどっとコム, 石井 研二
¥ 2,310
SEO効果を倍増させるアクセスログ解析の極意 SEO効果を倍増させるアクセスログ解析の極意
秀和システム / 石井 研二
¥ 1,680
Analog―Webアクセスログの高速解析ソフト Analog―Webアクセスログの高速解析ソフト
九天社 / 松木 孝幸, 太田 俊哉, 高橋 基信

Copyright(C) 2004-2006 マロンくん.NET ~サーバ管理者への道~ All Rights. Reserved.