Zカウンター2号とは
- Zumin カウンター2号機です。
- Zカウンター2号は、GIFイメージのアクセスカウンターです。
- サーバー上の CGI で GIFイメージを一気に連結して送信するため高速です。
- 同一IPアドレスのチェック(オプション)機能により、リロードなどによる無意味なカウントアップを抑制します。
- SSI は使用しません。SSI 非対応のサイトでも問題ありません。
- アクセスカウンターにプラスして管理機能が付いています。
- 管理機能では、アクセス日時やアクセスしてきたホストなどのアクセスログが収集できます。
- 管理機能では、アクセスログの参照、ダウンロード、削除ができます。
- 管理メニューはパスワード認証が必要ですので管理者以外は入れません。
- 管理メニューは一度認証されるとクッキーに保存されるため、次回から認証パスワードを入力する手間が省けます。
こんな感じです
- このサンプルは、デモ版なので同一IPアドレスのチェックは外しています。
- 同様にデモ版なので、管理メニュー内の表示内容(アクセスしてきたIPアドレスなど)も表示できません。
- 管理メニューここから (パスワードは guest です)
カウンターGIFはなまらさん作のカウンター画像を利用しています。 この他にも沢山のカウンター画像があってお薦めのサイトです。
動作条件
- ホームページがあるサーバーでPerlを使用したCGIが使えること。
- Perlのバージョンが 5(Perl5)以上であること。
- ホームページがあるサーバーのOSがLinux、UNIXであり、Web Server が Apache で動作確認しています。
- 上記以外では動作確認していません。あしからずご了承ください。
ここからダウンロードできます
- Windowsな人 自己解凍形式(EXE)
- Windowsな人 ZIP形式
- Linux、UNIXな人(準備中)
- ダウンロードしたら自分のローカルマシン上で解凍してください。
- 必ず、ディレクトリ付きで解凍してください。
ディレクトリ・ファイル構成
(注) . はカレントディレクトリ ./zcounter2.cgi --- Zカウンター2号CGI本体プログラム ./zc2adm.cgi --- アクセスログ管理CGI本体プログラム ./userdef.pm --- ユーザー環境設定ファイル ./lib/ --- 【ディレクトリ】 ライブラリプログラム格納 ./lib/zcounter2.pm --- Zカウンター2号ライブラリプログラム ./lib/zc2adm.pm --- アクセスログ管理ライブラリプログラム ./lib/zcgi.pm --- CGI関連ライブラリプログラム ./lib/jcode.pl --- 日本語文字操作プログラム ./lib/gifcat.pl --- GIFイメージ操作プログラム(とほほさん著作) ./counter_img/ --- 【ディレクトリ】 カウンターGIF格納 ./counter_img/zero.gif --- カウンターGIFファイル [ 0 ] ./counter_img/one.gif --- カウンターGIFファイル [ 1 ] ./counter_img/two.gif --- カウンターGIFファイル [ 2 ] ./counter_img/three.gif --- カウンターGIFファイル [ 3 ] ./counter_img/four.gif --- カウンターGIFファイル [ 4 ] ./counter_img/five.gif --- カウンターGIFファイル [ 5 ] ./counter_img/six.gif --- カウンターGIFファイル [ 6 ] ./counter_img/seven.gif --- カウンターGIFファイル [ 7 ] ./counter_img/eight.gif --- カウンターGIFファイル [ 8 ] ./counter_img/nine.gif --- カウンターGIFファイル [ 9 ] ./data/ --- 【ディレクトリ】 カウンターデータ格納 ./data/error.gif --- エラー表示用GIF
- 以上のディレクトリ・ファイルがあれば、うまく解凍できています。
- カウンター設置のためには、ユーザー環境設定ファイル [userdef.pm] でお好みの設定を定義します。
ダウンロードパッケージに含まれるカウンターGIFファイル [counter_img/XXX.gif]は、 こちらで用意している、ずうみん村サイトの ゆうり作 サンプルですので、お好みのカウンター GIF と入れ替えてください。
カウンターGIFファイルの用意
- これだ!と思うカウンター用GIFファイルをカウンターGIF格納ディレクトリ[ counter_img ] に格納します。
- カウンター用GIFファイルは、0〜9までの数字毎にファイル名が決まっています。間違わないように気をつけてください!
./counter_img/zero.gif --- [ 0 ] のGIFファイル ./counter_img/one.gif --- [ 1 ] のGIFファイル ./counter_img/two.gif --- [ 2 ] のGIFファイル ./counter_img/three.gif --- [ 3 ] のGIFファイル ./counter_img/four.gif --- [ 4 ] のGIFファイル ./counter_img/five.gif --- [ 5 ] のGIFファイル ./counter_img/six.gif --- [ 6 ] のGIFファイル ./counter_img/seven.gif --- [ 7 ] のGIFファイル ./counter_img/eight.gif --- [ 8 ] のGIFファイル ./counter_img/nine.gif --- [ 9 ] のGIFファイル
- カウンターGIFファイルは、素材やさんのサイトからダウンロードするか、ご自分で作成されても良いと思います。
- 但し、GIF形式で保存された画像に限ります。
- カウンターGIFの解像度が大きいほど、GIFファイル連結処理やネットワーク転送処理で時間がかかりますので非効率です。
ユーザー環境設定ファイルの編集 [ userdef.pm ]
- ユーザー環境設定ファイル [ userdef.pm ] をメモ帳などのテキストエディタで開いて編集します。
- 設定できる項目は以下の 7 項目です。
- あなたのホームページのHOMEへのURL [ $HomeURL ]
- カウンターの表示桁数 [ $CounterSize ]
- 同一IPアドレスのチェック [ $CheckHomonymIp ]
- 同一IPアドレスのチェック時に適用される時間間隔 [ $NoCountSpan ]
- アクセスログ件数上限 [ $AccessLogMax ]
- アクセスログ管理ツールアクセス時パスワード [ $AdminPasswd ]
- パスワード暗号化キー [ $CriptKey ]
==== userdef.pm ====
..
..
###################################################################
#
# カスタマイズ可能変数(お好みで書き換え可)
#
###################################################################
# ===========================================================
# ☆☆☆ $HomeURL ☆☆☆
# ----------------------------------------------------
# あなたのホームページのHOMEへのURLです。
# ===========================================================
$HomeURL = '/YourHomePage/index.html';
# ===========================================================
# ☆☆☆ $CounterSize ☆☆☆
# ----------------------------------------------------
# カウンターの表示桁数です。
# 1 以上、16 以内で設定してください。
# 上記範囲外ですとディフォルトの 6 桁となります。
# ===========================================================
$CounterSize = 5;
# ===========================================================
# ☆☆☆ $CheckHomonymIp ☆☆☆
# ----------------------------------------------------
# 同一IPアドレスの場合はカウントしないようプログラム
# でチェックする設定です。
# ----------------------------------------------------
# 1 : チェックします。
# 同一IPアドレスの場合はカウントしなくなります。
# 0 : チェックしません。
# 同一IPアドレスの場合でもカウントします。
# ===========================================================
$CheckHomonymIp = 1;
# ===========================================================
# ☆☆☆ $NoCountSpan ☆☆☆
# ----------------------------------------------------
# 同一IPアドレスのチェックするとき、前回のアクセス
# から一定時間経過したら、たとえ、同一IPアドレスか
# らのアクセスであってもカウンタを進めたい場合に、
# その一定時間を分(Minutes)で設定できます。
# ----------------------------------------------------
# 注意:
# 上記、$CheckHomonymIp を 0 に設定した場合、ここ
# にどんな値を設定しても無効です。
# ----------------------------------------------------
# 注意:
# 上記、$CheckHomonymIp を 1 に設定し、且つ、
# $NoCountSpan を 0 に設定した場合は、何時間たって
# も、他の誰か、つまり、異なるIPアドレスからのアク
# セスがない限り、カウンタは進みません。
# ===========================================================
$NoCountSpan = 15;
# ===========================================================
# ☆☆☆ $AccessLogMax ☆☆☆
# ----------------------------------------------------
# アクセスログ件数上限
# この上限値を超えるタイミングで、アクセスログが一旦
# クリアされます。それまでのログは破棄されます。
# ===========================================================
$AccessLogMax = 1024;
# ===========================================================
# ☆☆☆ $AdminPasswd ☆☆☆
# ----------------------------------------------------
# アクセスログ管理ツールアクセス時パスワード
# ----------------------------------------------------
# アクセスログ管理ツールを使用する場合このパスワード
# で管理者の認証をおこないます。
# 他人から盗まれないよう注意してください。
# ----------------------------------------------------
# 英数字(ASCII)4桁〜16桁で指定してください。
# ===========================================================
$AdminPasswd = 'admin';
# ===========================================================
# ☆☆☆ $CriptKey ☆☆☆
# ----------------------------------------------------
# アクセスログ管理ツールアクセス時パスワード
# 暗号化キー
# ----------------------------------------------------
# アクセスログ管理ツールのパスワードを暗号化する時
# の暗号カギです。
# 他人から盗まれないよう注意してください。
# ----------------------------------------------------
# 英数字(ASCII)4桁〜16桁で指定してください。
# ===========================================================
$CriptKey = 'password_key';
..
..
- 上記以外の箇所は編集しないでください。(Perlでプログラムできる人は除く)
- 勢いあまって、ダッシュ(’)イコール(=)やセミコロン(;)などを消してしまわないようにご注意ください
Perlを使用する時のおまじない行の編集 [ zcounter2.cgi / zc2adm.cgi ]
- 自分のホームページがあるサーバーのPerlへのパスを指定します。Perlへのパスは、ホームページを置いているサーバー管理者に聞いてください。
- 編集するのは、以下の2本です。いづれも先頭行のみです。
- Zカウンター2号CGI本体プログラム [ zcounter2.cgi ]
- アクセスログ管理CGI本体プログラム [ zc2adm.cgi ]
- 上記のプログラムファイルをメモ帳などのテキストエディタで開いて編集します。
==== zcounter2.cgi ====
#!/usr/bin/perl <==== 先頭行です。
..
..
サーバにアップロード
- 自分のホームページがあるサーバーにディレクトリ・ファイル構成に気をつけてアップしてください。(普通にFTPでアップする手順でOKと思います。)
- 但し、サーバーの漢字コードに注意してください。例えば、ローカルなPCがWindowsで、サーバーがUNIXやLinuxの場合は、FTP転送時に漢字コード変換が必要になります(必要ない場合もあるが、、)。よく分からない人は、ホームページを置いているサーバー管理者に相談してください。
- 漢字コード変換が必要な場合は、以下に従ってアップしてください。
./zcounter2.cgi --- 漢字コード変換が必要です。[ FTP アスキー転送モード ] ./zc2adm.cgi --- 漢字コード変換が必要です。[ FTP アスキー転送モード ] ./userdef.pm --- 漢字コード変換が必要です。[ FTP アスキー転送モード ] ./lib/zcounter2.pm --- 漢字コード変換が必要です。[ FTP アスキー転送モード ] ./lib/zc2adm.pm --- 漢字コード変換が必要です。[ FTP アスキー転送モード ] ./lib/zcgi.pm --- 漢字コード変換が必要です。[ FTP アスキー転送モード ] ./lib/jcode.pl --- 漢字コード変換が必要です。[ FTP アスキー転送モード ] ./lib/gifcat.pl --- 漢字コード変換が必要です。[ FTP アスキー転送モード ] ./counter_img/zero.gif --- 変換は不要です。 [ FTP バイナリ転送モード ] ./counter_img/one.gif --- 変換は不要です。 [ FTP バイナリ転送モード ] ./counter_img/two.gif --- 変換は不要です。 [ FTP バイナリ転送モード ] ./counter_img/three.gif --- 変換は不要です。 [ FTP バイナリ転送モード ] ./counter_img/four.gif --- 変換は不要です。 [ FTP バイナリ転送モード ] ./counter_img/five.gif --- 変換は不要です。 [ FTP バイナリ転送モード ] ./counter_img/six.gif --- 変換は不要です。 [ FTP バイナリ転送モード ] ./counter_img/seven.gif --- 変換は不要です。 [ FTP バイナリ転送モード ] ./counter_img/eight.gif --- 変換は不要です。 [ FTP バイナリ転送モード ] ./counter_img/nine.gif --- 変換は不要です。 [ FTP バイナリ転送モード ] ./data/error.gif --- 変換は不要です。 [ FTP バイナリ転送モード ]
実行権、書込権の付与
- サーバー上のCGIが動作できるように、CGIスクリプトの実行権と、ファイルへの書込み権を設定します。
- サーバーにアップしたファイルやディレクトリの属性を、以下のとおりに変更してください。
./zcounter2.cgi --- rwxr-xr-x [ 755 ] ./zc2adm.cgi --- rwxr-xr-x [ 755 ] ./userdef.pm --- rw-r--r-- [ 644 ] ./lib/ --- rwxr-xr-x [ 755 ] ./lib/zcounter2.pm --- rw-r--r-- [ 644 ] ./lib/zc2adm.pm --- rw-r--r-- [ 644 ] ./lib/zcgi.pm --- rw-r--r-- [ 644 ] ./lib/jcode.pl --- rw-r--r-- [ 644 ] ./lib/gifcat.pl --- rw-r--r-- [ 644 ] ./counter_img/ --- rwxr-xr-x [ 755 ] ./counter_img/zero.gif --- rw-r--r-- [ 644 ] ./counter_img/one.gif --- rw-r--r-- [ 644 ] ./counter_img/two.gif --- rw-r--r-- [ 644 ] ./counter_img/three.gif --- rw-r--r-- [ 644 ] ./counter_img/four.gif --- rw-r--r-- [ 644 ] ./counter_img/five.gif --- rw-r--r-- [ 644 ] ./counter_img/six.gif --- rw-r--r-- [ 644 ] ./counter_img/seven.gif --- rw-r--r-- [ 644 ] ./counter_img/eight.gif --- rw-r--r-- [ 644 ] ./counter_img/nine.gif --- rw-r--r-- [ 644 ] ./data/ --- rwxrwxrwx [ 777 ] ./data/error.gif --- rw-r--r-- [ 644 ]
ページへの組み込み
- カウンターを表示したいページに次のタグを組み込みます。
- <IMG SRC="--cgiへのURL--/zcounter2.cgi">
- 例えば、相対的なパスで " cgi-bin/counter/ " に設置した場合 <IMG SRC="cgi-bin/counter/zcounter2.cgi">となります。
管理メニューの動作確認
- 管理メニューの動作テストを行います。
- ブラウザから次のURLでアクセスしてみましょう。
- http://--cgiへのURL--/zc2adm.cgi
- 例えば、"cgi-bin/counter/ " に設置した場合 http://サーバ・ホーム/cgi-bin/counter/zc2adm.cgiとなります。
- 最初に認証パスワードを聞いてくるはずです。userdef.pm で定義したパスワードを入力してください。
- 認証が成功すれば管理メニューが表示されると思います。
- うまく動作したら、成功です。
- 管理メニューは、他のページからリンクするか、或いは、管理者専用ですので、ブラウザのお気に入りにでも登録してアクセスしてもいいと思います。