AWStats Ver.6.6 完全日本語版

***** このページの内容は、AWStats 6.6完全日本語版のページで公開されていたものです *****

***** AWStats Ver.7.0完全日本語版を公開したため、このコンテンツはOut of dateになりました *****

日本語化について

知っている方は知っていると思いますが、AWStatsは元々日本語には対応していませんでした。しかし、美しいユーザーインターフェースなど、”日本語化されていないから”という理由で切り捨ててしまうには少々もったいない気がしたので、Ver.2.23の時に日本語に対応させたのが始まりです。

AWStatsはVer.4.0から正式に日本語に対応したことに”なって”います。しかし、対応といっても実情は非常にお粗末な状態で単語レベルで置き換えただけであるというのが実情でした。また、バージョンの更新にあわせてメッセージファイルがメンテナンスされている様子もなく、中途半端な対応であるといわざるを得ない状態です。

“完全日本語版”と謳っているココロはそこら辺にあります。実際に加えた修正を以下に示します。

・単語の置き換えレベルだったユーザーインターフェースを、日本語として”自然”に見えるように修正。
・メンテナンスされていないと思われるメッセージファイルをちゃんと更新。
・英語のままだったTooltip Helpを日本語化。
・以下に示す日本の検索エンジンが検出されるように修正。
Google(J), Biglobe, Nifty, MSN(J), ODN, Excite(J), Naver, Fresheye, TOCC, Infoseek, AskJeeves(J)など
・日本ローカルブラウザであるSleipnirとLunascapeを検出するように修正。
・日本ローカルロボット(はてなアンテナ, Bookmark Renewal Agentなど)を検出するように修正。
・日本語の検索語が正常に検出されない(文字化け)を修正。
・Google/Yahooのキャッシュ経由でのアクセスを正常に検出されるように修正。
・付属ドキュメントの日本語化(予定)。

ここら辺を修正したのが完全日本語版ということになります。実際の統計イメージはこちらで見ることができます。自分でできうる限りの日本語化は行ったつもりです。

AWStats 6.6完全日本語版のダウンロード

以下のリンクから、管理人がより完璧な日本語対応を目指して修正を行ったAWStats Ver. 6.6をダウンロードすることができます。書くまでもないと思いますが、管理人は導入や運用で発生した事故等についての一切の責任を取ることはできません。すべて自己責任で行ってください。 ちなみに、全ファイルが基本的にUTF8で記述されているので、文字化けに注意してください。

AWStats 6.6完全日本語版のダウンロード

AWStats 6.6完全日本語版のインストール

本体の詳細なインストール手順は用意できていません。時間とやる気ができたら作成します。
とはいっても、事実上Ver.6.0と全く導入手順は同一になるので、こちらを参照すれば基本的に導入はできると思います。残りのドキュメントについては、少々古くなりますが、Ver.5.0の日本語ドキュメントが参考になると思います。

少しだけ書いておきますと、まず設定ファイルはAWStats 6.5と完全互換です。新しい設定パラメータは登場していないためVer.6.5を利用している方はそのままその設定ファイルを利用できます。 また、hobbit氏の手により大幅に改良されたutf8_decode.plですが、利用前に必ず$myhostを設定してください。Googleなどのキャッシュからのアクセスを解析する際にこのパラメータが利用されます。

日本語特有の設定

完全日本語版では、ログファイルをAWStatsにかけるまえに、utf8_decode.plというスクリプトを経由させます。このスクリプトで、GoogleやYahooのキャッシュ経由のアクセスログの整形や、検索語のデコードを行います。この部分はオリジナルのAWStatsには存在していない部分であるため、別個に作業を行う必要があります。

0. Jcode.pmのインストール
URLをデコードするために必要となるJcode.pmをインストールします。
インストール方法についてはここでは紹介しませんので、こちらなどを参照してインストールしてください。

1. 必要なファイルのコピー
配布ファイルの/wwwroot/cgi-bin/utf8_decode.plを/var/www/cgi-binディレクトリにコピーします。
このスクリプトの場所はどこでも構いませんが、管理人はawstats.plと同じディレクトリに置いています。

2. utf8_decode.plの修正
1行目のPerlの場所を、実際の環境に合わせて修正します。

3. テスト用ログファイルの用意
AWStats完全日本語版では、utf8_decode.plで変換したログファイルを入力ファイルとして利用します。
このため、awstats.plを起動する前に、オリジナルのログファイルをutf8_decode.plを通す必要があります。
本番運用ではcronでコピーを行いますが、ここでは手動でコピーをしてテスト用のログを用意します。
以下をコマンドラインから入力して、テスト用のデコード済みアクセスログを用意します。

/var/www/cgi-bin/utf8_decode.pl < /var/log/httpd/access_log > /var/www/cgi-bin/access_log.utf8

utf8_decode.plの場所とaccess_logの場所は、実際の環境に合わせて修正してください。
デコード済みアクセスログのaccess_log.utf8のファイル名とパスは、awstats.confの設定に合わせて下さい。

