題名:アクセス解析CGI

五郎の入り口に戻る

日付:1999/12/15


概要

大坪君作のアクセス解析CGIでございます。何ができるかと言えば

  • ページごとのアクセス解析がとれるはずです。(ただしブラウザのJava Scriptがonになっていないと手がでませんが)
  • 飛んできた元のURL解析機能があります。(データがとれた場合のみですが)
  • ブラウザで状況が確認できます。また一日に一回指定したメールアドレスにデータを送信してくれます。

なぜこんな仕様になっているかと言えば、個人的にページごとのヒット数集計などはメールで送られてきたデータを元にローカルでやればよい、という勝手な願望からなのです。このCGIを作るにいたった経過についてはJava Diary 19章-小さなプログラムの統合をごらんください。

ローカルで集計した結果の例は「今月のヒット数ランキング」をご覧ください。 

設置方法

(1) gaccess.txtを表示し、いったん画面をクリックした後、[すべて選択]-[コピー]でもって内容をファイルにペースしてください。名前をgaccess.cgiにしてください。

(2) glogview.txtを表示し、いったん画面をクリックした後、[すべて選択]-[コピー]でもって内容をファイルにペースしてください。名前をglogview.cgiにしてください。

(3)あれやこれや設定をします。

  • gaccess.cgi:
    • 1行目:#!/usr/bin/perlをプロバイダの設定にあわせて変更してください。ただしこの行の前に空白行などがこないように注意してください。この内容は必ず1行目にある必要があります。
    • 3行目:$sendmail = '/usr/lib/sendmail'; をこれまたプロバイダの設定にあわせて変更してください。
    • 8行目:$mail = 'gor@nifty.com'; # 自分のメイルアドレス をこれまたログデータを送りたいアドレスに変更してください。(変更しないと私のところのにログが飛んできます)
  • glogview.cgi:
    • 1行目:#!/usr/bin/perlをプロバイダの設定にあわせて変更してください。ただしこの行の前に空白行などがこないように注意してください。この内容は必ず1行目にある必要があります。

(4)でもって以下のファイルをcgiが使えるディレクトリに転送します。このうちgaccess.cgi, glogview.cgi, jcode.plはかならずテキストモードで転送してください。

  • gaccess.cgi
  • glogview.cgi
  • dummy.gif(これはバイナリモードで転送してください)
  • access.log(これは空のファイルを作って転送してください)
  • count.log(上と同じくからのファイルを使ってください)
  • jcode.pl(ftp://ftp.iij.ad.jp/pub/IIJ/dist/utashiro/perl/ からjcode.pl-2.8をダウンロードして、名前をjcode.plにかえてください)

(5)パーミッションを設定します。ただしプロバイダごとに指定がある場合にはそれに従ってください。

  • gaccess.cgi:755(rwxr-xr-x)
  • glogview.cgi:755(rwxr-xr-x)
  • dummy.gif:666(rw-rw-rw-)
  • access.log:666(rw-rw-rw-)
  • count.log:666(rw-rw-rw-)
  • jcode.pl:644(rw-r--r--)

(6)ログをとりたいページに以下のコードを埋め込みます。(太字は変更が必要なところです。コードはhtmlファイルに埋め込んでください)

------(ここから)------

<P><SCRIPT LANGUAGE=JavaScript><!--

with(document){

write('<img SRC="http://XXXXXXXXXXXXXXX/cgi-bin/gaccess.cgi?');

write('dummy.html?');

write(document.referrer);

write('" width="1" height="1">');

}

// --></SCRIPT></P>

--------(ここまで)--------

ここでhttp://XXXXXXXXXXXXXX/cgi-bin/などと書いてあるところはあなたがCGIを設置したディレクトリにしてください。dummy.htmlとなっているところはログをとりたいページに併せて適当に設定してください。

 

(7)さて、これでものはうまく動くはずです。上のコードを設置したページに何度かアクセスして、http://XXXXXXXXXXXXXX/cgi-bin/glogview.cgiにアクセスしてみてください。うまくいけばログ及びその日のログの総計が表示されるはずなのですが。。。

 

だいたい以上です。というわけで動かない場合などはおそらくありとあらゆる種類の原因が考えられます。というわけで、一応上のやり方を見て「ちゃんとやったぞ」と思う場合にはメールを戴きたいと思います。とはいっても「必ずサポート」とお約束はできないのですが。。。

 

参考文献:すぐに使えるPerlスクリプトCGI & SSI活用ライブラリ参考文献一覧)


注釈