[MyTools.NET / CGI / TcounT 4]

◆ TcounT Ver.4.20 説明書

(c) Takahiro Nishida 1999/8/1



■ about...




■ index


■ 機能

 SSIを使ったものや、ページ全体をCGIにして出力させるグラフィカルアクセスカウンターはよく見掛けますが、これは普通のHTMLにimgタグで貼り付けるカウンターです。以下の特徴があります。 (は Ver.4 からの新機能。)

[index]


■ 謝辞

 TcounT Ver.4.XX 以降で使用している、GIF画像をつなげるためのライブラリ gifcat.pl は、とほほ氏 (
s-hasei@mtg.biglobe.ne.jp) によるものです。素晴らしいライブラリを無償で公開して下さっている氏に感謝致します。詳細は下記リンクをご覧下さい。

(→とほほのWWW入門へ)

[index]


■ ソース

(ダウンロード後、ファイル名が"-cgi.txt"、"-pl.txt"となってるものを".cgi"、".pl"に変更してください)

全ファイルをまとめてダウンロード 〜 count420.lzh

プログラム

[index]


インストール方法

■ インストール

  1. ソースからtcount.cgitcadmin.cgitclog.cgigifcat.plの四つのファイルをダウンロードする。
    ※ ダウンロード方法はソースをダウンロードするを参照。

  2. .cgi ファイルの最上部のPerlのパスを正しく設定する。
    ※ 詳しくはPerlのパスを設定するを参照。

  3. .cgiファイルの以下の変数を編集してください。

    (1)tcount.cgi、(2)tcadmin.cgi、(3)tclog.cgi

    ※注1 データファイルをプログラムと同じ場所に置く場合は $basedir=".";のままで。
    ※注2 "post" が使えないところでは "get" に変えてください

  4. .cgi.plファイルをFTPのアスキーモードで転送し、パーミッションは〜.cgi を705gifcat.pl を604に設定する。
    ※ FTPについてはプログラムをFTPで送るを参照。
    ※ パーミッションについてはパーミッションを設定するを参照

    (telnetの場合)
    % chmod 705 tcount.cgi
    % chmod 705 tcadmin.cgi
    % chmod 705 tclog.cgi
    % chmod 604 gifcat.pl

  5. tclog.txt, tcmtime.txt, tccomp.txtの3つの空ファイルを作る。。
    ※ 空ファイルの作り方は、空ファイルの作り方を参照。

  6. 上で作った3つの.txtファイルを、$basedirで指定したディレクトリ ( $basedir="."; の場合は上と同じディレクトリ。以下同様。)にFTPでアスキー転送する。パーミッションは全て606に設定する。

    (telnetの場合)
    % chmod 606 tclog.txt
    % chmod 606 tcmtime.txt
    % chmod 606 tccomp.txt

  7. 上と同じディレクトリに、ディレクトリdatagiflockdirを作る。パーミッションは全て707に設定する。

    (telnetの場合)
    % mkdir data
    % mkdir gif
    % mkdir lockdir
    % chmod 707 data
    % chmod 707 gif
    % chmod 707 lockdir

  8. ディレクトリdataに移動し、ディレクトリalldaytodayを作る。パーミッションは707にする。

    (telnetの場合)
    % cd data
    % mkdir all
    % mkdir day
    % mkdir today
    % chmod 707 all
    % chmod 707 day
    % chmod 707 today

  9. ディレクトリgifに移動し、ディレクトリimgを作る。パーミッションは707にする。

    (telnetの場合)
    % cd ../gif
    % mkdir img
    % chmod 707 img

  10. ディレクトリimg中に、数字の画像ファイルをFTPでバイナリ転送する。数字のファイル名は、0.gif, 1.gif, 〜, 9.gifとする。パーミッションを 604 にする。

    (telnetの場合)
    % cd img
    % chmod 604 *.gif

     数字画像はhttp://www.digitmania.holowww.com/に山ほどあります。気に入ったのがなければ自分で作成してもよいでしょう。

    ※ GIFのタイプによっては正常に表示されない場合があります。詳しくは画像が崩れる原因を参照。自分で作成する場合こちらの注意を良く読んでください。

  11. ブラウザからtcount.cgiにアクセスしてみる。
     → 「パラメータが不正です」と表示されればOK。
       ※ 上のように表示されない場合、ブラウザでアクセスするを参照して問題を解決してください。

  12. ブラウザからtcadmin.cgiにアクセスしてみる。
     → 管理用ページが表示されればOK。

以上でインストール完了です。

[index]


