|
カウンタとは
「カウンタとは」と言ってわざわざ説明するまでもないでしょうが、カウンタはホームページへのアクセスをカウントするメーターのことで、アクセスがあるたびにこのメーターはひとつづつ上がっていきます。このカウンタをホームページに設ける目的としては、
- ホームページへのアクセスがカウンタの数字としてはっきりと示されるため、サイト設置者やホームページ製作者がやる気になる
- アクセスしてきた人が、カウンタを見ることで、そのホームページへのアクセスがどれくらいの頻度なのかを知ることができる
- ホームページ内に、たとえばコーナーごとといったように、複数のページにカウンタを設けることで、どのコーナーへのアクセスが多いのかをおおざっぱに把握できる
といったようなものがあります。「3」に関しては、Webサーバのログを分析するほうが正確ですが、小規模サイトでのログの分析は、アクセス傾向の分析より、危険なアクセスの早めの察知とその排除がおもな目的であることが多く、それなりに意味はあります。ただし、あまりにあちこちにカウンタを設置すると「ものほしげ」な印象を与えるようですから、ほどほどにしましょう。
カウンタを実現する方法
カウンタをホームページに設置するにあたっては、さまざまな方法があります。一般的にUNIXプラットフォームでのカウンタは、「perlスクリプトを使ったカウンタ」と「実行形式のバイナリを使った方法」が多いようです。WindowsNTでも基本的には同じで、「perlスクリプト」を使うか「.exeなどのバイナリプログラム」を使うことが多いでしょう。
perlに関しては、WindowsNTでも動作し、ここでもActivePerlをすでにインストールしています。しかし、カウンタのように複数のユーザが同時に動かす可能性の高いものは、実行形式のバイナリのほうが安心で(ひとつのカウンタデータファイルに同時にアクセスし、その結果、ファイルがクラッシュするといった可能性があります)、またperlスクリプトにつきもののインストール・設定のめんどうくささがありません。
ここでは、UNIXプラットフォームでもよく利用されている「wwwcount」のWindowsNT版(Count Release 2.5 for NT (Intel))を導入することにします。wwwcountは、機能的には必要十分な機能を持ち、ビジュアル面ではかなり豊富な機能を持っています。インストーラが付いているためインストールも簡単で、設定自体も非常に簡単です。
wwwcountのインストール
まず、wwwcountを入手します。作者Muhammad A Muquitさんのページに公式ページがあります。
(この部分修正 2001年7月28日
http://www.muquit.com/muquit/software/Count/Count.html
移動になったようです。以下の説明は実際のものと異なる可能性があります。)
作者のページ

wwwcountの公式ページ

アクセスして「For Unix, NT, OS/2, VAX VMS and Amiga」のところの「NT」をクリックするとWindowsNT版のダウンロードページが表示されます。
WindowsNT版のダウンロードページ

「Download the self extracting binary Count25.exe」をクリックするとダウンロードが始まります。ダウンロードするのは、「Count25.exe」という名前の自己解凍型になっているファイルです。
ダウンロードできたら、ダブルクリックしてインストールを始めます。

「This will install WWW Count 2.5. Do you wish to continue?」というインスト−ル開始の確認メッセージが表示されます。

「はい(Y)」ボタンをクリックします。インストール開始のメッセージがふたたび表示されます。

「Next>」ボタンをクリックします。ライセンスに関するドキュメントが表示されます。

「Yes」ボタンをクリックします。WindowsNT版を「cgi-bin」ディレクトリにインストールするときの注意が表示されます。wwwcountは、デフォルトでは、IISの「scripts」ディレクトリにインストールされるようになっています。「cgi-bin」ディレクトリにインストールするなどするときは、その「cgi-bin」ディレクトリでCGIの実行が許可される設定になっていなければなりません。

「Next>>」ボタンをクリックします。インストール先ディレクトリの指定をします。

「Next>」ボタンをクリックすると、インストール先ディレクトリがすでにある場合には、そのままインストールしていいかをたずねてきます。

「はい(Y)」ボタンをクリックします。インストールの準備がすべて終わり、インストールを開始する最後の確認メッセージが表示されます。

もう一度インストールにあたっての注意書きが表示されます。wwwcountといっしょにインストールされる「mkstrip.exe」「extdgit.exe」というふたつのプログラムに関するものです。「mkstrip」はオリジナルの画像ファイルから「strip.gif」というwwwcountが使う画像ファイルを作るプログラム、「extdgts.exe」は「strip.gif」から画像を抽出するプログラムです。カウンタそのものには関係がないので、インストール先ディレクトリからあとで移動しておきましょう。

