ESC このページをアンテナに追加 RSSフィード

Date:2005.02.04.Fri

[][]awstats日本語化。

さて、先日、awstatsを無事、バージョンアップしたのですが、検索文字列が文字化けするという不具合に見舞われたので、これをなんとかしようと思います。


【参照過去ログ

2月3日 awstats、バージョン6.3へアップデート。

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)解析用のログを生成する。

ここの実行は、以前となんら変わりはありません。

perl 任意のパス/awstats.pl -config=任意のパス/awstats.conf -update

これで、デコードされた解析用のログが生成されました。

一旦、アクセスしてみて、確認します。

検索語が文字化けしてないことを確認したら次へ進みます。


(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デコードさせるには、

  1. 過去ログデコード
  2. アップデートを実行

を繰り返せばOKです。

*1ファイル名の変更は別に必要なし。好き嫌いの問題…。

*2:上書きして壊しちゃったら困るから。

*3:ここで言う、過去ログとは、httpdのaccess_logです。解析用のログのことではないです。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/hjkl/20050204/1107498057