BBS
HTML
CSS
JavaScript
DHTML
フィルタ
CGI
アクセス向上
音楽&動画
カラー
画像
フォント
特殊文字
HP作成リンク
サイト宣伝リンク
ACCESS R
ホーム
>
CGI
>
Ruby-Text-Counter(Normal Version)設置方法
Ruby-Text-Counter(Normal Version)の設置方法
説明
機能
設置場所
パーミッション
設置例
初期値
注意点
変更履歴
動作しない場合は・・・
プロバイダー別CGI調査表
■Ruby-Text-Counter(Normal Version)設置方法
ここでは、るび〜の作成したカウンターを配布/説明するページです。
2003年05月05日現在のテキストカウンター(
rtcount_normal.pl
)バージョンはVer1.02です。
zip形式の物がありますので、こちらから一式
ダウンロード
できます。解凍には「+Lhaca」等の圧縮解凍用ソフトを使う事をお勧めします。ソフトは、
窓の杜
とか
vector
等で手に入れることができます。
表示例は、
サンプル
を御確認下さい。
■説明
よくホームページを訪れると、このページに何人来たかわかるようにカウンターで表示してますよね。画像や文字であったり色々ありますが、やっぱり自分のページにもカウンター付けてみたいじゃないですか。そこで、るび〜がperlで作成したカウンターを配布/説明をします。私の作成したRuby-Text-Counter(Normal Version)は、CGIモードを使用しています。基本的にSSIはプロバイダーがサポートしていないということが多いですから(^^;
■機能
機能
機能名
説明
アクセス数カウント機能
ホームページに来た人をカウントします。
当日のアクセス数カウント機能
当日にホームページに来た人をカウントします。
毎日のアクセス数カウント機能
当日にホームページに来た人を毎日ログとして記録します。
同一IPアドレスからのカウントチェック機能
同じ日に同じIPアドレスからのアクセスはカウントアップしないようにすることができます。
アクセスログ取得機能
REMOTE_HOST/REMOTE_ADDR/HTTP_USER_AGENT/HTTP_REFERERをログとして、ファイルに保存します。
ファイル名変更機能
ログファイル名を変更することにより複数のカウンタを同時に動かすことができます。
■設置場所
Ruby-Text-Counter(Normal Version)を設置するために以下の場所に設置します。
ホームディレクトリ/cgi-bin/rtcount_normal.pl
Ruby-Text-Counter(Normal Version)の主な機能となります。本ファイルを修正することで、様々な設定を変更することが出来ます。詳細は
初期値
に記載してあります。
ホームディレクトリ/cgi-bin/lib/ruby_count.pl
ruby_count.plは、Ruby-Counter共通ライブラリとなります。
ホームディレクトリ/cgi-bin/log/*.cnt(空ファイル)
*.cntは、カウント数を記録するファイルです。最初は空ファイルとなっています。ファイル名は関数を呼び出す際に決めることとなります。
ファイル名を変える方法は
設置例
に記載してあります。
ホームディレクトリ/cgi-bin/log/*.tcnt(空ファイル)
*.tcntは、本日のカウント数を記録するファイルです。最初は空ファイルとなっています。ファイル名は関数を呼び出す際に決めることとなります。
ファイル名を変える方法は
設置例
に記載してあります。
ホームディレクトリ/cgi-bin/log/*.ecnt(空ファイル)
*.tcntは、毎日のカウント数を記録するファイルです。日付毎のカウンター数を記録します。最初は空ファイルとなっています。ファイル名は関数を呼び出す際に決めることとなります。
ファイル名を変える方法は
設置例
に記載してあります。
ホームディレクトリ/cgi-bin/log/*.usr(空ファイル)
*.usrは、ユーザのアクセスログファイルです。内容はアクセス時間・ホスト名・IPアドレス・ブラウザ名・Refererが書かれます。このファイルは訪問者に分からないようにファイル名を変更して下さい。セキュリティ上の問題がありますから・・・最初は空ファイルとなっています。
ファイル名を変える方法は
設置例
に記載してあります。
ホームディレクトリ/cgi-bin/log/*.ip(空ファイル)
*.ipは、IPアドレスログファイルです。IPアドレスを記録し、本ファイルの記録されている場合は、カウントアップしないようにします。最初は空ファイルとなっています。
ファイル名を変える方法は
設置例
に記載してあります。
■パーミッション
UNIX系のサーバーならば、パーミッションを設定しなければいけません。以下に個々のファイルについてのパーミッションを設定して下さい。
ファイル名
パーミッション(rwx)
rtcount_normal.pl
777 (755 or 700)
ruby_count.pl
644 (604 or 600)
*.cnt
666 (600)
*.tcnt
666 (600)
*.ecnt
666 (600)
*.usr
666 (600)
*.ip
666 (600)
括弧「( )」で表されているパーミッションは、よりセキュリティ面において安心な値となっています。括弧で表されている値でCGIが動作する場合は、それが一番良いです。
尚、パーミッションは不適切な値を設定するとセキュリティ面に悪影響が出ます。適切なパーミッションを設定しましょう。
ファイルをアップしているサーバーが、どの権限(owner/group/user)でCGIを動かしているのかを確認してみてください。
■設置例
下記の様に呼び出すと、このようになります。
サンプル
#!/usr/local/bin/perl require 'rtcount_normal.pl'; #Ruby-Text-Counter(Normal Version) ($count1, $count2) = &rtcount_normal::main("log/main"); #ファイル名をlog/mainとしてカウンタを取得 print "Content-type: text/html\n\n"; #HTML文書宣言 print <<EOF; <HTML LANG="ja"> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS"> <TITLE>Ruby-Text-Counter(Normal Version)</TITLE> </HEAD> <BODY BGCOLOR="white"> <DIV ALIGN="center"> 今までの来訪者は$count1人です。<BR> 本日の来訪者は$count2人です。<BR> </DIV> </BODY> </HTML> EOF
■初期値
同一IPアドレスチェック設定
「
$ipcheck
」は、同一IPアドレスをチェックする事で、当日に同一訪問者が訪れても複数回カウントしなくなります。
「
$ipcheck = 0;
」の場合は、同一IPアドレスチェックをしません。
「
$ipcheck = 1;
」の場合は、同一IPアドレスチェックをします。
ログ取得設定
「
$accesslog
」は、アクセスログを取得有/無の設定です。セキュリティ上取得するほうが良いでしょう。
「
$accesslog = 0;
」の場合は、ログ取得OFF。
「
$accesslog = 1;
」の場合は、ログ取得ON。
「
$security
」は、アクセスログを取得する際のIPアドレス/ホスト名の取得方法の設定です。
「
$security = 1;
」の場合は、通常のREMOTE_ADDR/REMOTE_HOSTを取得します。
「
$security = 2;
」の場合は、漏れ串であった場合に本来のIPアドレス/ホスト名を取得します。
ログ保持件数設定
「
$userdatasize = 2000000;
」は、ユーザデータの保持バイト数です。「$userdatasize = 200000」ならば、200Kバイトまで情報を保持します。
■注意点
Ruby-Text-Counter(Normal Version)は改行コードをファイルに追加書込することにより、カウンター破壊を防いでいます。
しかし、ある程度アクセス数が増えるとファイルサイズが巨大になりますので、カウンタをセーブしている*.cntファイルのサイズが多くなった場合は、*.cntを削除し元のカウント値を足して下さい。
■変更履歴
2002/06/25 Ver1.01:初版。
2003/05/05 Ver1.02:全体的に処理を修正。
■動作しない場合は・・・
1行目のperlのパスがおかしい
「#!/usr/local/bin/perl」は、サーバーの環境に合っていないかもしれませんので、契約しているところの環境に合わせましょう。
http://〜で始まるアドレスでアクセスしていない
file://〜 や C:\ で始まる名前でアクセスした場合は動作しません。きちんとhttp://から始まるアドレスで設定しましょう。
CGIをサポートしていない
実は自作CGIが駄目だったり、CGI自体の動作を許可していないサーバーの可能性がありませんか?そんな時は当然ながら動作しません。
パーミッションがおかしい
パーミッションは適切な値となっていますか?telnetで入って確認/変更するか、FTPソフトでもパーミッションを確認/変更することが出来ます。
■プロバイダー別CGI調査表
あなたが契約しているプロバイダーが、CGIの設置を許可していないことには、当然ながらCGIを動作させることが出来ません。プロバイダーが用意しているカウンターやBBS等のCGIのみが使える環境では、Webで配布されているCGIの設置は出来ないことがあります。当サイトでは確認しておりませんが、以下のサイトにて自作のCGIスクリプト(Perl)を設置できるプロバイダ等についての情報を載せています。是非参考になされてはいかがでしょうか?
CGI INFOMATION
[
ホーム
] [
CGI
] [
↑ページ最上部へ戻る
]
インターネット上であなたのパソコン教室を開きませんか?
自宅でパソコン教室を簡単に開くことが出来ます。そして低リスクで効率よく稼げる仕事をさがしている。そんな方にはオススメです。
Copyright © 2000-2003 ACCESS R All rights reserved. Presented by Ruby