Date:2005.02.04.Fri
■[サーバ構築。][あ〜かいぶ。]awstats日本語化。
さて、先日、awstatsを無事、バージョンアップしたのですが、検索文字列が文字化けするという不具合に見舞われたので、これをなんとかしようと思います。
【参照過去ログ】
1月24日 ログ解析ソフト“awstats 6.0日本語版”設置。
文字化けする原因は、検索後の文字コードがEUC-JPだったり、Shift-JISだったりと、いろんな文字コードが混ざってしまうかららしい。
awstats6.3はすべてUTF-8なので、これらをすべてUTF-8に変換してあげれば大丈夫ってことで、対策を講じました。
AWStats 6.0完全日本語版のページから、ダウンロードしてきたアーカイブの中にある、utf8_decode.plというファイルを利用します。
同サイトの「日本語特有の設定」という項目に大体のやり方は書いてありました。
【追記】
いろんなサイトによると、conv_weblog_to_utf8.plというプラグインも使えるらしい。
しかし、このファイルでは、Perl5.7以上で稼動するEncodeモジュールを使用するため、Perlのバージョンが5.7より下のサーバでは、上記のutf8_decode.plを使うしかないっぽい。
(1)utf8_decode.plをサーバにアップする。
awstats.plのあるディレクトリに、utf8_decode.plをアップして、名前を、decode.plに変更します。*1
まぁ、このファイルをアップするディレクトリもどこでもいいんですがね。
そして、念のため、すでに生成されている解析用ログをコピーして別の場所に保存しておきます。*2
(2)decode.plにログをくわせる。
shell > 任意のパス/decode.pl < access_logの場所 > access_logをデコードした後のファイル名
通常だとこんなカンジ↓
shell > decode.plのある場所までのパス/decode.pl < /var/log/httpd/access_log > /var/log/httpd/access_log.utf8
任意のパスはアクセスログの場所は環境によって異なるので、適宜書き換えます。
cronを動かしているユーザと、デコード後のファイルの権限を合わせておきます。
というのも、cronをユーザごとに動かしているので、デコード後のファイルの権限をユーザのモノになっていないと、cronで実行させたトキにうまくいきません。
(3)awstats.confの修正
LogFileの項目をaccess_logをデコードした後のファイル名に書き換えます。
でないと、いつまでたっても、文字化けした検索語が表示されちゃうので。
LogFile=/var/log/httpd/access_log.utf8
こんなカンジになります。
(4)解析用のログを生成する。
ここの実行は、以前となんら変わりはありません。
これで、デコードされた解析用のログが生成されました。
一旦、アクセスしてみて、確認します。
検索語が文字化けしてないことを確認したら次へ進みます。
(5)cronにデコードの実行を付け加える。
今まで、
0 0 * * * /awstats.plのある場所までフルパス/awstats.pl -config=/awstats.confのある場所までフルパス/awstats.conf -update > /dev/null
この一行だけでしたが、この行の上に、
0 0 * * * perl /decode.plのある場所までフルパス/decode.pl < /access_logのある場所までフルパス/access_log > /デコード後のファイルがある場所までフルパス/access_log.utf8
を加えます。
これで、毎日24時に、ログファイルをデコードして、解析用ファイルを作ってもらうことができます。
ログをローテートしていて、過去ログ*3もデコードさせるには、
を繰り返せばOKです。
- 255 http://adultfriendfinder.com/go/g1054117-ppc
- 255 http://connectingromance.com
- 255 http://goodoletom.com/store
- 255 http://rapichat.com
- 255 http://www.connectingromance.com
- 255 http://www.rapichat.com
- 255 http://www.share.rapichat.com
- 245 http://www.ringtoneszero.co.cc
- 242 http://videos.hard2u.com/
- 221 http://free-online-videos.rapichat.com/
