このハウツーの著者:
Peter Rose
HTML への変換と第3ステップの追加の著者:
Stephen Turner
Analog の最大の特徴の一つは、同じサーバ上の数個の仮想ホストに対して、カスタマイズされたそれぞれ異なる出力を簡単に提供できることにある。
もしあなたのサーバ上で数個のドメインを提供し、日別/週別/月別の Analog の統計結果をすべての顧客に対して提供したいが、顧客すべてが同じ程度の報告、あるいは見てくれを必要としないときには、これは、あなたにとって明らかな利点となります。
以下は、RedHat Linux 6.1 上で動作している Apache 1.3.12 に基づいた実際例です。しかし、他の Unix の仲間のプラットフォームにも適用できるはずです。第2と第3ステップ、それに一般的な考え方は、Windows NT や他の OS でも役に立つことでしょう。しかし、詳細については、他の人に聞かなければならないでしょう。:-)
以下は、私の httpd.conf の例です。
<VirtualHost 212.87.82.24> ServerName www.ontiles.com SSLDisable DocumentRoot /home/httpd/html/tileshop ServerAdmin webmaster@ontiles.com CustomLog logs/ontiles-referer_log referer TransferLog logs/ontiles.com-access_log </VirtualHost> <VirtualHost 212.87.82.24> ServerName www.nuw-maas.co.uk SSLDisable DocumentRoot /home/httpd/html/nuwmaas ServerAdmin webmaster@cyberscreen.com TransferLog logs/nuw-maas-access_log </VirtualHost>
上記では、異なるログの取り方をしている、2個の仮想ホストが含まれています。
ontiles.com は、通常のアクセス統計と共に参照元レポートを要求していますが、一方、nuw-maas.co.uk は、基本的なアクセス統計のみを必要としています。
LOGFILE /etc/httpd/logs/ontiles.com-access_log LOGFORMAT REFERRER LOGFILE /etc/httpd/logs/ontiles-referer_log OUTFILE /home/httpd/html/cyberscreen/stats/ontiles_stats.html HOSTNAME "ONTILES.COM" HOSTURL "http://www.ontiles.com/" IMAGEDIR "http://www.cyberscreen.com/images/" LOGO "ontileslogo.jpg" STYLESHEET ontilesanalogstyle.cssLOGFILE と LOGFORMAT コマンドの現れる順番に気を付けて下さい。もし、LOGFORMAT REFERRER が LOGFILE /etc/httpd/logs/ontiles-referer_log の前になければ、正常に動作しないでしょう!このドメインのレポートには、ホームページの上部に独自のロゴを与えていることにも気がつくと思います。また、このウェッブサイトに相応しいスタイルシートを使っています。これらは、本質的なことではありませんが、最後の仕上げをせざるを得ないでしょう。 :-)
以下は、他の仮想ホストに対する analog.cfg ファイルの記述です。あなたが予想していたとおり、nuw-maasanalog.cfg と呼んでいます。
LOGFILE /etc/httpd/logs/nuw-maas-access_log OUTFILE /home/httpd/html/cyberscreen/stats/nuw-maas_stats.html HOSTNAME "WWW.NUW-MAAS.CO.UK" HOSTURL "http://www.nuw-maas.co.uk/" IMAGEDIR "http://www.cyberscreen.com/images/" LOGO "nuw-maaslogo.jpg" STYLESHEET nuw-maassanalogstyle.cssこれまでで、考え方はつかめたと思います。このドメインは、参照元レポートを必要としませんが、魅力的な独自のロゴと出力に適用されるスタイルシートを要求している。この機会に乗じて、各ドメインの analog.cfg 内で、各ホストの要求に応じて、凝った出力を作成したり、リクエスト数の最低数を決めたりできます。
LOGFILE /etc/httpd/logs/ontiles.com-access_log http://www.ontiles.com LOGFILE /etc/httpd/logs/nuw-maas-access_log http://www.nuw-maas.co.uk OUTFILE /home/httpd/html/cyberscreen/stats/overall_stats.html HOSTNAME "Cyberscreen" IMAGEDIR "http://www.cyberscreen.com/images/" SUBDIR http://*最後の行の SUBDIR コマンドに注意して下さい。この行のおかげで、ディレクトリレポートを使い、各仮想ホストのデータ転送量を見ることができます。この情報は、仮想ホストレポートでは見られません。というのも、仮想ホスト名は、ファイル名の単なる一部であり、それ自身が項目とはならないからです。
このレポート出力を行うと、Analog は、"2重勘定の可能性" の注意を与える。これは、単にログファイルの日時が一致しているということを意味し、すべてのログファイルは異なる仮想ホストからのものであるから、何ら心配することはない。
#!/bin/sh cd /etc/httpd/analog4.0 ./analog -G +gontilesanalog.cfg ./analog -G +gnuwmaasanalog.cfg ./analog -G +gall.cfg明らかなように、1行目は、Analog の位置を示している。あなたの場合には、どこか別の場所かもしれません。もし、Analog を $PATH の中に含めてしまえば、もちろん、各行の先頭に ./ を付ける必要はありません。ここでやっていることは、異なる環境設定ファイルを使って、Analog を単に2度走らせているだけです。これを無限に続けることはできませんが、私は20個の仮想ホストを持っており、Analog は、全部を数秒で処理してしまいます。上記で重要なオプションは、-G であり、これは、Analog が初期環境設定ファイルを使用しないようにし、また cfg ファイル名の先頭に付いている +g というオプションは、Analog がその特別な環境設定ファイルを使うようにさせる。ファイル名の前にスペースを入れてはいけません。
これでおしまいです。今や、Analog は、すべての仮想ホストに対してカスタマイズされたレポートを、自動的に生成します。