「Next>」ボタンをクリックすると、ファイルの解凍とインストールが行なわれ、終了すると確認メッセージが表示されます。

「Finish」ボタンをクリックします。以上でインストールは完了です。
wwwcountの設定
wwwcountをインストールすると次のようなファイルがインストールされます。
| CountNT.html |
| README |
| Count.exe |
| extdgts.exe |
| mkstrip.exe |
| wcountディレクトリ | confディレクトリ | count.cfg |
| dataディレクトリ | sample.dat |
| digitsディレクトリ | Aディレクトリ | peng.gif strip.gif |
| Bディレクトリ | strip.gif |
| Cディレクトリ | strip.gif |
| Dディレクトリ | lenna.gif strip.gif |
| Eディレクトリ | strip.gif |
| cdディレクトリ | strip.gif |
| cdrディレクトリ | strip.gif |
| logsディレクトリ |
「CountNT.html」はHTML形式のドキュメント、「README」はテキスト形式のドキュメント、「Count.exe」がwwwcount本体です。「extdgts.exe」と「mkstrip.exe」はユーティリティです。Web上からアクセスできるディレクトリにこのようなユーティリティがあることは、セキュリティ上望ましいことではありません。インストールの際の注意書きのように、場所を移動しておきましょう。
重要なのは、「count.cfg」と「dataディレクトリ」、そして「logs」ディレクトリです。「count.cfg」が、wwwcountの基本的な設定をする環境ファイルです。
[options]
auto_file_creation=No
strict_mode=Yes
allow_rgb_database=Yes
count_reload=No
log_error_messages=Yes
show_error_messages_to_browsers=Yes
##--
; you can specify IP address of the hosts you want to ignore from counting.
; netmasks can be used to ignore a entire network or a specificrange of
; hosts in the network. Read the counter documentation to know about
; netmasks. Wild card can be used. one item per line.
;
[ignore IPs]
##--
; All possible names and IP addresses by which your host can be referred.
; These hosts can access the counter remotely or locally. Host running
; the http server must exist here. Wild card can be used. one item per line.
; putting a * will allow anyone in the world to run the counter remotely.
;
[authorized]
*.fccc.edu
131.249.*
test.counter.com
|
「count.cfg」ファイルにはたくさん文字が書かれていますが、実際に設定する個所はそんなにはありません。
wwwcountにかぎらず、カウンタの設定では、そのカウンタプログラムをインターネット上のほかのサイトから利用することを防止することが大切です。インターネットの世界(WWWの世界)では、ひとつのページを構成している、テキストや画像などが、同じホストにある必要はなく、たとえばほかのホストマシンにある画像ファイルをリンクすることで、表示させることができます。同様にして、CGIプログラムをほかのマシンから利用することも可能です。つまり、AというマシンにCGIプログラムがあるとき、Bというインターネット上のまったく知らないマシンから利用することができるのです。そのため、設定を誤まると、自分のサーバのカウンタをまったく知らないホストが勝手に使っていたということもありえるのです。この点に注意してください。
[options]セクションの「auto_file_creation」は、wwwcountが使うカウンタデータファイルを自動的に作るかどうかを設定するところです。wwwcountは、HTMLファイル内にwwwcountとカウンタデータファイルを指定するだけで動きますが、その際、そこで指定されたデータファイルがもしサーバ側になければ、自動的に作るように設定することができます。「auto_file_creation」がその設定個所です。セキュリティ上の理由から、「No」のままにしておくほうが無難でしょう。
「strict_mode」はアクセスがあってもカウンタを動作させないサイトやホストを制限するかどうかを設定する個所です。「Yes」のままにしておきます。「allow_rgb_database」はRGB(R=Red、G=Green、B=Blue)を数値で指定してカウンタを表示させる方法です。「Yes」のままでかまいません。「count_reload」はブラウザのリロードでカウンタをアップさせるかどうかのための設定です。リロードのたびにカウンタがアップしていくと景気よくカウンタがあがるようになりますが、実態のないカウンタは意味が半減します。「No」のままにします。「log_error_messages」は、エラーメッセージをログファイルに記録するかどうかの設定です。「Yes」のままにします。ログファイルは「logs」ディレクトリに保存されます。「show_error_messages_to_browsers」は、エラーメッセージをブラウザに表示するかどうかの設定です。「Yes」のままでいいでしょう。
結果的には、「options」セクションはほとんどデフォルトのままでかまわないということになります。
[ignore IPs]セクションは、アクセスを無視するホストを指定するセクションです。ここには自分たち自身のIPアドレスやドメインなどを指定します。指定の仕方は、次の[authorized]セクションを参考にしてください。
もっとも重要なのは、[authorized]セクションです。ここには、wwwcountを実行させるホストを制限します。当然、wwwcountをインストールしたマシンがそれにあたります。マシンのIPアドレスを「210.160.79.98」のように指定します。1台のマシン以外からwwwcountを利用することもでき、サンプルの「*.fccc.edu」(「fccc.edu」というドメイン内のすべてのホスト)や「131.249.*」(131.249.xxx.xxxというIPアドレスを持つホスト)のように指定できますが、よほど理由がないかぎりは、制限をゆるくしないほうがいいでしょう。もしかりにカウンタを利用したいホストがあるようなら、そのマシン自身にカウンタをインストールするべきです。
HTMLファイルの設定
さて、最後はHTMLファイル側にwwwcountを使うことを指定します。CGIは、HTMLファイル内にその実行が指定され、それがWebブラウザに読みこまれたときに実行されます。実行はサーバ側で行なわれ、その結果がブラウザに渡されます。これがCGIの基本です。
CGIの指定の仕方は、CGIプログラムごとに違いますが、wwwcountの場合には、HTMLファイル中で、
<IMG SRC="/scripts/Count.exe?df=test.dat">
「/scripts/Count.exe」とWeb上のURLを指定するだけです。「?df=」以下はカウンタデータファイルを指定するパラメータです。ここで指定した名前の空のテキストファイルをあらかじめ作っておくか、先の「count.cfg」ファイルで[options]セクションの「auto_file_creation」を「Yes」にしておきます。
HTMLファイルを保存し、ブラウザからアクセスすると

