VineLinux4.x/サーバ管理/Webalizerのインストール
Last-modified: 2018-02-03 (土) 09:34:04 (2499d)
Webalizerのインストール †
# apt-get install webalizer パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 以下の追加パッケージがインストールされます: TrueType-base TrueType-kochi-subst ftdumps mktcapdir 以下のパッケージが新たにインストールされます: TrueType-base TrueType-kochi-subst ftdumps mktcapdir webalizer アップグレード: 0 個, 新規インストール: 5 個, 削除: 0 個, 保留: 1 個 10.5MB のアーカイブを取得する必要があります。 展開後に 18.2MB のディスク容量が追加消費されます。 続行しますか? [Y/n]y 取得:1 http://updates.vinelinux.org 4.2/i386/main ftdumps 0.1.1-0vl3 [28.7kB] 取得:2 http://updates.vinelinux.org 4.2/i386/main mktcapdir 0.5.4-0vl2 [13.9kB] 取得:3 http://updates.vinelinux.org 4.2/i386/main TrueType-base 4.4.1-0vl1 [11.3kB] 取得:4 http://updates.vinelinux.org 4.2/i386/plus TrueType-kochi-subst 4.6-0vl3 [10.3MB] 取得:5 http://updates.vinelinux.org 4.2/i386/plus webalizer 1:2.01.10-0vl3 [141kB] 10.5MB を 6s 秒で取得しました (1552kB/s) 変更を適用しています... 準備中... ########################################### [100%] 1:ftdumps ########################################### [ 20%] 2:mktcapdir ########################################### [ 40%] 3:TrueType-base ########################################### [ 60%] 4:TrueType-kochi-subst ########################################### [ 80%] 5:webalizer ########################################### [100%] 完了
設定ファイルの変更。
# vi /etc/webalizer.conf
Apache2のログファイルの場所 LogFile /var/log/httpd/access_log.1 ↓ LogFile /var/log/apache2/access_log 解析結果の出力先ディレクトリ OutputDir /home/httpd/html/webalizer タイトルに表示されるホストネーム #HostName localhost ↓ HostName kayanomori.net 解析するファイルタイプにPHPを追加 PageType php 解析結果にログインユーザーは表示したくないので0に #TopUsers 20 TopUsers 0 解析結果から隠したいサイト #HideSite localhost ↓ HideSite localhost HideSite *kayanomori.net 解析結果から隠したいリファラー HideReferrer kayanomori.net/ 自サイトからのリファラーは隠す #HideReferrer Direct Request ↓ HideReferrer Direct Request 解析結果から隠したいファイルタイプ HideURL *.css HideURL *.js HideURL *.ico
実行してみる。
# webalizer Webalizer V2.01-10 (Linux 2.6.16-76.39vl4) Japanese(EUC) ログファイル ― /var/log/apache2/access_log (clf) 作成ディレクトリ: /home/httpd/html/webalizer ホスト名 ― 'vmx.kayanomori.net' ヒストリファイルが見つかりません... 以前の実行データが見つかりません... 現在の実行データを保存しています... [11/27/2008 23:07:20] 月別レポート作成 ― 2008年 11月 総合レポートの作成 ヒストリ情報の保存... 299 レコードありました. 処理時間: 0.23 秒
結果を見るには、http://IP_or_HOST/webalizer/をブラウザで開く。
検索文字列の文字化け対策 †
検索文字列が文字化けしているので、文字コード変換スクリプトを作成し解析結果に対して実行する。
# 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/bin/webalizer > /dev/null TMONTH=/home/httpd/html/webalizer/usage_20`date +%y%m`.html LMONTH=/home/httpd/html/webalizer/usage_20`date --date '1 month ago' +%y%m`.html /usr/local/bin/mojiconv $TMONTH > $TMONTH.temp /usr/local/bin/mojiconv $LMONTH > $LMONTH.temp mv -f $TMONTH.temp $TMONTH mv -f $LMONTH.temp $LMONTH今月と先月の結果に対してmojiconvする。
実行権限を与える。
# 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に設定。