■ カウンターをつける

  1. 新しいカウンターの名前を決める。(ここでは例としてファイル名をcountとする。)

    ※カウンターの名前には半角英語半角数字の組み合わせ(top, link等)を使ってください。ハイフン(-)などの記号は使えません

  2. ディレクトリ data/all/ の下に count.txt という名前の空ファイルをFTPで送る。パーミッションを606にする。
    ※ 空ファイルの作り方は、
    空ファイルの作り方を参照。

    (telnetの場合)
    % chmod 606 data/all/count.txt

  3. ディレクトリ data/day/ の下にも同じく、 count.txt という名前の空ファイルをFTPで送る。パーミッションを606にする。

    (telnetの場合)
    % chmod 606 data/day/count.txt

  4. ディレクトリ data/today/ の下にも同じく、 count.txt という名前の空ファイルをFTPで送る。パーミッションを606にする。

    (telnetの場合)
    % chmod 606 data/day/count.txt

  5. 管理ページ(tcadmin.cgi)にアクセスし、「新しいカウンターを作成する」を選択。ファイル名(この場合はcount)、初期値を設定し、パスワードを入力して「作業実行」を押す。
     →「現在のカウント数の状況」に新しく作ったカウンターが追加されればOK。

  6. 現在のカウント数の状況テストマーク(■▲▼●)をそれぞれクリックする。
     各マークを押した時の動作は以下の通り。(念のため全てについて確認して下さい。)

    ※ 上手く行かなかったときはエラーメッセージが出るので、内容を読んで対処してください。

  7. ページの中のカウンターを表示したい場所に次のように書く。

    あなたは
    <IMG SRC="(tcount.cgiのURL)?count&1" WIDTH="80" HEIGHT="21">
    人目の訪問者です。

    ※ URLは相対パス(../tcount.cgi等)でも絶対パス(http://〜/tcount.cgi)でも構いません。以下同様。
    ※ WIDTHには (gifファイルの横幅)×桁数(標準では5桁)、HEIGHT は gifファイルの縦幅を書いて下さい。表示桁数を変える方法は後述。

  8. ページの中の今日のカウント数を表示したい場所に次のように書く。

    今日はこれまで
    <IMG SRC="(tcount.cgiのURL)?count&&3&&today" WIDTH="48" HEIGHT="21">
    人が訪れました。

    ※ ここでは例として3桁表示にしています。下も同様。

  9. ページの中の前日のカウント数を表示したい場所に次のように書く。

    昨日は
    <IMG SRC="(tcount.cgiのURL)?count&&3&&day" WIDTH="48" HEIGHT="21">
    人が訪れました。

  10. ページを実際にサーバーにFTPしてみて、表示されるかどうか確かめる。リロードしたら数字が増えるかも確認する。

[index]


■ カウンターを追加する

  1. 新しいカウンターの名前を、前のものとは重複しないように決める。(先ほどが count だったので、ここでは count2 とする。)

  2. あとは上のカウンターをつけると同様。count(.txt) だった部分を count2(.txt)に置き換えて下さい。

    タグは以下のようになります。
    <img src="(tcount.cgiのURL)?count2&1" width="80" height="21">

[index]


■ ディレクトリ構成図

ここまで作業した結果の全体のディレクトリ構造は次のようになります。($basedir="."; の場合)
※ カッコ内の数字はパーミッション。<〜>はディレクトリ。
+ tcount.cgi (705)
+ tcadmin.cgi (705)
+ tclog.cgi (705)
+ gifcat.pl (604)
+ tclog.txt (606)
+ tccomp.txt (606)
+ tcmtime.txt (606)
+ <lockdir> (707)
+ <data> (707)
|     + <all> (707)
|     |     + count.txt (606)
|     |     + count2.txt (606)
|     + <day> (707)
|     |     + count.txt (606)
|     |     + count2.txt(606)
|     + <today> (707)
|           + count.txt (606)
|           + count2.txt(606)
+ <gif> (707)
      + <img> (707)
            + 0.gif (604)
            + 1.gif (604)
            + ...
            + 9.gif (604)

[index]


使い方

■ パラメータの意味

 TcounTは、tcount.cgiのURLの後ろにパラメータを付けて、カウンタの動きを操作します。パラメータの指定の仕方は次の通り。

<IMG SRC="tcount.cgi?(1)&(2)&(3)&(4)&(5)">

途中のパラメータを跳ばしたい場合は、"tcount.cgi?test&&&&day" という具合に、 & を続けて書いて下さい。

[index]


● 表示桁数を変える
 表示桁数を指定するには、パラメータの三番目にその桁数を書いて下さい。

(例) 3桁にしたい場合
<img src="(tcount.cgiのURL)?count&1&3" width="48" height="21">

※ 何も指定しなかった場合は5桁になります。
※ 桁数を変更したら、それに合わせて width を変えるのを忘れないように。
※ 表示しきれない場合、表示しきれるとこまで桁数が増えます。(例えば、パラメータの三番目が3 になっているのに、カウント数が 2234 な場合は、4桁で表示されます。)

[index]


● 数字画像を変える
数字画像は好きなGIFファイルを使用することができます。

※ 通常のGIFを推奨します。動画GIF、透過GIFは表示が崩れる場合があります。詳しくは画像が崩れる原因を参照。

手順は以下の通り。

  1. 使いたいGIF画像を用意する。名前は 0.gif, 1.gif, ... , 9.gifとしておく。

  2. ディレクトリ gif の下に適当な名前のディレクトリをつくる。(例えば img2 等) パーミッションを 707 にする。

    % cd gif
    % mkdir img2
    % chmod 707 img2

  3. 新しく作ったディレクトリ (ここではimg2)の下に、0.gif, 1.gif, ... , 9.gifをFTPでバイナリ転送する。パーミッションを 604 にする。

    % cd img2
    % chmod 604 *.gif

  4. パラメータの四番目に、そのディレクトリ名を指定する。

    (例) ディレクトリ gif/img2/ の画像を使いたい場合 (6桁表示)
    <img src="(tcount.cgiのURL)?count&1&6&img2" width="96" height="21">

※ 何も指定しなかった場合は、img の下にある画像ファイルが使用されます。

[index]


● 前日のアクセス数を表示する
前日のアクセス数を表示させるには、パラメータの五番目dayと書きます。

(例) (3桁表示、ディレクトリ gif/old/ の画像を使用)
<img src="(tcount.cgiのURL)?count&&3&old&day" width="48" height="21">

[index]


● 今日のアクセス数を表示する
今日のアクセス数を表示させるには、パラメータの五番目todayと書きます。

(例) (3桁表示、ディレクトリ gif/old/ の画像を使用)
<img src="(tcount.cgiのURL)?count&&3&old&today" width="48" height="21">

[index]


■ パラメータ指定例と実際の表示

※ 以下では プログラム(tcount.cgi) の位置を /cgi-bin/count/tcount.cgi と仮定します。別サーバーにある場合は http:// から始まる絶対パスで指定して下さい。
● 例1 (カウンター名:test1)

<IMG SRC="/cgi-bin/count/tcount.cgi?test1&1" WIDTH="80" HEIGHT="21">

 普通の設置方法です。パラメータを何も指定しない場合は、5桁表示、画像は gif/img/ のものを使用します。
※ 画像ファイルのサイズをWIDTH、HEIGHTで指定しておかないと、数字画像が読み込まれるまでそれより下のHTMLが表示されないので、必ず指定するようにしましょう。


● 例2 (カウンター名:test2、8桁表示)

<IMG SRC="/cgi-bin/count/tcount.cgi?test2&1&8" WIDTH="128" HEIGHT="21">

 8桁の場合は、パラメータの三番目を 8 にする。桁数に合わせて WIDTH を変更するのを忘れずに。


● 例3 (カウンター名:test3、5桁表示、gif/ball/ の画像を使用)

<IMG SRC="/cgi-bin/count/tcount.cgi?test3&1&5&ball" WIDTH="120" HEIGHT="24">

 画像を変えるには、パラメータの四番目に画像ファイルの入っているディレクトリ名を指定する。


● 例4 (カウンター名:test1、前日のアクセス数、3桁表示、gif/old/ の画像を使用)

<IMG SRC="/cgi-bin/count/tcount.cgi?test1&&3&old&day" WIDTH="27" HEIGHT="13">

 前日のアクセス数を表示するには、パラメータの五番目を day とする。ディレクトリ gif/old/ の小さめの数字画像を使用。


● 例5 (カウンター名:test1、今日のアクセス数、3桁表示、gif/old/ の画像を使用)

<IMG SRC="/cgi-bin/count/tcount.cgi?test1&&3&old&today" WIDTH="27" HEIGHT="13">

 今日のアクセス数を表示するには、パラメータの五番目を today とする。(Ver.4.10以降)


● 例6 (カウンター名:hidden、隠しカウンター)

<IMG SRC="/cgi-bin/count/tcount.cgi?hidden&1&&dmy" WIDTH="5" HEIGHT="5">

 単色の小さなgif画像を作り、ディレクトリ gif/dmy/ に、1.gif, 2.gif, ... , 9.gif という名前で入れておき (中身は全て同じ)、パラメータの四番目(使用する数字画像)に dmy を指定する。表面的にはカウンターに見えませんが、管理ページや統計にはカウント数が記録されます。

[index]


■ 日別カウントログを見る

 日別統計は tclog.cgi にアクセスすることによって見ることができます。見方は次の通り。

YY/MM/DD [NAME1]DAY(ALL) [NAME2]DAY(ALL) ...
YY/MM/DD [NAME1]DAY(ALL) [NAME2]DAY(ALL) ...
YY/MM/DD [NAME1]DAY(ALL) [NAME2]DAY(ALL) ...

YY/MM/DD 日付
NAME ファイル名
DAY 一日のカウント数
ALL その日までのカウント数

カウンターログの例

[index]


■ カウント数を修正する

 管理ページ (tcadmin.cgi) へ行き、「カウンターを修正する」を選択。ファイル名、修正値、パスワードを入力して「作業実行」を押して下さい。

[index]


■ カウンターを削除する

 管理ページ (tcadmin.cgi) へ行き、「カウンターを削除する」を選択し、ファイル名、パスワードを入力して「作業実行」を押して下さい。

※ ファイルの削除は手作業で行なう必要があります。data/all/data/day/data/today/<カウンター名>.txt を消去して下さい。

[index]


■ 日別カウントログをクリアする

 カウンターのログは放っておくとどんどん溜っていくので、適時ログをクリアしてください。

  1. 管理ページ (tcadmin.cgi) へ行く。
  2. 「カウンターログをクリアする」を選択する。
  3. パスワードを入力して「作業実行」を押す。
     → 「カウンターログをクリアしました」と表示されればOK。

[index]


Note...

■ 4.00/4.10のバグについて

 当ページで1998年1月31日から12月21日の間に公開されていたTcounT 4.00/4.10に、以下のようなバグが発見されました。
 管理ページから「カウンタを削除」を行うと、本当は選択したカウンタが消えるはずだが、逆に選択した以外のカウンタが消えてしまう。
 カウンタ削除を行わなければ被害はありませんが、4.00、4.10 をお使いの方は最新版に変更されることをお勧めします

[index]


■ 画像が崩れる原因

 TcounTは各自で作成したGIF画像も使用できますが、ファイルによって表示が崩れることがあるようです。GIF連結部分は汎用ライブラリを使用しています。私がその内容を理解していないため対応することができません。統計的には以下のような画像は上手く行かない場合が多いようです。

 自分で作成する際は、上記のような画像は作らないようにしてください。(http://www.digitmania.holowww.com/の画像はほとんどが正常に表示されます。自作なさりたい方はパレットの使い方などを参考にしてください。)

※ しかし、上の原因がどれも当てはまらなくても表示が崩れる場合もあります。使ってみて崩れたら、諦めて別の画像にした方が早いです。

[index]


バージョンアップ

■ バージョン履歴

[index]


■ 4.00/4.10 → 4.20

 4.00/4.10 をお使いの方で、4.20 にバージョンアップする場合は、以下の手順を踏んで下さい。

  1. このページ上部の「ソース」のところにある .cgi, .plファイルをすべてダウンロードし、インストール方法1, 2に従って中身を編集する。

    4.00 の場合 →
    4.10 の場合 →

  2. 古い tcount.cgi が置いてある場所の、ディレクトリdata/all/ 以下の全ての .txt ファイルをダウンロードする。

  3. 2でダウンロードしたファイルそれぞれをテキストエディタで開き、中身に "0" とだけ書いて再び保存する。("は不要)

  4. ディレクトリdata/ の下に today というディレクトリを作成する。パーミッションを707にする。

    % chmod 707 data/today

  5. 3で作った.txtファイルすべてを、4で作ったディレクトリdata/today/の下にFTPで転送する。パーミッションを606にする。

    % chmod 606 data/today/*.txt

  6. 1で作った.cgi, .plファイルを、元々.cgi, .pl ファイルのあった場所へアスキーモード上書きFTPする。

  7. 管理ページに行って、テストのマーク(■▲▼●)をそれぞれクリックして、正常に表示されるかどうか試す。

※ 「カウンターを勝手に動かされないようにする機能」は 4.20 以降は削除されています。4.00/4.10 で使用していた url ディレクトリは必要無いので削除してください。
※ 4.20以降、統計の日付の表示が少々変わっています。(昔:1998/12/18 → 今:19981218)

[index]


[MyTools.NET / CGI / TcounT 4]