AWStats Ver.7.0 完全日本語版

日本語化について

AWStats自身は日本語に対応していることになっていますが、かなり”オマケ”的な対応でしかなく、日本人の目から見たら明らかに不自然な箇所、不足ている機能などが目に付きます。このため、日本人が”自然に”利用できるようにするために修正を加えたものをここで公開しています。実際の利用イメージについては、こちらを参照ください。

具体的に加えた修正点は以下の通りです。

・ユーザーインターフェースの日本語を”自然”な日本語に
・メンテが放置されていた各種メッセージファイル / チップヘルプファイルの最新化
・日本ローカルの検索エンジンを検出するように修正
・Google(J), Biglobe, Nifty, MSN(J), ODN, Excite(J)など
・日本ローカルブラウザであるSleipnirとLunascapeを検出するように修正。
・日本ローカルロボット(はてなアンテナなど)を検出するように修正。
・日本語の検索語が正常に検出されない(文字化け)を修正。
・Google/Yahooのキャッシュ経由でのアクセスを正常に検出されるように修正。
・設定ファイルの日本語化。

ちなみに、Ver.7.0の日本語化にあたって、Googleのキャッシュ経由のアクセスのロジックの見直しを行いました(URLの変更があったため)。

AWStats Ver.7.0完全日本語版のダウンロード

以下のリンクからダウンロードができます。当然ではありますが、ご利用は自己責任で。

AWStats Ver.7.0完全日本語版のダウンロード

AWStats Ver.7.0完全日本語版のインストール

基本はかなり昔から変わっていません。少々古い文書になりますが、こちらが参考になると思いますので、併せて参考にしてください。configure.plというインストール用のスクリプトファイルを利用する方法と手動でインストールする方法とがありますが、ここでは後者を紹介します。挙動をよく理解するという意味でも、個人的には手動インストールをお勧めいたします。なお、想定している環境はCent OS(=Redhat系のディストリビューション)のApacheです。

ファイルをダウンロード・解凍してから、以下の手順でインストールを行ってください。

1. 展開されたファイルのコピー

最低限必要なのは、配布ファイルの/wwwroot/cgi-bin以下と/wwwroot/icon以下に格納されているファイルです。特に考慮すべき事情が無ければ、前者に格納されているファイル/ディレクトリは、WebサーバでCGIが動作するディレクトリに、後者に格納されているディレクトリは、Webサーバで利用するアイコンのファイルが格納されているディレクトリ(CentOSの場合/var/www/icon)にコピーします。前者については、以降の手順では/var/www/cgi-bin/AWStats70というディレクトリにコピーしたと考えることとします。同時に適切な権限を設定しておくことを忘れないように(awstats.plはWebサーバの権限で実行できる必要があります)。

また、何らかの理由で既定のCGIディレクトリやアイコンディレクトリ以外にファイルを置く場合は、httpd.confを修正してコピー先がApacheから認識されるようにしておいてください。

2. Apacheのログ方式の確認

AWStats自体は柔軟にさまざまな形のログ形式に対応することができますが、基本的に想定しているのはApacheのCombined形式のログです。詳細な説明は省きますが、httpd.confの中のログ形式の部分の設定が次のようになっていればOKです。

#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
#
LogFormat “%h %l %u %t “%r” %>s %b “%{Referer}i” “%{User-Agent}i”” combined
LogFormat “%h %l %u %t “%r” %>s %b” common
LogFormat “%{Referer}i -> %U” referer
LogFormat “%{User-agent}i” agent

(中略)

#
# For a single logfile with access, agent, and referer information
# (Combined Logfile Format), use the following directive:
#
# CustomLog logs/access_log combined env=!no_log
CustomLog logs/access_log combined

赤字の部分がポイントです。ここがコメントアウトされているようであれば、そのコメントを外し、同時にコメントアウトされていない”CustomLog”の行をコメントにします。もし修正したら、Apacheを再起動してログ出力形式が変わったことを確認しておきましょう。

3. AWStatsの設定ファイルの準備

1. の手順に従っていれば、/var/www/cgi-bin/AWStats70/awstats.model_jp.confというファイルがあるはずですので、このファイルをawstats.(あなたのホスト名).confという名前でコピーします。ちなみに管理人のサイトでは、”awstats.starplatinum.conf”という名前になっています。このファイルを編集して、AWStatsの設定を行います。

