[CGI・SSI]アクセスカウンター
弊社でご用意しているアクセスカウンターのご利用方法です。 現在の最新バージョンは2.2です。(2000/05/31公開)
=重要:旧バージョンのアクセスカウンターを使用されているお客様へ=
2000年4月10日以前にADMIN MANAGERからダウンロード出来る様になっていたアクセスカウンターには、 稀にカウント数が不正な値に変わってしまう不具合があることが判明致しました。 現在ダウンロード出来るアクセスカウンター (Version 2)では不具合が解消されておりますので、バージョンアップ方法に書かれている手順でCGIファイルのバージョンアップを行って下さい。
Version 2の新機能
Version 2では以下の点について改良が行われました。
- 同じページを続けて読み込んでもカウント数が加算されない様になりました。
- データファイルが置かれていない場合に自動生成が行われる様になりました。
- 稀にカウント数が不正な値に変わってしまう不具合が修正されました。
設置方法
アクセスカウンターをご利用頂くには、以下の手順で設置を行って頂く必要がございます。
- 管理ツールのADMIN MANAGERにアクセスして、サンプルCGIのダウンロードから アクセスカウンターのファイル(counter2.lzh)をダウンロードして下さい。 ADMIN MANAGERへのアクセス方法がご不明な場合は オンラインマニュアル - [管理ツール] ADMIN MANAGERをご参照下さい。
- ダウンロードしたcounter2.lzhを解凍して下さい。ファイルはLZH形式で圧縮されていますので、 LZH形式の圧縮ファイルを解凍出来る解凍ソフトをご利用下さい。
ファイルを解凍すると、以下のファイルが生成されます。
counter.cgi アクセスカウンターのCGIスクリプトファイルです。 counter.html サンプルのHTMLファイルです。 .htaccess HTMLファイルの中でアクセスカウンターを表示させるために必要なファイルです。 0.gif
・
・
・
9.gifアクセスカウンターに使用する数字の画像ファイルです。 - 管理者用アカウント(admin)を使用してサーバーにFTP接続を行い、ファイルを転送して下さい。 counter.cgiは/cgi-binディレクトリへ、 その他のファイルは /homeディレクトリへ転送して下さい。 なお、 counter.cgiは必ずFTPソフトの転送モードをアスキーモードに設定して転送して下さい。 バイナリーモードで転送すると、正常に動作しません。
- counter.cgiのパーミッションを700(rwx------)に設定して下さい。
\パーミッションについてよく分からない場合は、オンラインマニュアル - [ファイル転送] パーミッションをご参照下さい。
各FTPソフトのパーミッション設定方法についてはオンラインマニュアル - [ファイル転送] FTPソフトの設定 の「各ソフトの設定方法」に いくつかのFTPソフトの具体的な設定例がございますので、そちらをご参照下さい。ブラウザでhttp://(ドメイン名またはIPアドレス)/counter.htmlを開き、 アクセスカウンターが動作している事をご確認下さい。
任意のHTMLファイルにアクセスカウンターを表示させる方法
counter.html以外のHTMLファイルにアクセスカウンターを表示させる場合は、 HTMLファイルに以下のSSIコマンドを記述して下さい。タグを記述した部分にアクセスカウンターが表示されます。
<!--#include virtual="/cgi-bin/counter.cgi"-->
カウント数を任意の値に変更する方法
アクセスカウンターのカウント数を任意の値に変更したい場合は、counter.datをテキストエディタで編集し中に書かれている数字を 設定したいカウント数に書き換えて サーバーに上書き転送して下さい。 また、counter.bakが作成されている場合は転送を行った時に削除しておいて下さい。
データファイル
アクセスカウンターのデータファイルは、CGIによって自動的に作成されます。 counter.cgiを作成したディレクトリに、以下のファイル・ディレクトリが作成されます。
counter.dat
カウント数を記録しているデータファイルです。中に書かれている数字がそのままカウント数になります。
counter.bak
counter.datのバックアップファイルです。counter.datの値が4の倍数になるたびにcounter.datの内容がこのファイルにバックアップされます。 counter.datのデー タが何らかの原因で壊れてしまった場合はカウント数がこのファイルに書かれている数値に修正されます。
counterdb
アクセスカウンターが設置されているページにアクセスがあった際に、アクセス元のIPアドレスとその時点でのカウント数を記録した ファイルが置かれるディレクトリです。 このディレクトリの中に作成されたデータをもとに、再読み込み時のカウント数加算防止処理が 行われています。
=ご注意=
アクセスが多いページの場合、counterdbディレクトリ内のデータ容量が大きくなりディスク容量を大量に消費してしまう場合がございます。 その場合は再読み込み時の カウント数加算防止機能を無効にする方法に書かれている方法で この機能を無効にすればcounterdbディレクトリとその中のデータファイルは作成されなくなります。
また、変数の説明に書かれている内容に従ってcounter.cgiに書かれている変数を調整して頂くことによっても ある程度ディスク容量の消費を抑えることが出来ます。
再読み込み時のカウント数加算防止機能を無効にする方法
Version 2では同じページを続けて読み込んだ時にカウント数が加算されない機能が追加されましたが、 この機能を無効にしたい場合は以下の様にcounter.cgiの5行目の行頭に # を付けて、書き換えたcounter.cgiをサーバーにアップロードして下さい。
#$IPDB_DIR = 'counterdb';
アクセスカウンターを複数設置する方法
アクセスカウンターを複数設置したい場合は、以下の手順で設置を行って下さい。
- 1つ目のアクセスカウンターはこのページの「設置方法」に書かれている手順に従って、通常通り設置を行って下さい。
- 2つ目のアクセスカウンターのためのファイルを用意します。 再度counter2.lzhを解凍して下さい。 解凍が終了したら counter.html と counter.cgiのファイル名をそれぞれ以下の様に変更して下さい。
counter.html → counter2.html
counter.cgi → counter2.cgi - counter2.htmlをテキストエディタで開き、
あなたは<!--#include virtual="/cgi-bin/counter.cgi"-->番目のお客様です。
の部分を
あなたは<!--#include virtual="/cgi-bin/counter2.cgi"-->番目のお客様です。
に書き換えて下さい。 - counter2.cgiをテキストエディタで開き、
$COUNT_FILE = 'counter.dat'; $COUNT_FILE2 = 'counter.bak'; $IPDB_DIR = 'counterdb';
の部分を
$COUNT_FILE = 'counter2.dat'; $COUNT_FILE2 = 'counter2.bak'; $IPDB_DIR = 'counterdb2';
に書き換えて下さい。ここまででファイルの準備は完了です。 - counter2.cgiを /cgi-bin ディレクトリへ転送し、パーミッションを700(rwx------)に設定して下さい。 counter2.htmlはカウンターを表示させるHTML文書があるディレクトリと同じディレクトリ(/homeなど)へ転送して下さい。
ファイルの転送後ブラウザでcounter2.htmlを開いて動作確認を行って下さい。
あとは同様に、counter3、counter4・・・という様なファイル名を付けて頂ければ3つ目、4つ目のカウンターを設置する事も可能です。
設置がお済みになりましたら、任意のHTML文書に
<!--#include virtual="/cgi-bin/counter*.cgi"-->
というタグを貼り付けるとその位置にアクセスカウンターが表示されます。
(「counter*.cgi」の部分は変更したファイル名に置き換えて下さい。)
変数の説明
counter.cgiに書かれている変数の説明です。通常これらの設定を変更する必要はございませんが、 アクセスカウンターの動作を細かく設定し たい方はこちらをご覧頂き、変数の値を書き換えてご利用下さい。
$COUNT_FILE
カウント数を記録するデータファイルのファイル名を指定する変数です。任意のファイル名を指定して下さい。 デフォルト値は counter.dat です。
$COUNT_FILE2
$COUNT_FILEで指定したデータファイルのバックアップファイルのファイル名を指定する変数です。 任意のファイル名を指定して下さい。 デフォルト値は counter.bak です。
$IPDB_DIR
アクセス元のIPアドレスとその時点でのカウント数を記録したファイルが置かれるディレクトリ名を指定する変数です。 任意のディレクトリ名を指定して下さい。 デフォルト値は counterdb です。
$IPDB_TIMER_UNIT
同じIPアドレスから複数回アクセスがあった場合に、およそ何秒間カウント数の増加を防止するかを指定する変数です。 例えば、10に設定されているとおよそ10秒間同じIPアドレスからの再カウントを防止します。 デフォルト値は 600 です。
$IPDB_LIFETIME
$IPDB_TIMER_UNITで指定した秒数の精度を決定する変数です。 この変数の値を大きくすると$IPDB_TIMER_UNITの精度が向上しますが、多数のファイルが作成されるためディスク容量を多く消費します。 この変数の値を小さくすると$IPDB_TIMER_UNITの精度が低下しますが、作成されるファイル数が少なくなるためディスク容量の消費が少なくなります。 デフォルト値は 6 です。
$GARBAGE_COLLECTION_TIMER
$IPDB_DIRで指定したディレクトリの中にあるファイルのうち既に使用されなくなったファイルを、 カウント数何回ごとに削除するかを指定する変数です。 デフォルト値は 100 です。
$IMAGE_DIR
アクセスカウンターの数字として使用する画像ファイルをどこのディレクトリに置くかをURIで指定する変数です。 数字の画像ファイルを /home ディレクトリ以外のディレクトリに置きたい場合にこの変数の値を変更して下さい。 例えば、 /home/image ディレクトリに画像ファイルを置く場合はこの変数の値を /image として下さい。 デフォルト値は / です。
$IMAGE_MINI
アクセスカウンターの桁数を指定する変数です。桁数を変更したい場合にこの変数の値を変更して下さい。 デフォルト値は 6 です。
バージョンアップ方法
旧バージョンのアクセスカウンターをお使いのお客様は、以下の手順でバージョンアップ作業を行って下さい。
- 管理ツールのADMIN MANAGERにアクセスして、サンプルCGIのダウンロードから アクセスカウンターのファイル(counter2.lzh)をダウンロードして下さい。
- ダウンロードしたcounter2.lzhを解凍して下さい。ファイルはLZH形式で圧縮されていますので、 LZH形式の圧縮ファイルを解凍出来る解凍ソフトをご利用下さい。
- 管理者用アカウント(admin)を使用してサーバーにFTP接続を行い、 counter.cgiを/cgi-binディレクトリへ上書き転送して下さい。 その他のファイ は変更されておりませんので、転送する必要はありません。
以上でバージョンアップ作業は完了です。 アクセスカウンターを設置しているページを表示させ、正常に動作しているかをご確認下さい。
=ご注意=
Version 2は/homeディレクトリに数字の画像ファイルを置いている事を想定して作成されています。 /home 以外のディレクトリに数字の画像ファイルを置いて いる場合は、変数の説明に書かれている $IMAGE_DIR の値を書き換えてご利用下さい。
更新履歴
バージョンアップの履歴です。
バージョン | 公開日 | 更新内容 |
---|---|---|
1.0 | 1999年8月16日 | - |
1.1 | 1999年8月23日 | 稀にカウンターの値がリセットされてしまう不具合を修正しました。 |
2.0 | 2000年4月10日 | 再読み込みが行われた際にカウント数が加算される事を防止する機能を追加しました。 データファイルの自動生成機能を追加しました。 稀にカウンターの値が不正な値に変わってしまう不具合を修正しました。 |
2.1 | 2000年4月26日 | 再読み込み時のカウント数加算防止機能を無効にする事が出来る様になりました。 |
2.2 | 2000年5月31日 | counterdbディレクトリ内の不要になったファイルが削除されない不具合を修正しました。 |