4. awstats.confの設定の確認
awstats.conf中の、”PurgeLogFile”が”0″(処理済ログを切り詰めない)であることを確認します。
本番運用では切り詰める方が好ましいので”1″にしますが、テスト中は”0″にしておくと便利です。
awstats.plの実行時にエラーが出てもログファイルは残るため、何度でもやり直しがきくからです。

AWStats完全日本語版のテスト

ここからは、再度こちらも参照しながら進めてください。

1. awstats.plファイルを実行し、更新処理を行う
“awstats.pl -config=myvirtualhostname -update”と入力して、AWStatsの更新処理を起動します。”myvirtualhostname”は、設定ファイルをコピーする際に利用した”awstats.myvertualhostname.conf”のことです。こうして起動すると、awstats.myvertualhostname.confの設定内容にしたがって処理が実行されます。

この初回のアクセス解析は、固まっているんじゃないかと思うほど時間が掛かる場合があります。
すぐに終わる場合もありますが、処理するログの量によっては数十分掛かることもあります。
処理の長さは本当に千差万別で一概には言えませんが、ここはひとつ気長にお待ちください。

正常に終了していれば、処理結果が以下のような形で表示されます(注 : ひょっとしたら現在のバージョンでは微妙に異なっているかもしれませんが、類似の出力を得られればOKだと思ってください)。

Lines in file: 225730
Found 5 dropped records,
Found 124 corrupted records,
Found 0 old records,
Found 225601 new records.

上から、ファイルの行数、統計対象外の行数、不正な行数、過去に処理済みの行数、新たに処理した行数になります。この処理はログファイルの解析の実行と、その解析結果のデータベースファイルへの書き出しのみを行います。

2. awstats.plファイルを実行し、レポート作成処理を行う
1. で解析されたデータを視覚的にブラウザから閲覧することができるように、レポートの作成処理を行います。 管理人のサイトで見えているように静的なHTMLとして出力する場合、以下の形でawstats.plを起動します。

perl awstats.pl -config=virtualhostname -output > awstats.virtualhostname.html

他にも、いきなりPerlのCGIとしてブラウザに表示させたり、特定のレポートだけを出力したりもできます。
詳細については、こちらを参照ください。

3. 出力されたHTMLファイルをブラウザから閲覧してみる
1.や2.でエラーが出ていなければ基本的に問題はないはずですが、一応ブラウザで正常に表示されることを確認します。

本格運用のための設定

ここまでAWStats完全日本語版を利用するための基本的な設定は終了しました。あとは本格運用の設定をするだけです。実際には、同梱の awstats.cronで定期的に実行するように設定することになります。awstats.cronの処理内容を簡単に紹介しますと、

1. オリジナルのログファイルをutf8_decode.plというフィルタに通してからテンポラリなファイルとしてコピー (デフォルトファイル名:access_log.utf8)。この時点で検索エンジンの引数の日本語化は終了。
2. awstats.plが切り詰めるのがaccess_log.utf8になるため、オリジナルのログファイルを切り詰める処理を実行。
3. 統計の更新処理 / 作成処理を走らせる。
4. 念のため出力されたHTMLファイルの権限を、一般ユーザに変更しておく。

こんな感じになります。1.の部分はテスト用ログファイルを用意する際に行った処理と同じ内容です。

また、awstats.cronを実行すると、オリジナルのアクセスログファイルが切り詰められてしまいますので、正常な動作を確認するまではバックアップを取ったり、設定ファイルの”ArchiveLogRecords”を”1″に設定(処理済ログのアーカイブファイルを作成する)しておいてください。

このファイルを/etc /cron.hourlyなどに置けば、上記の処理が自動的に1時間おきに行われるようになります。私の場合は1時間に1度なのでcron.hourly ですが、例えば1日に1回でよければcron.dailyに置きます。しかし、可能であればその前に設定ファイルの”PurgeLogFile”を”1″ に変更して下さい。この設定にすると、AWStatsが毎回処理終了後にデコード後のアクセスログファイルを切り詰めてくれるので、処理速度が向上します。

実際にcronとして実行させる前に、コマンドラインからawstats.cronを実行してみて、正常に動作しているのを確認するようにしてください。

謝辞

完全日本語版AWStatsに不可欠なのが、生ログのデコード処理です。当初は管理人が作成した非常に荒いデコードスクリプトを同梱していました。しかし、hobbit氏がそれを大幅に改良し、検索エンジンの特性に合せた細かいデコード処理ができるようにしてくださいました。hobbit氏より、その成果をAWStats完全日本語版に同梱する了承を頂けたため、本サイトで配布されているAWStats完全日本語版には、hobbit氏作成の utf8_decode.plが同梱されています。この場を借りて御礼を申し上げます。

hobbit氏のWebサイトでは、管理人が配布しているものに更に手を加えたAWStatsを配布されています。また、utf8_decode.plの更なる改良版が公開されていることもありますので、よりよいAWStats環境を求める方は、ぜひとも訪問することをお勧めいたします。

コメントする