設定内容は設定ファイルのコメントを読めばすべてわかるはずですので、頑張ってみてください。膨大な設定項目がありますが、必須項目はメインセットアップセクション(設定ファイルの一番上の部分)部分のみなので、まずはそこだけ編集して動作確認を行い、詳細なカスタマイズ(オプショナルセットアップセクション)は正常動作確認後に実施すればいいでしょう。

日本語特有の設定

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

1. Jcode.pmのインストール

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

2. 必要なファイルのコピー

配布ファイルの/wwwroot/cgi-bin/utf8_decode.plが/var/www/cgi-bin/AWStats70/にあることを確認します。

3. utf8_decode.plの修正

1行目のPerlへのパスと$Myhostとを、実際の環境に合わせて修正します。

4. テスト用ログファイルの用意

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

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

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

5. awstats.confの設定の確認

ログファイルのパスを、4.で作成したデコード済みアクセスログ(access_log.utf8)を参照するように変更します。

また、awstats.conf中の、”PurgeLogFile”を”0″(処理済ログを切り詰めない)に設定しておくことをお勧めいたします(デフォルトでそうなっているはず)。本番運用では切り詰める方が好ましいので”1″にしますが、テスト中は”0″にしておくと便利です。なぜならば、awstats.plの実行時にエラーが出てもログファイルが削除されないため、正常に動作するまで何度でもそのログファイルを再利用できるからです。

AWStats完全日本語版のテスト

ここからは、再度こちらも参照しながら進めてください(古い文書で申し訳ございません。何しろ翻訳には膨大な手間がかかるもので…)。

1. awstats.plファイルを実行し、更新処理を行う

“awstats.pl -config=(あなたのホスト名) -update”と入力して、AWStatsの更新処理を起動します。”(あなたのホスト名)”は、設定ファイルをコピーする際に利用し た”awstats.(あなたのホスト名).conf”のことです。当サイトの場合であれば、”starplatinum”になるということになります。こうして起動すると、 awstats.(あなたのホスト名).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)。この時点で検索エンジンの引数の日本語化は終了。また、生のAWStatsでは正常に処理されないGoogleのキャッシュからのアクセスも、通常のGoogleからのアクセスと認識されるように整形される。
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を実行してみて、正常に動作しているのを確認するようにしてください。なお、このファイルの内容は当サイトで利用している内容そのものになりますので、パスなどについてはご利用の環境に合わせて変更してご利用ください。

最後に

本手順で、Linuxに不慣れな方でもなんとかAWStatsを利用するところまでこぎつけることができると信じていますが、”ここがわかりにくい”とか、”ここはおかしい”というところがあれば、下のコメントフォームから投稿してくださいますよう、お願いいたします。

