Webalizerのインストール
Last-modified: 2018-02-03 (土) 09:34:04 (2438d)
概要 †
アクセス解析の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.sh4:00と19:00に実行する例。
標準の設定だと毎週4:02にapacheのログファイルがローテイトされるのでその2分前の4:00に設定。