|
AccessReportの設置事例 |
最終更新日 2000/06/17(Thu)
|
||
![]() |
![]() ウィルスチェック無料、ドメイン取得維持無料 レンタルサーバー |
|||
◆
AccessReport
とは…
KENT-WEBで配付している多機能なアクセス解析CGIです。
ホームページのアクセス記録を採集し、「リンク元情報」「ブラウザ情報」「ホスト名情報」
「アクセス時間帯」等を集計し、その割合をグラフ表示します。
SSIは使わず CGIのみで動作し、リンク元情報は
JavaScriptを使用します。
この解説では、AccessReport Ver1.7の設置方法を説明しています。
◆スクリプトの入手方法
「KENT WEB」の自作CGIのプログラムコーナーからDownLoadして下さい。
DownLoadした圧縮ファイルの中には、以下の6個のファイルが入ってます。
| report.cgi | …アクセス解析本体スクリプト |
| replist.cgi | …アクセス解析レポート表示 |
| report.log | …ログファイル |
| graph1.gif | …緑色の横棒グラフ |
| graph2.gif | …赤色の縦棒グラフ |
| jcode.pl | …日本語コードライブラリ |
◆@nifty対応のディレクトリ構造
@niftyには、cgi-binにおけるファイルに制限があります。(共通事項参照)
AccessReportを設置するためには、以下の様なディレクトリを作成する必要
があります(ディレクトリ名は任意です)
Root/ ←あなたのルートパス | +--cgi-bin/ ←http://hpcgi▲.nifty.com/■■■■■■ | | | +--report/(cgi本体を設置する場所) | +--homepage/ ←http://homepage▲.nifty.com/■■■■■■ | +--report/(画像ファイルを設置する場所) ※青いディレクトリは新しく作成したモノ |
◆スクリプトの変更箇所
変更するファイルは、report.cgiとreplist.cgiです。
(1)report.cgiの変更
エディタ等でreport.cgiを開きます。
以下の赤い部分をあなたの環境か好みに合わせて変更します。
※report.cgiは、全く変更しなくても@niftyでそのまま動きます。
各種設定の変更は自由ですが、動作試験をしてから変更する方が無難です。
| #!/usr/local/bin/perl ※@niftyのperlのパスを指定する(変更の必要なし) ## Access Report v1.7 (00/06/06) ## アクセス解析 Copyright(C) Kent Web 2000 ## Mail: webmaster@kent-web.com ## Home: http://www.kent-web.com/ #--- [注意事項] ------------------------------------------------# # 1. このスクリプトはフリーソフトです。このスクリプトを使用した # # いかなる損害に対して作者は一切の責任を負いません。 # # 2. 設置に関する質問はサポート掲示板にお願いいたします。 # # 直接メールによる質問は一切お受けいたしておりません。 # #---------------------------------------------------------------# # [ タグの貼り付け方:例 ] # *以下のタグを、必ず <body>〜</body> 間に記述して下さい # <SCRIPT Language="JavaScript"> # <!-- # document.write("<img src='cgi-bin/report.cgi?"); # document.write(document.referrer+"' width=1 height=1>"); # // --> # </SCRIPT> #============# # 基本設定 # #============# # 文字コードライブラリ取込 require './jcode.pl'; # ログファイル $logfile = "./report.log"; # 最大ログ保持数(これ以上大きくしない方が無難です) $max = 1000; ※ログの最大記録数。 あまり大きな数字にするとログが破損する恐れがあるので、 1000以下の数字にして下さい。 # リンク元除外ページ(半角スペースで区切る) # → ここで指定したURLは「リンク元」集計から除外されます # → 例:$myurl = 'http://www.xxx.yyy/~foo/ http://www.zzz.xx.jp/'; # リンク元除外ページ #(ここで指定したURLは「リンク元」集計から除外されます) @myurl = ('http://homepage▲.nifty.com/■■■■■■/ http://homepage3.nifty.com/abcd/ '); ※リンク元除外ページとは、リンク統計を取らないURLの指定。 URLの指定は部分一致で検索するのでトップアドレスを指定すればOK。 たとえば、自分のHPのトップページURLを指定しておくと全て集計から除外される。 指定しないと自分のホームぺージ内でのリンク件数も集計される。 # ロックファイル機能 (0=no 1=symlink関数 2=open関数) $lockkey = 0; ※初期値は0(ロックしない)なので、このままでもOKですが、同時アクセスによるログの破損 を防止するために指定しておく方が無難です。 @niftyではsymlink関数が使えるので、1(symlink関数)を指定します。 # ロックファイル名 # --> このディレクトリのパーミッションは777に設定 $lockfile = "./report.lock"; # ホスト名取得モード # --> 0 : $ENV{'REMOTE_HOST'} で取得できる場合 # --> 1 : gethostbyaddr で取得できる場合 $get_remotehost = 0; #============# # 設定完了 # #============# |
(2)replist.cgiの変更
エディタ等でreplist.cgiを開きます。
以下の赤い部分をあなたの環境か好みに合わせて変更します。
| #!/usr/local/bin/perl ※@niftyのperlのパスを指定する(変更の必要なし) ## List for Access Report v1.6 (00/05/06) ## Copyright(C) Kent Web 2000 ## Mail: webmaster@kent-web.com ## Home: http://www.kent-web.com/ $ver = 'Axs Rep v1.6'; # バージョン情報 #--- [注意事項] ------------------------------------------------# # 1. このスクリプトはフリーソフトです。このスクリプトを使用した # # いかなる損害に対して作者は一切の責任を負いません。 # # 2. 設置に関する質問はサポート掲示板にお願いいたします。 # # 直接メールによる質問は一切お受けいたしておりません。 # #---------------------------------------------------------------# #============# # 基本設定 # #============# # ロックファイル $logfile = "./report.log"; # ホームページタイトル $title = "My HomePage"; # リスト一覧からの戻り先 (絶対パスなら http://からのURLで記述) $home = "http://homepage▲.nifty.com/■■■■■■/index.html"; ※レポート画面からの戻り先URLを指定します。 # bodyタグ $body = '<body bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink="#800080">'; ※レポート画面の背景色、文字色、リンクの色を指定します。 # 本文中の文字の大きさ(スタイルシート) $b_size = '10pt'; # タイトル部の文字の大きさ(スタイルシート) $t_size = '18pt'; # 表示文字色 $font = "#008040"; # グラフ画像(絶対パスなら http://からのURLで記述) $graph1 = "http://homepage▲.nifty.com/■■■■■■/report/graph1.gif"; # 横軸 $graph2 = "http://homepage▲.nifty.com/■■■■■■/report/graph2.gif"; # 縦軸 ※グラフイメージ画像(gifファイル)のURLをhttp://から記述する。 @niftyの場合は、http://homepage▲.nifty.com/UserName/以下のURLを指定。 cgi-binのURL(http://hpcgi?.nifty.com/〜)ではないことに注意! # リスト最低表示件数(これに満たない情報は非表示) $max_ref = 3; # リンク元 $max_os = 5; # OS情報 $max_brz = 5; # ブラウザ $max_hst = 3; # ホスト名 ※レポート画面に表示するログの最低表示件数を指定します。 ここの設定数値未満の情報は表示されません。 # 項目部の色指定 $under = "#808080"; # 下地の色 $point = "#F0B30F"; # ポインタ(■)の色 $items = "#FFFFFF"; # 項目文字の色 #============# # 設定完了 # #============# |
◆ファイルのアップロード
スクリプトの変更が完了したら、以下のディレクトリにアップロードして
各ファイルのパーミッションを下記の通り変更します。
Root/ ←あなたのルートパス
|
+--cgi-bin/
| |
| +--report/ パーミッション[777]
| report.cgi パーミッション[755]
| replist.cgi パーミッション[755]
| report.log パーミッション[666]
| jcode.pl パーミッション[644]
|
+--homepage/
|
+--report/(任意のディレクトリ名)
graph1.gif
graph2.gif
※青いディレクトリは新しく作成するモノです。
/cgi-bin/report/ディレクトリのパーミッションは[777]にして下さい。
|
◆動作確認
ファイルの転送が完了したら、動作確認を行います。
ブラウザから以下のアドレスを指定して実行します。
http://hpcgi▲.nifty.com/■■■■■■/report/report.cgi?check
↑※homepage?ではないことに注意!
上記の結果、以下の画面が表示されれば、正常に動作している事になります。
|
「サーバーエラー」や「CGI実行エラー」が出る場合は、以下の点を確認して下さい。
(1)report.cgiのパーミッションが755に変更されているか確認する。
(2)cgi-bin/report/ディレクトリのパーミッションが777に変更されているか確認する。
(3)report.cgiの@myurl変数(リンク元除外ページの指定)を変更している場合、指定行の
各行末に「,」記号の欠落や余分な記号が付加されていないか確認する。
◆アクセス記録を採るページの変更
動作確認が完了したら、アクセス記録を採りたいページをエディタで開いて下記の
「アクセス解析のタグ」を<body>〜</body>の間に埋め込みます。
| #
アクセス解析のタグ(javaスクリプト) <SCRIPT Language="JavaScript"> <!-- document.write("<img src='http://hpcgi▲.nifty.com/■■■■■■/report/report.cgi?"); document.write(document.referrer+"' width=1 height=1>"); // --> </SCRIPT> |
上記の赤字の部分をコピーしてアクセス記録を採りたいページに貼り付けて下さい。
貼り付ける場所は、<body>〜</body>の間なら何処でも良いのですが、作者の場合は、
ページの表示速度に影響を与えない様に、</body>の直前に埋め込んでます。
◆アクセス記録の仕組み

