総合説明書


アクセス解析パッケージ - efStat

■もくじ

この説明書では efStat の概要やインストールについての説明をします。

■はじめに

このソフトウェア(※1)はリンクウェア(※2)です。
リンクウェアとは、貴方が本プログラムを使い始めて有用だと感じ使用し続ける場合に、貴方のウェブサイトから「有限工房」へ必ず何らかの形でリンクしていただくという契約を持ったソフトウェアです。
堅苦しさ抜きに書きますと、便利さの見返りにウチのページを宣伝してチョ☆、という事です(笑)

プログラムの性格上、efStat の存在を明らかにする必要はありませんが、せめて「ここにはお世話になってます」みたいな感じで上手く誤魔化してリンクを張ってあげて下さい。
(まあ、別に説明文を書く必要もありませんが)
カウンタに<A>要素でリンクを張るという方法もよく見かけます。

企業サイトに採用する場合などで、どうしてもそれだけは勘弁してくれ、という場合はメールにて個別に相談下さい。
何の断りもなくリンクせずに使っている会社さんがよくおられますが、私にはそれが企業の質量にものを言わせた横暴に感じられます。
お互いにそれはマイナスだと思いますので、出来れば一言知らせていただきたい。
お金は一切頂きませんし、そのことを口外することは決してありませんので。

