CGI・SSI~アクセスカウンタ
特徴
TikiTikiホスティングサービスでご用意しているアクセスカウンタは、同じページを続けて読み込んでもカウント数が加算されません。
設置方法
アクセスカウンタをご利用いただくには、以下の手順で設置を行ってください。
-
管理ツールの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 に書かれている変数を調整していただくことによっても、ある程度ディスク容量の消費を抑えることができます。
再読み込み時のカウント数加算防止機能を無効にする方法
現在提供中のカウンタは同じページを続けて読み込んだ時にカウント数が加算されません。 この機能を無効にしたい場合は以下のように counter.cgi の5行目の行頭に # を付けて、書き換えた counter.cgi をサーバにアップロードしてください
#$IPDB_DIR = 'counterdb';
アクセスカウンタを複数設置する方法
アクセスカウンタを複数設置したい場合は、以下の手順で設置を行ってください。
- 1つ目のアクセスカウンタはこのページの「設置方法」に書かれている手順に従って、通常通り設置を行ってください。
-
2つ目のアクセスカウンタのためのファイルを用意します。
再度 counter2.lzh を解凍してください。解凍が終了したら counter.html と coutner.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 の精度が低下しますが、作成されるファイル数が少なくなるためディスク容量の消費が少なくなります
$GARBAGE_COLLECTION_TIMER
$IPDB_DIR で指定したディレクトリの中にあるファイルのうち既に使用されなくなったファイルを、カウント数何回ごとに削除するかを指定する変数です。
デフォルト値は 100 です。
$IMAGE_DIR
アクセスカウンタの数字として使用する画像ファイルをどこのディレクトリに置くかをURIで指定する変数です。数字の画像ファイルを /home ディレクトリ以外のディレクトリに置きたい場合にこの変数の値を変更してください。例えば、/home/image ディレクトリに画像ファイルを置く場合はこの変数の値を /image としてください。
デフォルト値は / です。
$IMAGE_MINI
アクセスカウンタの桁数を指定する変数です。桁数を変更したい場合にこの変数の値を変更してください。
デフォルト値は 6 です。