Webalizerのインストール

Last-modified: 2008-11-16 (日) 12:52:43 (3293d)

概要

http://www.webalizer.org/

アクセス解析のWebalizerをインストールします。analogよりも詳細な解析が可能です。

設定手順

インストール

ダウンロード

# wget ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.01-10-src.tgz
--02:45:41--  ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.01-10-src.tgz
           => `webalizer-2.01-10-src.tgz'
ftp.mrunix.net をDNSに問いあわせています... 209.114.200.24
ftp.mrunix.net[209.114.200.24]:21 に接続しています... 接続しました。
anonymous としてログインしています... ログインしました!
==> SYST ... 完了しました。    ==> PWD ... 完了しました。
==> TYPE I ... 完了しました。  ==> CWD /pub/webalizer ... 完了しました。
==> PORT ... 完了しました。    ==> RETR webalizer-2.01-10-src.tgz ... 完了しました。
長さ: 418,680 (確証はありません)

100%[==============================================>] 418,680      140.35K/s

02:45:47 (140.08 KB/s) - `webalizer-2.01-10-src.tgz' を保存しました [418680]

解凍

# tar zxf webalizer-2.01-10-src.tgz
# cd webalizer-2.01-10

コンパイル。オプションで日本語を指定。

# ./configure --with-language=japanese
# make
# make install

設定ファイルのコピー

# cp /etc/webalizer.conf.sample /etc/webalizer.conf

設定ファイルの編集

# vi /etc/webalizer.conf
LogFile        /usr/local/apache2/logs/access_log

LogType clf

OutputDir      /home/httpd/html/webalizer

HistoryName     webalizer.hist

Incremental     yes

IncrementalName webalizer.current

ReportTitle    Usage Statistics for

HostName       64ch.net

HTMLExtension  html

PageType        htm*
PageType        cgi
PageType        php
#PageType       phtml
#PageType       php3
#PageType       pl

HideSite        *64ch.net
HideSite        localhost
HideSite        192.168.0.*

# Your own site gives most referrals
HideReferrer    64ch.net/

#IgnoreSite     bad.site.net
IgnoreURL       /dav*
#IgnoreReferrer file:/*
#IgnoreAgent    RealPlayer
#IgnoreUser     root

解析データの出力ディレクトリを作成

# mkdir /home/httpd/html/webalizer

実行してみる。古いログファイルから順番に解析する。

# webalizer -c /etc/webalizer.conf /usr/local/apache2/logs/access_log.4
Webalizer V2.01-10 (Linux 2.4.31-0vl1.8) Japanese
Using logfile /usr/local/apache2/logs/access_log.4 (clf)
:
:
# webalizer -c /etc/webalizer.conf /usr/local/apache2/logs/access_log.3
# webalizer -c /etc/webalizer.conf /usr/local/apache2/logs/access_log.2
# webalizer -c /etc/webalizer.conf /usr/local/apache2/logs/access_log.2
# webalizer -c /etc/webalizer.conf /usr/local/apache2/logs/access_log

結果を見るには設定ファイルで指定した場所をブラウザで開く。

結果が気に入らない場合は、解析データをすべて消去した後、設定ファイルを編集しもう一度実行する。

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

検索文字列が文字化けしているので、文字コード変換スクリプトを作成し解析結果に対して実行する。

# vi /usr/local/bin/mojiconv
#!/usr/bin/perl
use Jcode;
open (IN ,$ARGV[0]);
while (<IN>){
    $_ =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
    Jcode::convert(\$_,euc);
    print $_;
    }
close (IN);
exit;

実行権限を与える

# chmod 755 /usr/local/bin/mojiconv

試しに実行してみる

# cd /home/httpd/html/webalizer/
# ls
ctry_usage_200510.png    hourly_usage_200510.png  usage_200510.html
ctry_usage_200511.png    hourly_usage_200511.png  usage_200511.html
daily_usage_200510.png   index.html               webalizer.current
daily_usage_200511.png   usage.png                webalizer.hist
# mojiconv usage_200511.html > test.html

test.htmlにアクセスしてみて文字化けが直っていたらOK。完全ではないがある程度解消しているはず。

もし、エラーが出て実行できない場合は、

# apt-get install perl-Jcode

をインストールする。

自動実行するためのスクリプトを作成

# vi /usr/local/bin/weba.sh
#!/bin/sh
/usr/local/bin/webalizer > /dev/null
for i in /home/httpd/html/webalizer/*.html
do
/usr/local/bin/mojiconv $i > $i.temp
mv -f $i.temp $i
done

実行権限を与える

# chmod 755 /usr/local/bin/weba.sh

実行してみる

# /usr/local/bin/weba.sh

問題なければcronに登録

# crontab -e
0 4,19 * * * /usr/local/bin/weba.sh

4:00と19:00に実行する例。

標準の設定だと毎週4:02にapacheのログファイルがローテイトされるのでその2分前の4:00に設定。

リンク

コメント