というようにカウンタが表示されます。
wwwcountでは、パラメータがたくさんあります。ここでは簡単に紹介しておきます。詳しくは作者のホームページのサンプルページを参考にするか、遠鉄システムサービスさんの「Access CounterのWindowsNTへの実装」が参考になるでしょう。
ランダムな数字を表示させる 「df=randam」を付ける
<IMG SRC="/scripts/Count.exe?df=randam">
時計を表示させる 「display=clock」を付ける
<IMG SRC="/scripts/Count.exe?display=clock">

日付けを表示させる 「display=date」を付ける
<IMG SRC="/scripts/Count.exe?display=date">

フレームの幅を「0」ドットにする 「|ft=0」を付ける
<IMG SRC="/scripts/Count.exe?df=test.dat|ft=0">

フレームの幅を「4」ドットにする 「|ft=4」を付ける
<IMG SRC="/scripts/Count.exe?df=test.dat|ft=4">

フレームの幅を「10」ドットにする 「|ft=10」を付ける
<IMG SRC="/scripts/Count.exe?df=test.dat|ft=10">

Aディレクトリの画像を使う 「|dd=A」を付ける
<IMG SRC="/scripts/Count.exe?df=test.dat|dd=A">

Bディレクトリの画像を使う 「|dd=B」を付ける
<IMG SRC="/scripts/Count.exe?df=test.dat|dd=B">

Cディレクトリの画像を使う 「|dd=C」を付ける
<IMG SRC="/scripts/Count.exe?df=test.dat|dd=C">

Dディレクトリの画像を使う 「|dd=D」を付ける
<IMG SRC="/scripts/Count.exe?df=test.dat|dd=D">

Eディレクトリの画像を使う 「|dd=E」を付ける
<IMG SRC="/scripts/Count.exe?df=test.dat|dd=E">

ログファイルを定期的にチェックする
wwwcountのログは「logs」ファイルに作られる「Count24.log」に記録されます。データファイルが作られたときなど、「[Tue Apr 13 21:35:02 1999] Count 2.5: Counter datafile "C:\Inetpub\scripts\wcount/data/test.dat" must be created first!」といったようにログが残ります。また、データファイル(xxxxx.dat)には、「15823:210.160.79.98$$」というように、カウンタの「数字:IPアドレス」という形式で、最後にカウンタをアップさせたホストのIPアドレスとそのときの数値が記録されています。ログは定期的にチェックしましょう。
|