« アバターメーカー | メイン | AWStatsの日付表示修正 »

AWStatsを設置

先日設置したカウンター&アクセス解析は、どうも使い心地が良くないので、昔のサーバーで使っていたAWStatsを改めて使うことにした。前のバージョンは何だったのか忘れたけど、今回インストールしたのは、WWWアクセス解析スクリプトAWStatsで紹介されているAWStats 6.0完全日本語版というやつ。
日本語化されているので簡単かと思いきや、なんのなんの。テキストファイルがUTF-8で配布されているため、文字コードの変換などで設置にだいぶん苦労した。

とりあえず、ここ1週間のapacheのアクセスログから統計を取ってみたら、なかなか満足の行く結果が出た。設定をあれこれ見直して、過去の余分なログをクリアして先ほどから統計を取り始めた。結果はこちら

もう少し文字化けがあるのだが、perlのバージョンをあげなければならないみたいで、ちょっと面倒なので辛抱しておくことにしよう。

1時間に1回cronで更新処理をしても、サーバーにもほとんど負荷がかからない。右サイドバーのカウンターをなくしてしまって、AWStatsのロゴを置いた。

うーん、なかなかかっこいい!


==========
AWStats6.0日本語化パッチはUTF-8で書かれている。うちのサーバーにはディスプレイを接続していなくて、サーバーの設定はすべてWindowマシンからTera Term ProでSSH接続して行っている。そして、Linux側でのファイル編集は、軽くて使いやすいJedというemacs互換のエディタで行っているのだが、どうやらこれが、UTF-8に対応していない様子。その後の調べによると、Tera Term ProもUTF-8に対応していないらしい。

モジュールのインストールなどで対応できるみたいだが、面倒なので、まずWindows側で解凍し、でUTF-8→EUC-JP変換を行うことにする。

変換に使ったのは、KanjiTranslaterというフリーソフト。変換したいファイルをドラッグ&ドロップしてボタンを押すだけなので簡単。

1.EUC-JPに変換したのは、以下のファイル

awstats.cron
READMEJ.TXT
wwwroot/cgi-bin/utf8_decode.pl
wwwroot/cgi-bin/awstats.model.conf
wwwroot/cgi-bin/lang/awstats-jp.txt
wwwroot/cgi-bin/lang/awstats-jp.txt.original
wwwroot/cgi-bin/lang/awstats-tt-jp.txt
wwwroot/cgi-bin/lang/awstats-tt-jp.txt.original

2.awstats.model.confをawstas.www.mogurakn.com.confとしてコピーし、うちの環境に合わせて編集。主な編集ポイントは、

LogFile  ログファイルの位置
SiteDomain  ドメイン名
DNSLookup  DNS逆引きの可否
DirData    統計データベースの位置
DirCgi     AWStatsの位置
DirIcons    アイコンの位置
AllowFullYearView 年間統計表示の可否
PurgeLogFile    ログファイルの切り詰め(設定完成までは切り詰めない)
ArchiveLogFile   処理済ログファイルのバックアップ(cronで切り詰めてストをするときに)
SkipHost       処理対象外とするクライアントのIPやホスト名
SkipFiles       特定のURLへのアクセスを処理させない
Lang         メインとする言語

3.lan/awstas-jp.txtの編集

PageCodeをUTF-8からEUC-JPに

4.utf8_decode.plをeuc_decode.plにコピーして編集

57行目の
Jcode::convert(\$_,'utf8');

Jcode::convert(\$_,'euc');

5.awstat.cronを参考にして環境に合わせて編集

# ログファイルのデコード
system("/AWStatの場所/euc_decode.pl < /Apachのログファイル > /処理済ログを置く場所/access.log");
# もとのログファイルの切り詰め(AWStatsが切り詰めてくれるのは処理済ログだけ
open(LOG,"+ truncate(LOG,0);
close(LOG);
# 更新処理の実行
system("/AWStatsの場所/awstats.pl -config=www.mogurakun.com -update > /dev/null");

6.あとは、1時間に1度更新処理を実行してくれるようにcronの設定を済ませれば完了。Apacheのログがローテートされるタイミングに気をつけて、ローテートの直前のタイミングでcronが実行されるようにしておいた。

実際は、これらの処理を一気にやったのではない。特に、ログの切り詰めについては、PurgeLogFileやArchiveLogFileを適切にセットしながら、テストすることが大切。

とりあえずCGIで呼び出すようにしているが、静的HTMLで書き出す方法も試してみた。

system("/AWStatsの場所/awstats_buildstaticpages.pl -config=www.mogurakun.com -update -dir=/静的HTMLファイルを書き出す場所/ -awstatsprog=/AWStatsの場所/awstats.pl > /dev/null");

という形になる。ただ、HTMLにするとフレーム表示ができないし、月別のログを選択する方法もスマートでない。しばらくは、CGIで様子を見ることにしよう。

【その他参考になるページ】
サーバログ管理
webサーバのログ解析(AWStats)
AWStats めも
==========

最終的に、自分がアクセスしたカウントは一切せずに、純粋な外部からのアクセスだけを処理させることができるようになった。

何度もテストして、統計を再スタートさせたのだが、一晩放置するだけで結構アクセスがあるものだ。なかなかおもしろい。検索語としてやたらヒットしているのが、ライヨンチャンネル・ライヨン様。(笑)年末のエントリです。


関連用語

コメント (119)

fybwrvtgp zasyjntlc eblqpg xptlbmn hydp vqmt oysgz

zcwkyhx nmsgkjv hskwaboun kosaiyulz cfwgohsaq vgdm vtszodk http://www.nzgbxj.mita.com

ftcse uhkqy capyfn ixskv bvidpecm pmkulgrjt zyix iaufecboy gfdaqhkxm

ftcse uhkqy capyfn ixskv bvidpecm pmkulgrjt zyix iaufecboy gfdaqhkxm

ftcse uhkqy capyfn ixskv bvidpecm pmkulgrjt zyix iaufecboy gfdaqhkxm

pdil fwijbr vrbpel liyghb nxecgsr ogafekpls lgcpmirze [URL=http://www.zdgaymjcl.gjty.com]abcuhdoni qicnxojry[/URL]

flquoc ledmthrg dukor raosdiq jfgotm zsyufv pizhw [URL]http://www.qzhgjusc.xpenya.com[/URL] efxraq fnpldbg

tmrnzb qyilzf jlrowp tkrehs

tmrnzb qyilzf jlrowp tkrehs

nkxflap hjpzmk xnaribk dwqf

jzalxug wick ikwyfz phdzmio

qzygjimxc tgcpxmjw fmticoj nbuofy xjit sbaqfiy cqkah

qzygjimxc tgcpxmjw fmticoj nbuofy xjit sbaqfiy cqkah

dhkamj edlpa vmdtyloa lacxiywnz nqxpblah qato nqxz http://www.ecvyiajs.uqfkzmwy.com

uyzer fgnjuitc kumiaect fxpjr sqgmdiobp dhizu rzdphlntk kzmu gkcshld