「AWStats Ver.7.0 完全日本語版」への18件のフィードバック

  1. 使わせてもらいました。(*^_^*)
    メッセージの日本語表記が自然で分かり易いです。

    気付いたことを書かせてもらいますと…
    ■ .swf ファイルのアイコン(画像)が無いです。
     (6.9ではflashの定義だったのを7.0ではswfに変更して、アイコンは用意していない様です)
    ■ 最後のコード(404など)の説明が英語のままです。
     (サンプルを見て、分かりやすいと思ってしまったもので…)

    返信
  2. 便利に使わせてもらっています。
    さて、筋違いかもしれませんが、POSTのログも表示する方法はあるのでしょうか?
    もしご存知でしたら、宜しくお願い致します。

    返信
    • すいません、どうやらドメインが失効していたようでした(無料の動的ドメインなので…)
      ただ今ドメインを再取得したので、閲覧できる状態になっていると思います。

      参考になれば幸いです。

      返信
  3.  ご無沙汰しております。
     yyyy mm dd化やったつもりでしたが、大きいとこをみおとしていました。
     取りこまさせていただきました。

    返信
  4. 教えて頂きたいのですが
    「日別の統計」を見ると、数日間すべてが「0」カウントになっています。
    過去の日別をたどりましたら、統計で数字が「0」のままの日が1週間から10日程度あります。
    これはどのような問題があるのでしょう?
    また、どうしたら、抜け部分が起こらなくなるのでしょうか?
    ご教授のほどよろしくお願いいたします。

    返信
    • 確認なんですが、”日別の統計”以外はちゃんと数字が反映されているのでしょうか?
      たとえば、月別の統計はどうでしょうか。抜け落ちていると思われる部分の数字は含まれていそうですか?
      抜け落ちている日付を含めて現時点までのログが揃っていれば、既存の統計情報を削除して再集計することも可能ですよ。

      返信
  5. ご対応ありがとうございます。
    ちょくちょく10日から14日くらい抜けている月があったのですが
    10月は21日からまったく数字が取れていません。
    すべての数字が動いていないので、ログは取れていないと思います。
    どこをどうしたら良いのか・・。

    返信
    • 全く数字が取れていないとのことですが、Webサーバのログ自体は出力されていますか?
      ログが出力されているのであれば、awstats.cronで自動的に定期実行するのを一時的に止めて、その中に書かれているコマンドを一つ一つ手で実行してみましょう。
      もしログの統計処理でエラーが出ているのであれば、これで分かるはずですよ。

      返信
  6. こんばんは。

    本家版で以下のことを経験しました。こちらへの報告でいいのかどうかわかりませんが,
    一応,ご報告まで。

    WinXpProSP3+Apache2.2上で,
    ActivePerl-5.14.2.1402-MSWin32-x86-295342.msi
    をインストールしたときに,
    1. OSの参照がすべて不明になる
    2. 検索文字列が一切捕捉されない
    という不具合が起こります。

    Perlに詳しくないのでどこが原因かはわかりませんが,
    ActivePerl-5.12.4.1205-MSWin32-x86-294981.msi
    に戻しましたら,どちらも表示されるようになりましたので,
    ActivePerl-5.14.2.1402-MSWin32-x86-295342.msiから
    ActivePerl-5.12.4.1205-MSWin32-x86-294981.msiにかけて変わったことの何かに
    影響されているのは間違いないようです。

    返信
    • 貴重な情報ありがとうございます。
      Windows環境の情報はあまりありませんし、管理人も利用していないので気がつけないのですが、この情報で助かる人もいると思います。
      ありがとうございました。

      返信
  7. もしご存じであれば教えていただきたいですが、
    例えばwww.starplatinum.jpの解析結果ですと、
    月別の統計、日別の統計、曜日、時間帯 のグラフにおいて
    ページのバー(青のバー)がやけに背が低いですが、
    このバーをもう少し背が高くなるようにできないものでしょうか。
    configフィルやplファイルを覗いてみたのですが
    この手のことに詳しくなく、わかりませんでした。
    いっそのこと、固定で強制的に青バーを2倍とか5倍とか
    にする方法などがあれば助かるのですが。

    返信
  8. こんばんは。
    7.0の完全日本語版をありがたく利用している者です。

    2年ぶりにAWStatsの最新安定版Ver.7.1がリリースされました。
    前バージョンからスマートフォン時代に映ったことにより訪問者情報が鮮明に反映されていると思われます。

    もしよければ7.1の翻訳もご検討ください。

    追伸
    GF 8600GT いいグラフィックカードですよね。
    私も昔使っていました。

    返信
    • 7.0完全日本語版をご利用とのことで、ありがとうございます。
      また、Ver. 7.1のリリースのお知らせありがとうございます。

      Google Analyticのようなサービスを万人が無料で利用できるようになった今日では、AWStatsのようなタイプのログ解析ツールの意義はかなり薄れている気はしますが、せっかくご連絡を頂いたこともありますので、内容を見て考えてみたいと思います。

      お知らせありがとうございました。

      返信
  9. 7.0の完全日本語版を利用させていただいております。
    「検索語」だけがうまく表示(何も表示されない)されないのですが何が原因でしょうか。
    utf8_decode.plを利用しログは変換かけております。

    返信
    • こんにちわ。
      正直、まだこちらを利用していらっしゃる方がいること自体に驚いております(Google Analyticsのようなクラウド型の分析システムを利用している方がほとんどだと思っておりました)。
      さて、ご質問いただいた件ですが、検索語のデコードの部分は、アクティブに日本語版を作成していた頃にもかなり手こずった部分でした。検索エンジン毎にどのように検索語がURLに埋め込まれるかの仕様が異なり、かつ時々仕様自体が更新されることもあり、追従が大変だったのです。
      Ver.7.0を公開してから長い月日が経ち、検索エンジンの検索語の仕様は当時から大きく変わったはずです。また、HTTPS化も進み、検索後自体をWebサーバ側で確認できないケースが大部分になったと思われます。残念ながら、WebサイトへのアクセスのRefererを解析して検索語を抽出すると言う仕組み自体にすでに限界が来ていると思われますので、例えばGoogleであればGoogle Analyticsを利用すれば、どのような検索語で検索した結果としてWebサイトへの訪問につながったがわかりますので、そちらへの移行をお勧めいたします。

      返信

コメントする