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.cgireplist.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?ではないことに注意!

  上記の結果、以下の画面が表示されれば、正常に動作している事になります。

  • ログファイルのパス : OK!
  • ログファイルの読みこみパーミッション : OK!
  • ログファイルの書きこみパーミッション : OK!

    -Access Report -


  「サーバーエラー」や「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> &amp; \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>

----------------------------------------------

※修正後の「アクセス解析」タグは、ブラウザのバージョンが旧いと正常に動作しない場合もある様です。



CGI設置でお困りの方へ、ニフティの自作CGIの代行設置もおまかせ下さい!