日本語版AWStats Ver.3.0のページ

こちらは最新のバージョンではありません
AWStats日本語版についての最新の情報は、こちらのページを参照してください

日本語化について

 知っている方は知っていると思いますが、AWStatsは元々日本語には対応していませんでした。しかし、美しいユーザーインターフェースなど、"日本語化されていないから"という理由で切り捨ててしまうには少々もったいない気がしたので、Ver.2.23の時に日本語に対応させたのが始まりです。修正内容の詳細については、配布ファイルの中に含まれるREADME.TXTを参照してください。

 

日本語版AWStats Ver.3.0のダウンロード

 2001年9月頃より、上記の修正を加えた日本語版AWStatsを有志の方を対象に配布を行って実際に利用して頂きました。その結果、特に問題点はないようなので、ここに正式に公開することにしました。
#公開まで8ヶ月もかかったのは管理人の怠慢です^^;

 人柱となって下さった多くの方々へは、この場を借りて御礼申し上げますm(__)m
 何点かの要望を頂いておりますが、こちらについては今後の参考とさせていただきたいと思います。

日本語版AWStats Ver.3.0のダウンロード

配布ファイルの構成

 配布ファイルの構成は以下の通りです。
 なお、配布ファイルの元となっているオリジナルのAWStatsのバージョンは3.0です(すでに配布が終了してます)。

 ・INSTALL.TXT
 ・README.TXT
 ・COPYING.TXT
 ・COPYINGJ.TXT
 ・decode.pl
 ・jcode.pl
 ・awstats.cron
 ・wwroot/cgi-bin/awstats.model.conf
 ・wwroot/cgi-bin/awstats.pl
 ・wwroot/cgi-bin/lang
 ・wwroot/cgi-bin/icon

日本語版INSTALL.TXT
日本語版README.TXT
オリジナルCOPYING.TXT
日本語版COPYING.TXT
検索エンジン引数デコーダ
文字コード変換ライブラリ
サンプルcronファイル
awstats.confサンプルファイル
日本語版awstats.pl本体
言語ファイル(jpが日本語)
アイコンファイルの格納されたディレクトリ

 COPYINGJ.TXTは私の手の訳による物ではなく、gnu.orgに置かれている日本語訳を利用させて頂いています。法律的には英語のGPLのみが有効となるようなので、念のためオリジナルの英語版もつけておきました。
 decode.plは検索エンジンの引数をデコードするために追加したファイルです。非常にラフなつくりになっていますが、そこはご容赦をm(__)m。文字コード変換にjcode.plを利用するのでそちらも同梱してあります。
 awstats.cronは、日本語版awstatsを運用するために必要になるcronファイルのサンプルです。非常に単純なことしかしていませんので、見ていただければ分かるかと思います。
 awstats.plについては、改造箇所は"Ryu"で検索して頂ければわかるようにしてありますので、改造内容について興味がある人は、"Ryu"で検索してみてください。たいした改造をしていない事がばれてしまいますが^^;

 

日本語版AWStats本体のインストール

 基本的にはREADME.TXTを見ればセットアップは出来るようになっていますので、まずそちらをご覧下さい。なお、私が現在利用している環境はTurbo Linux Server Ver. 7.0ですので、ファイルのパス等は全てTurbo Linuxが基準になっております。

 日本語版AWStatsはtar.gz形式で配布されています。Linuxで解凍するには、ダウンロードしたファイルがあるディレクトリに移動してから

 tar -zxvf awstats30_jpn.tar.gz

 と入力すると、カレントディレクトリにAWStats30_Japaneseディレクトリが作成され、そこに解凍されます。
 
解凍後、AWStats30_Japaneseディレクトリに移動し、以下の作業を行います。

 1. Perlの場所の確認
  "which perl"と入力して返ってくるパスが、perlがある場所になります。

 2. Apacheのログファイルフォーマットを"Combined"に変更
  具体的には、/etc/httpd/conf/httpd.confの570行目付近のログ設定部分を以下のように修正します。
  修正はhttpdを再起動しないと有効になりませんので、必ず再起動(killall -HUP httpd)してください。

  # The location and format of the access logfile (Common Logfile Format).
  # If you do not define any access logfiles within a <VirtualHost>
  # container, they will be logged here. Contrariwise, if you *do*
  # define per-<VirtualHost> access logfiles, transactions will be
  # logged therein and *not* in this file.
  #
  #CustomLog /var/log/httpd/access_log common

  #
  # If you would like to have agent and referer logfiles, uncomment the
  # following directives.
  #
  #CustomLog /var/log/httpd/referer_log referer
  #CustomLog /var/log/httpd/agent_log agent

  #
  # If you prefer a single logfile with access, agent, and referer information
  # (Combined Logfile Format) you can use the following directive.
  #
  CustomLog /var/log/httpd/access_log combined

 3. awstats.plファイルをcgi-binディレクトリにコピー
  cgi-binディレクトリにhttpdが書き込み可能どうか確認してください。
  具体的には、nobody(デフォルトの場合)に対して書き込み権限があればOKです。

 4. awstats.plファイルのperlの場所を設定
  ファイルの一番先頭の"#! /usr/bin/perl"を、実際にperlがある場所に変更します。
  実際にPerlがある場所は、"which perl"と入力して、返されたパスになります。

 5. Apacheから読めるディレクトリに全てのアイコンファイルディレクトリをコピー
  wwroot/cgi-bin/icon配下の/clock, /flags, /other, /browser, /cpu, /osディレクトリを
  Apacheから読める出来る場所にコピーします。ここでは/var/www/iconsにコピーしたと
  仮定します。

 6. awstats.confをcgi-binディレクトリにコピー
  展開ディレクトリのwwroot/cgi-bin/にawstats.model.confというファイルがあるはずです。
  このファイルをcgi-binディレクトリにコピーします。その際、名前をawstats.confにします。

 7. langディレクトリをcgi-binディレクトリにコピー
  wwroot/cgi-bin/icon配下の/langディレクトリを、cgi-binディレクトリにディレクトリごとコピ
  ーします。README.TXTではなぜか言及されていませんが(私の翻訳忘れか、オリジナルに
  元々ないのか、今となっては確認できませんが)、忘れずに行ってください。

 8. awstats.confファイルの"LogFile"を設定
  21行目の"LogFile"に、検索エンジンのキーワードデコード済みのhttpdのログファイルの
  パスと名前を設定します。ここが何になるかは後で述べるawstats.cronによって変化しま
  すが、awstats.cronでのデフォルトはaccess_log.eucです。
  相対パスで書いても大丈夫ですが、トラブルの種になるので極力絶対パスで書きましょう。

 9. awstats.confファイルの"LogFormat"を設定
  69行目の"LogFormat"を、"1"に設定します。元々"1"になっているはずです。

 10. awstats.confファイルの"DirData"を設定
  87行目の"DirData"を、自分がWorking Fileを置きたいと思うディレクトリに変更します。
  デフォルトは"."、つまりawstats.plファイルがある場所と同じになっています。

 11. awstats.confファイルの"DirIcons"を設定
  144行目の"DirIcons"を、5.でコピーした場所に設定します。
  ここはhttpd.confの65行目付近のServerRootからの相対パスになるようですので、
  /var/www/iconsにコピーした場合は"/icons"になるはずです。

 12. そのほか必要な設定を行う
  awstats.confには他にも様々なパラメーターがありますので、必要であれば変更します。

 