(※1…私の書く説明書では「CGI/SSI スクリプト」の事を「プログラム」「ソフトウェア」と呼びます)
(※2…私が勝手に作った造語です(^^; シェアウェアの「リンク張らなきゃいけない版」と思って下さい)

このスクリプトは、CGI/SSI設置の知識がある程度ある方を対象にしています。
申し訳ありませんが、この説明書を読んでもチンプンカンプンだった方は使用をご遠慮下さい。

■古いefStatを新しいefStatに差し替える際のポイント

特に注意書き(!!caution!!.txt)などがなければ、基本的に:

  1. ログファイル・旧fstat.cgi,fcount.cgiのバックアップを取っておく。
    (後者は今までの設定内容を忘れないようにするため)
  2. efStatをインストールしたディレクトリに新しいefStatを全て上書きする
    (いったん中身を全て消してしまってからコピーするとなお良し)
  3. バックアップを取っておいたログファイルを元に戻す。
  4. 前バージョンの設定を新バージョンに移植する。
    (設定方法が変更されていたりするので、説明書と照らし合わせて注意しながら行うこと)

このようにして下さい。 つまり、中身を総入れ替えしてからログと設定を引っ越しさせます。
これが一番安全・確実な方法です。

■概要

「efStat」は perl で動作する「カウンタ兼アクセスログ記録スクリプト」と「ログ解析スクリプト」のパッケージです。
fcount.cgi がログ記録・カウンタ表示、 fstat.cgi がログ解析の役割を持っています。

efCount(fcount.cgi)の特徴

カウンターの機能とアクセスロガーの機能を併せ持っている

二つ別々に設置するよりも、一つにまとまっていれば、悩むのは一回で済みますよね?(ォィォィ)
これ一つを頑張って設置すれば、カウンタの設置で悩んだり、うざったい広告バナーが付くレンタルアクセス解析を使わなくて良くなります(?)

ページ毎にログを記録することができる

一つのスクリプトで複数のログファイルを同時に記録することが出来ます。

ページ毎にログを保存しておきますと、 efStat での解析の時に大変便利です。
(efStat にはページの順位を月間・週間・当日の期間でランキングする機能があります)

きめ細かな記録

efCount で記録できる情報は以下の通りです。
おおよそクライアントから取得できる情報は網羅しています。

記念番を踏んだ人にCGを強要したりするのはやめましょうネ(^^)

プロバイダを選ばない、SSI・CGI両用の柔軟設計

CGI として動かす場合は<IMG>タグで呼び出すタイプのグラフィック表示カウンタとして。
SSI として動かす場合は<!--include virtual="〜"-->形式で呼び出すテキスト表示のカウンタとして動作します。

ただし、efStat はCGI 専用なので、efCountをSSI モードで使用する場合は、プロバイダがSSI/CGI 両方に対応している必要があります。

<SSIモードの特徴>
<CGIモードの特徴>

同じ人が再読込してもカウントしない

キリ番を取りたがる人、イタズラをする人に少しだけ効果があります。

直前の訪問者のIPアドレスと、最新の訪問者のIPアドレスを比較することによって機能を実現しています。
クッキーを調べるタイプに比べると遙かにスマートな方法です。

ただし、最後に記録された IP アドレスと比較していますので、IP がコロコロ変わったりするプロキシ(大学などに多い)には効果がありません。(ただし、そういう所は殆どありません)

アクセスが何日無かろうと、カウント値が反映される

殆どのアクセスカウンタは「前回ログ記録日とログ記録日を比較し、日にちが違っていれば単純に一日分過去にずらす」という仕組みですが、このカウンタでは真面目に前回記録日時からの経過時間を計算しています。

3日ぶりにアクセスがあっても、3年ぶりにアクセスがあっても、その分だけ正確に日数がずれます。
当たり前の事だと笑うかも知れませんが、実は案外珍しいんですよ(笑)

その他特徴

efStat(fstat.cgi)の特徴

強力なログ分析・解析機能

無料でありながら、同種のシェアウェア・サービスに全く見劣りしません。
ただし、自分のヲタク系サイトのために開発したものですので、機能に若干ヲタクチックな偏りがあります(笑)

以下の項目を表示できます。

全て・本日・昨日と範囲を指定して表示できます

非常に簡易的ではありますが、解析の対象範囲を指定できます。
例えば時間別集計などは通常、「のべ来客人数」を表した物なので、「昨日のお昼頃は何人来たか」という情報は見えてきませんが、範囲指定を行うことによりそういった情報を知ることができるようになります。 (それなりに大きいログが必要)

練られたユーザ・インターフェース

一括表示モード(サイト全体の結果を表示)とログ単体表示モードを用意しています。
一括表示モードではメニュー画面を使った手軽な操作で使用できます。
ログ単体表示モード (Webstat互換表示) はブラウザのURL入力欄から直接操作することで軽快に使用できます。
日々の軽いチェックに持ってこい。 ブックマーク(お気に入り)から手軽に呼び出せます。

■動作環境

UNIX系OSなら多分なんでも行けると思います。
厳密には truncate 関数と flock 関数をサポートしたPerl 5以上が必要です。
動作確認は FreeBSD 2.2.7R + Apache/1.2.6 + jperl5.004_04-980303 にて行いました。

Windows系/MacOS系とPerlの組み合わせでも動作する筈ですが、サポート外とさせていただきます。
(腕に自信のある人は勝手に弄って下さい)
私の元にはUNIX以外のOS環境がないので動作確認ができないのです。
少なくとも Win9x + MS IIS + ActivePerl の組み合わせでは修正なしには動きません。

CGI、又はSSIが使用可能になっているかどうかもご確認下さい。
プロバイダ側サーバに Perl がインストールされているかもご確認下さい。

efCount(カウンタ部)はSSI , CGIのどちらでも使えるように作られていますが、efStat(ログ解析部)はCGIでしか使えません。
つまり、efCountを SSI として使う場合は、サーバがSSI だけでなく、 CGI にも対応している必要があります。

■導入

☆解凍☆

fstat.lzh を解凍します。
こんな感じでファイルが詰まっているはずです。

<efStatディレクトリ> [プログラム本体や、周辺ツールを置きます]
fstat.cgi efStat - ログ表示部
fcount.cgi efCount - カウンタ部
sample_cgi.html efCount 導入例(CGI モード)
sample_ssi.html efCount 導入例(SSI モード)
<libディレクトリ> [プログラムの動作に必要なファイルを格納しています]
start.pl efStat 初期設定ルーチン
main.pl efStat ログ解析ルーチン
func.pl efStat 共有関数ファイル
menu.pl efStat メニュー用HTML
jcode.pl 日本語コード変換ライブラリ
©歌代和正
gifcat.pl GIF 画像連結ライブラリ
©s-hasei
d.gif ダミー画像 (efCcount が使います)
e.gif / 0.gif / 1.gif エラー表示用画像 (efCount が使います)
b.gif グラフ用画像 (efStat が使います)
w.jpg 壁紙用画像 (efStat が使います)
<tableディレクトリ> [各種コードを変換するテーブルを格納しています]
agent.tbl ブラウザ変換用テーブル
cctld.tbl ccTLD変換用テーブル
gtld.tbl gTLD変換用テーブル
jpdomain.tbl JPドメイン変換用テーブル
tinami.tbl TINAMIカテゴリコード変換用テーブル
<logディレクトリ> [ログファイルを格納します]
index.log サンプルのログ。これで練習するといいでしょう
<docディレクトリ> [説明書が格納されています]
readme.html 総合説明書。これ
fcount.html efCount 取扱説明書
fstat.html efStat 取扱説明書
history_fc.html efCount バージョンアップ履歴
history_fs.html efStat バージョンアップ履歴
makehtml.html fcount.cgi を呼び出すためのタグを生成するツール。
タグがややこしすぎてワカラン! という人はどうぞ。
format.csv ログの仕様。 CSV形式に対応した表計算ソフトでご覧下さい。
default.css 説明書の表示スタイルを定義したファイル(あってもなくても無害)
fstat.gif Analyzed by efStatバナーです。宜しければお使い下さい。
<imageディレクトリ> [カウンタ用GIFファイルを格納します]
<fuksan> サンプル。 白地に黒字の丸っこい書体。
白い背景のページに馴染みます。
©不可思議絵の具
<fuksan_> サンプル。 fuksanを白黒反転させました。
黒い背景のページに馴染みます。
©不可思議絵の具
※その他にも皆さんから特別に作っていただいたサンプルがありますが、そちらは「有限工房」にて入手して下さい。

※ 所々にヒョッコリある index.html ファイルは、ディレクトリを覗こうとする人を弾くためのダミーです ※

これらのファイルが出てきましたか?
ちょっと説明書が多いですけど、中身はほとんど同じです。
CGI 設置を経験済みの方なら、いつも CGI を設置しているのと同じ要領で行けますので挫けないで下さい(^^;

☆パーミッションの設定・ディレクトリ構成☆

出てきたファイルをサーバ側の任意のディレクトリ(※)へコピーします。
そのとき、ディレクトリ名は fstat が適当でしょう。
(※…WindowsやMacで言うところの「フォルダ」です。 以後、UNIXでの呼び方に合わせ「ディレクトリ」とします)

プロバイダから「CGI スクリプトは cgi-bin 以下に置きなさい」など、スクリプトの置き場所を指定されているときは、そのディレクトリの下に fstat ディレクトリを作って下さい。

最終的には、次の様になるようにします。

<標準のディレクトリ構成>
                                      (パーミッション)
/cgi-bin                              (705) drwx---r-x  [CGIスクリプト格納ディレクトリ]
   |--/fstat                          (705) drwx---r-x  [efStat格納ディレクトリ]
         |-- fcount.cgi               (705) -rwx---r-x  (カウンタ部)
         |-- fstat.cgi                (705) -rwx---r-x  (ログ表示部)
         |-- /lib                     (705) drwx---r-x  [ライブラリ用ディレクトリ]
         |     |-- start.pl
         |     |-- func.pl
         |     |-- main.pl
         |     |-- menu.pl
         |     |-- jcode.pl
         |     |-- gifcat.pl
         |     |-- e.gif
         |     |-- 0.gif
         |     |-- 1.gif
         |     |-- d.gif
         |     |-- w.jpg
         |     |-- b.gif
         |     +-- /table
         |            |-- agent.tbl
         |            |-- cctld.tbl
         |            |-- gtld.tbl
         |            |-- jpdomain.tbl
         |            +-- tinami.tbl
         |
         |-- /log                     (705) drwx---r-x  [ログ用ディレクトリ]
         |     |-- index.log          (606) -rw----rw-  (ログファイル(テスト用))
         |     |       :
         |
         +-- /image                   (705) drwx---r-x  [カウンタ画像用ディレクトリ]
               |-- /fuksan            (705) drwx---r-x  [フォントごとのディレクトリ]
               |      |-- 0fuksan.gif
               |      |       :
               |      +-- 9fuksan.gif
               |
               |-- /fuksan_
               |      :

()内はパーミッションの数値
備考

パーミッションを表記していない物に関しては殆どのサーバでデフォルトの 644(rw-r--r--) でOKです。
セキュリティの観点から言えば 604(rw----r--)にしておけば言うこと無いです。

なお、サーバによってはパーミッションが 705では動作しないところがあります。
その場合は 705(rwx---r-x) を 755(rwxr-xr-x)に読み替えて下さい。

ミルトクラブなど、CGI が設置したユーザの権限で動作するサーバに関しては
705(rwx---r-x) を 700(rwx------)に
606(-rw----rw-) を 600(rw-------)に
読み替えて下さい。

その他、詳しい情報については入会しているプロバイダのHowToページなどを参照下さい。

注意(必読!)
画像ファイル以外は「アスキーモード」で転送して下さい。
普通通りに転送してしまうと大抵「バイナリモード」で転送されてしまい、思わぬ誤動作の原因になります。
アスキーモードでの転送の仕方・パーミッションの変更の仕方は各 ftp クライアントの説明書を参照下さい。

■プログラム側の設定・使用法

冗長になりますので説明書を分けました。
設定の仕方、使用法などについては各プログラム説明書をご覧下さい。

カウンタ部 efCount については fcount.html をご覧下さい。
ログ表示部 efStat については fstat.html をご覧下さい。

■宣言

このプログラムはフリーソフトです。 (ただし、「はじめに」でも書いたように「リンクウェア」です)
著作権は放棄しません。 プログラム中のコピーライト表記を削除したり、改変しないで下さい。

画面のレイアウトを変えたりだとか、メッセージを変更したくらいで名前を変更されると、作者としては非常に寂しいです(笑)
が、あなたが efStat に原形をとどめない程の大幅な改造を施した場合は問題ありません。
その辺は常識的なさじ加減ということで…(^_^;

正規版の第三者による配布は禁止します。
これは、普及に伴いバージョン管理が困難になってきた実状を踏まえてこうなっています。
CD-ROMなど、私のページ以外の場所で掲載する場合は必ずご一報下さい。
(ただし、Vectorなど、私が自ら登録した物は除外します)

自由に改造して使用して下さい。  改造したものを再配布する事も制限しません。
当然、 efCount のログ形式を利用した互換品を開発することもOKです。
ただし、改造版のサポートは改造した方が各自責任を持って行って下さい。

営利目的の使用・個人向けサイト以外の利用を制限しません。
煮るなり焼くなり好きに使って下さい。

このプログラムを用いた事による一切の損害について、作者は責任を負わないものとします。
あなたの責任の範囲において使用して下さい。

■多謝

本プログラムを構成しているファイルのうち、

に著作権があります。
これらの有用なプログラムを開発して下さった方々に深く感謝いたします。

■参考資料(著者敬称略/参照頻度順)

■最後に

本ソフトはフリーソフトではありますが、沢山の労力と時間を割いて作られております。
だからといって物質的な見返りはこれっぽっちも期待しておりませんが、皆さんに使ってもらいたい、沢山の反響が欲しい、という自己満足がプログラム製作の原動力になっております。 宣言にもありますとおり、必ず私のサイトへリンクを張って下さい。 (お客が増える > 反響も増える > サイトが盛り上がる > 私嬉しい☆)

もしよろしければ不可思議絵の具まで「efStat使ってるよ〜」とメールでも掲示板でも何でも構いませんので教えてあげて下さい。
大抵の場合、返事をお返しすることは出来ないと思いますが、送っていただいたメールには全て目を通しております。
そんな皆様の温かいご声援メールは私の元気の源になっています。 ありがとうございます(^^)
ただ、質問は掲示板にお願いします。 近頃捌ききれないので…(^_^;

カウンターGIF作家の皆様、カウンタ用画像を自分用に作ってそのままだったり、一応公開する目的で作ってはみたけれど公開する場所・チャンスがない…そんなデータをお持ちではないですか?
そのまま終わりじゃもったいないですよ☆ 皆さんの自慢の作品を efStat のページに置いてみませんか?
もしかしたら、誰かが使ってくれるかも知れません。
カウンタ用画像を提供して下さる方を募集しています。 もしよかったらメール下さい。


©1998-2001 不可思議絵の具
(http://www.skipup.com/~fuka/)