AccessReportは上記の図の様に「アクセス記録を採取したいページ」に
アクセス解析のタグ(javaスクリプト)を埋め込んで動作させます。
例えば、index.htmlに上記のjavaスクリプトタグを埋め込むと、ゲストが、
トップページ(index.html)にアクセスするとreport.cgiが呼び出され、ゲスト
のアクセス記録がreport.logに書きこまれます。
◆アクセス記録を参照する
アクセス記録を参照するには、「replist.cgi」を呼び出します。
ブラウザから以下のアドレスを指定して実行します。
http://hpcgi▲.nifty.com/■■■■■■/report/replist.cgi
↑※homepage?ではないことに注意!
ホームページにリンクを貼る場合は、以下の様にします。
<a href="http://hpcgi▲.nifty.com/■■■■■■/report/replist.cgi">アクセス記録</a>
◆参考事例1(CGIにアクセスログのタグを埋め込む方法)
掲示板CGIにアクセスログを付ける方法が知りたい」というリクエストがありましたので、参考事例を開示します。
(1)yy−nifty掲示板にアクセスログを付ける方法
yy-nifty.cgiをエディタで開いて、1727行目付近に以下の赤字の部分を挿入します。
| ## --- HTMLのフッター sub footer { ## 著作権の表示、この3箇所のリンク部を削除することはできません。 print "<br><center><small><!-- $ver -->\n"; print "<a href=\"http://www.kent-web.com/\" target='_top'>KENT</a> & \n"; print "<a href=\"http://village.infoweb.ne.jp/~fwhf2602/\" target='_top'>MakiMaki</a>\n"; print "</small><hr width=\"90%\" size=2></center>\n"; print "<center><small><a href=\"http://homepage1.nifty.com/mystaff/\" target=_top><B> $remodel by Season </B></a></center></small><BR>\n"; print <<"EOM"; <SCRIPT Language="JavaScript"> <!-- document.write("<img src='http://hpcgi▲.nifty.com/■■■■■■/report/report.cgi?"); document.write(document.referrer+"' width=1 height=1>"); // --> </SCRIPT> EOM print "</body></html>\n"; } |
(2)honey-mk2掲示板にアクセスログを付ける方法
honey-mk2.cgiをエディタで開いて、425行目付近に以下の赤字の部分を挿入します。
| #
著作権表示(削除不可) print "<hr>\n"; print "<center>$banner2<P><small><!-- $ver -->\n"; print "- <a href=\"http://www.kent-web.com/\" target='_top'>Honey Board</a> -<P>\n"; print "<center><small><b><a href=\"http://homepage1.nifty.com/mystaff/\" target=_top>$remodel by Season</b></a><BR>\n"; print "</small></center>\n"; print <<"EOM"; <SCRIPT Language="JavaScript"> <!-- document.write("<img src='http://hpcgi▲.nifty.com/■■■■■■/report/report.cgi?"); document.write(document.referrer+"' width=1 height=1>"); // --> </SCRIPT> EOM print "</body></html>\n"; exit; |
(3)その他の掲示板にアクセスログを付ける方法
基本的に上記の事例と同じです。
修正したい掲示板CGIスクリプトをエディタで開いて</body>を検索して、フッターを表示している部分を見つけます。
フッターを表示している部分が見つかったら、上記事例の赤字部分を</body>を定義している行の直前に貼りつけます。
◆参考事例2(フレームページにアクセスレポートを取りつける方法)
トップページが「フレーム」を使用したページの場合、フレームで呼び出すHTMLに指定のタグを記述すると
「リンク元」がすべて「フレーム」ページそのものとなり、リンク元を正しく取得することができません。
これを解決するには、以下の様にアクセス解析のタグの4行目を修正します。
修正した「アクセス解析タグをフレーム内から呼び出すページに取りつけます。
修正前>document.write(document.referrer+"'
width=1 height=1>");
修正後>document.write(parent.document.referrer+"'
width=1 height=1>");
---------- アクセス解析タグの修正例 ----------
<SCRIPT
Language="JavaScript">
<!--
document.write("<img src='http://hpcgi▲.nifty.com/■■■■■■/report/report.cgi?");
document.write(parent.document.referrer+"'
width=1 height=1>");
//-->
</SCRIPT>
----------------------------------------------
※修正後の「アクセス解析」タグは、ブラウザのバージョンが旧いと正常に動作しない場合もある様です。