15. WEB ログ解析ツール (awstats) 設定

 
 AWstats は、WEB サーバのログを解析して、グラフ表示してくれるツールです。
15.1 ports
15.2 apache 定義ファイルの編集
15.3 awstats.conf の編集
15.4 ログファイルの連結
15.5 解析ファイルの作成
15.6 ドメイン名日本語ファイル

15.1 ports

    /usr/ports/www/awstats/

15.2 apache 定義ファイルの編集

 正常にインストールできていれば、仮にWEBサーバのドキュメントルートが
/usr/local/www
とすれば
    /usr/local/www/awstats
 というディレクトリが作成されているはずです。  apache の定義ファイルを作成してアクセスできるようにします。  定義ファイルを仮に
/usr/local/etc/apache22/Includes/awstats.conf
として以下のように編集します。
Alias /awstatsclasses 	"/usr/local/www/awstats/classes/"
Alias /awstatscss 	"/usr/local/www/awstats/css/"
Alias /awstatsicons 	"/usr/local/www/awstats/icons/"
Alias /awstats	 	"/usr/local/www/awstats/cgi-bin/"

<Directory "/usr/local/www/awstats/">
    DirectoryIndex  awstats.pl
    Options ExecCGI
    AllowOverride None
    Order allow,deny
    Allow from all     
← all でなく IPアドレスは絞るべきです
</Directory>

15.3 awstats.conf の編集

 /usr/local/www/awstats/cgi-bin/ に awstats.model.conf というコンフィグレーションファイルのサンプルがあります。これを awstats.
ドメイン名
.conf にコピーして編集します。  編集する箇所は、環境、好みによって異なりますが、わたしがおすすめ、および実際に手を入れたのは以下の通りです。
LogFile="..."                     
← ログのファイル名を絶対パスで記述します
SiteDomain="..."
← ドメイン名を記述します
HostAliases="localhost 127.0.0.1"
← WEBサーバのドメイン名を記述します
/awstats
← awstats の cgi-bin を配置するディレクトリ名を記述します(相対も可)
AllowFullYearView=2
← 後でログを見る際に年間で見たい場合は 3 にします
SkipHosts="..."
← localhost をはじめ 自分のクライアントPCのドメイン名等を記述します
SkipFiles="..."
← 特にアクセス解析に必要ない画像ファイル等を定義します
 SkipHosts や SkipFiles 等は REGEX 準拠の正規表現を使用することでワイルドカード表記が可能です。

15.4 ログファイルの連結

 awstats.
ドメイン名
.conf にログファイル名を記述しますが、awstats は analog と違ってログファイル名をワイルドカード表記して複数のログファイルを一度に読み込ませることはできません。  newsyslog 等で月間、週間等でログファイルをローテーションしている場合は、複数ファイルになっていますが、これをすべて解析したい場合は、ログファイルを連結します。連結したログファイルの出力先は、デフォルトで awstats のワークフォルダが /var/lib/awstats となっているのでそこに出力します。  前節のコンフィグレーションファイルの設定で、アクセス解析に不要なホスト名を設定できると記述していますが、これは、アクセスホストのリストからはずすのみで、そのホストからアクセスしたページへのカウント等はそのままカウントされてしまいます。  これを解消するには、ログファイルからそのホストの履歴を消してしまう必要があります。  面倒になったので、ログファイルのマージとスキップホストの行を消す Perl Script を書きました。  上記をダウンロードして使用する際は、拡張子が txt になっていますので、pl 等に書き換えて、実行権限をつけてください。それと先頭の方にログファイルのディレクトリやファイル名、スキップホストの文字列を定義する箇所がありますので、それを適切に書き換えれば、awstats 用のログファイルを作成することができるはずです。  尚、タブストップは4カラムで書いておりますので、8タブが好きな方は、そこも変換してください。

15.5 解析ファイルの作成

 ログファイル連結して準備が整ったので、解析ファイルを出力します。
> /usr/bin/perl /usr/local/www/awstats/cgi-bin/awstats.pl
     -update -config=awstats.
ドメイン名
.conf
 と1行で記述して出力します。  結果がうまく作成されれば http://
ドメイン名
/awstats/awstats.pl?config=awstats.
ドメイン名
.conf にアクセスすることでログの解析結果を見ることができるようになります。  あとはこれらの一連の作業をスクリプト化して crontab に記述することで、定期的にログ解析することができるようになります。

15.6 ドメイン名日本語ファイル

 awstats の日本語紹介サイトだかどこかに、国別ドメインの日本語ファイルがあったような気がするのですが、どこに書いてあったのか、忘れてしまいました。  探すのもめんどくさくなってきたので、作りました。あちこちからコピペしてきたので、誤りがあるかもしれませんがよろしければ使ってみてください。

 ダウンロードして、awstats 配下のディレクトリの ./cgi-bin/lib にあるファイルを本ファイルと置き換えれば、「訪問者・ドメイン/国名」の表示が日本語になります。