日本語特有の設定

 オリジナルのAWStatsですと、ここで設定のテストに入りますが、日本語版はもう少しテストの前に手順が必要です。続いて以下の作業を行います。

 1. 必要な配布ファイルのコピー
  decode.plとjcode.plを/var/www/cgi-binディレクトリにコピーします。
  このスクリプトの場所はどこでも構いませんが、わかりやすいので私はcgi-binに置いてあります。

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

 3. テスト用ログファイルの用意
  日本語版AWStatsでは、デコード処理後のアクセスログを一時ファイルにコピーしてから処理を行います。
  本番運用ではcronでコピーを行いますが、ここでは一度手動でコピーをして置きます。
  以下をコマンドラインから入力して、テスト用のデコード済みアクセスログを用意します。

  /var/www/cgi-bin/decode.pl < /var/log/httpd/access_log > /var/www/cgi-bin/access_log.euc

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

 4. awstats.confの設定の確認
  awstats.conf中の、"PurgeLogFile"が"0"(処理済ログを切り詰めない)であることを確認します。
  本番運用では切り詰める方が好ましいので"1"にしますが、テスト中は"0"にしておくと便利です。

 

日本語版AWStatsのテスト

 1. awstats.plファイルを実行し、設定のテストを行う
  awstats.plファイルを"awstats.pl site=www.yourdomain.com"という形式でコマンドラインから実行します。
  "www.yourdomain.com"は、アクセス解析を行いたいドメイン名を入力します。

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

  htmlファイルらしき内容が結果として出力され、入力が出来る状態に戻れば設定はOKです。
  エラーが出たら、メッセージを見てawstats.plファイルを修正し、成功するまでテストします。
  CGIなので、チェックすべき場所は/var/log/httpd/error_logあたりになるはずです。

 2. ブラウザからアクセスしてみる
  ブラウザから"http://www.myserver.com/cgi-bin/awstats.pl" と入力してみます。
  これで統計結果が表示されればOKです。

 

本格運用のための設定

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

 1.オリジナルのログファイルをdecode.plというフィルタに通してからテンポラリなファイルとしてコピー
  (デフォルトファイル名:access_log.euc)。この時点で検索エンジンの引数の日本語化は終了。
 2.awstats_jpn.plが切り詰めるファイルはaccess_log.eucになるので、オリジナルのログファイルを
  切り詰める処理を実行。
 3.パイプを利用してhtmlファイル(awstats.html)を出力。
 4.念のため出力htmlファイルの権限をnobodyに変更

 こんな感じになります。1.の部分はテスト用ログファイルを用意する際に行った処理と同じ内容です。ここではhtmlファイルを出力するようになっています。統計結果の参照先URLもこの出力htmlファイルにして下さい。なぜわざわざそんなことをするのかというと、毎回毎回awstats.plを処理するよりも、こちらのほうがレスポンスがよいからです。Perl本体を直接参照させたい方は、3と4の処理をコメントアウトして、参照URLをawstats.pl本体にしてください。

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

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

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

 不明な点があれば掲示板でも質問を受け付けますので、遠慮なく書き込んでくださいますよう、お願いいたします。

 

今後の課題

 本家では2002年4月中旬に、Ver.4.0が公開されました。目立ちませんが、一応日本語にも対応していることになっており、サンプルをhttp://awstats.sourceforge.net/cgi-bin/awstats.pl?lang=jpで見ることが出来ます。しかし、はっきりいって直訳の域を出ない状態です。こちらをもっとまともな日本語で表示されるように修正しようと画策中です。
 例によっていつになるかは全く見当がつきませんが....

 というような状態は終わりました!Ver.5.0のβ版を現在公開中なので、こちらを参照くださいm(__)m