LANDISK HACKING DIARY | ||
Since2005/8/17 | ||
TOPへ戻る | ||
awstats のインストール | |||||||||||||||||
アクセス解析のできるWebalizer (その後継のWebdruidも含めて)は、個人的にデフォルトデザインが好きになれなかったので、 AWstats をインストールする事にする。シンプルなデザインで見た目に優しいのでこれなら癒されそうだ。
バーチャルホスト用に、apache2のアクセスログを分離させておく。
次に、/etc/awstats/awstats.conf をリネームコピーして、そのファイルを編集していく。バーチャルホスト運用をしていない場合、もしくは、バーチャルホスト運用していたとしても、awstats の統計を全てまとめて管理したい場合は、/etc/awstats/awstats.conf を直接編集してしまって構わない。
設定項目は、他にもたくさんありますがとりあえずここで解析してみます。 -config=~ の後は、config ファイルのおかれている絶対パスではなく、「SiteDomain」名(ここでは、landisk.kororo.jp)で指定してください。そうでないとエラーが発生します。なお、-config オプション無しでコマンドを実行した場合は、デフォルト設定ファイルの /etc/awstats/awstats.conf が実行されます。処理が終了すると、DirData (ここでは、/var/lib/awstats)に、awstats042006.landisk.kororo.jp.txt のようなファイルが作成されています。
次に、HTML出力して、Web上で閲覧できるようにします。出力したら、実際にWeb上からアクセスしてみてください。
アイコンが見えない場合は、apache2 コンフィグで、以下のようにエイリアスさせておく。
■検索文字列の文字化け解消 awstats の「検索文字列(キーフレーズ) 」「検索文字列(キーワード) 」が文字化けしているので、これを修正します。この原因は、awstats が出力するHTMLファイルがデフォルトでUTF-8 コードで出力されるため、文字コードの異なる検索エンジンで検索された文字列は文字化けしてしまうというわけです。これを修正するには、apache2のアクセスログを UTF-8に変換した上で、再度、awstats -update と awstats -output を行う必要があります。まず、UTF-8 に変換するPerlスクリプトをダウンロードしてきてください。 ⇒conv_weblog_to_utf8.pl のダウンロード ダウンロードしてきたら、/usr/lib/cgi-bin の中に conv_weblog_to_utf8.pl を放り込みます。放り込んだら、apache2のアクセスログをUTF-8に変換します。
先ほど、/etc/awstats/awstats.landisk.kororo.jp.conf を編集した際に、LogFile の値を access_landisk.log.utf8 にしたのは、UTF-8に変換されたアクセスログを読み込むためです。次に、awstats -update で解析データベースを更新し、awstats -output で 出力します。これで、検索文字列は、文字化けせずに正常に表示されるはずです。但し、すでに文字化けしていたものは、修正されません。もし、文字化けのないまっさらな状態にしたい場合は、/var/lib/awstats/ 以下の解析データを削除してから再度コマンドを実行するといいでしょう。
ただし、UTF-8に変換する場合は、ちょっとした問題点が…。 AllowToUpdateStatsFromBrowser=1 に設定して、ブラウザから解析データを更新するようにした場合、/etc/awstats/awstats.landisk.kororo.jp.conf に記述された LogFile の値、つまり、access_landisk.log.utf8 を読み込むようになっているため、ブラウザ側からいくら更新ボタンを押してもログデータは更新されません。何故なら、apache の最新のログは、access_landisk.log であって、access_landisk.log.utf8ではないからです。ブラウザ側から更新する場合は以下のコマンド、
が抜けているのです。さてさて、どうしたものか。awstats.pl をいじってこのコマンドが実行されるようにする!? Perl の「パ」の字も知らない自分にそんな高等技術ができるわけないので素直にあきらめる。 ということで、以下のスクリプトを作成して、cron で 3時間ごとにUTF変換だけは済ませるようにし、ブラウザ側からの更新を可能にするように設定した。かなり、強引は気はするが、これなら見たいときにだけawstats -update コマンドが実行されるようになるので、サーバーに余計な負荷はかかからなくてもいいかも!?
最後に、言うまでもないが、出力結果を見られたくない場合は、ベーシック認証なり、.htaccess なりを使ってアクセスを制御するようにしてください。
|
TOPへ戻る | ||
Copyright © KORO All Rights Reserved. |