D-countはアクセスログを記録する機能を持ったCGIカウンタです。
主な特徴は以下のとおりです。
カウンタの機能は以下のとおりです。
アクセス解析の機能は以下のとおりです。
また、調査対象を絞る手段として、以下の方法があります。
特に特定しません。ソースの文字コードはShiftJisです。ノートパッド等で編集できます。
ダウンロードしたdcount.lzhを展開ツールで展開します。 ディレクトリ「dcount」に展開された、dcount.cgiがカウンタ部、logview.cgiがアクセス解析部、 tagmaker.cgiが動作チェック&タグ自動生成CGI、setup.cgiが設置用CGIです。 ディレクトリ「lib」には、ライブラリとして使用するスクリプトが格納されています。
展開した各cgiのうち、まず setup.cgiを開き、先頭行のperlのパスを設置するサーバの環境に合わせて修正します。 具体的な値については、各プロバイダのサポートページ等を参照して下さい。
修正したCGIおよび、その他のファイルをFTPツールなどで、サーバーに転送します。 各cgiファイルはアスキーモードで、gifファイルはバイナリモードで転送します。 その後、まずは setup.cgiのパーミッションを変更します。 CGIのパーミッションについては、各プロバイダのサポートページ等を参考にして下さい。 setup.cgiに実行属性をつけ、ディレクトリlog及び、その配下のファイルには書きこみ属性を付けて下さい。
setup.cgiを起動すると、各ファイルのパーミッション設定を調査して、 適切と思われるパーミッションが表示されるので、FTPツール等で変更して下さい。
サーバによっては、FTPのユーザーと同じ権限でCGIが動きます。 そのようなサーバでは、setup.cgiによって一括してパーミッション設定することができます。 まずはとにかく setup.cgiに実行権、logディレクトリに書き込み権をつけて set.cgiを起動しましょう。 運がよければあとは自動で出来ます。
FTPのユーザーと、CGIのユーザーが異なるサーバであっても、各CGIに書き込み属性をつければ setup.cgiによりカスタマイズが行えます。
perlのパス、解析するアドレス、ログの件数、IP重複チェックをする秒数が設定できます。 欄に入力して、「カスタマイズ実施」ボタンを押して下さい。
パスワード変更欄により、パスワードが変更できます。 旧パスワード、新パスワードを入力して「パスワード実施」ボタンを押して下さい。
V1.3以降より、パスワードが暗号化されているので、 setup.cgiを使用しないとパスワードの変更ができなくなっています。 初期のパスワードは「dcount」です。勝手にログを見られると何かと不都合があるでしょうから、 パスワードは変更しておきましょう。
setup.cgiによってカスタマイズを行ったら、そのまま「設置タグ作成」ボタンを押して下さい。 自動的にtagmaker.cgiが起動されます。表示例が表示されれば、cgiの設置は完了です。
CGI設置URL欄には、dcount.cgiを設置したURLが記入されているはずです。もし誤った内容が記入されている場合は、 修正して下さい
チェック対象URL欄には、カウンタを貼り付けるページのURLを記入します。空欄の場合は、JavaScriptを利用して、 貼り付けられたページを取得するタグが作成されます。
カウンタ種別には、作成するタグの種別を指定します。カウント表示なしは、カウンタを表示せず、 アクセス解析のみ行うタグを作成する場合に使用します。
アクセス解析欄では、カウンタでアクセス解析も行うか、カウンタ値の表示のみかを選択します。
フォント欄は、カウンタのフォントを使い分ける場合に指定します。詳しくは後術します。
「設定項目を反映」ボタンを押すと、設定した内容に従った、表示例、設置用タグが表示されます
カウンタを表示するGifファイルを切り替える事ができます。 カウンタのGifファイルはdcount/imageフォルダに「0〜9.gif」として格納されています。 これを差し替えることによって標準のカウンタ表示を変更する事ができます
また、カウンタ呼び出し時にフォントを指定する事により、表示時に切り替える事も可能です。
フォント名を指定しなかった場合は「0.gif〜0.gif」、指定した場合は「0フォント名.gif〜9フォント名.gif」 が使用されます。
例えば、「0hoge.gif〜0hoge.gif」というファイルをdcount/imageフォルダに格納すれば、 フォント名として「hoge」が指定可能です。
配布時のソースの漢字コードはV1.3.0からShiftJisになりました。設置のしやすさを優先した状態です。 内部的にはEUCを使用しており、出力される内容はEUCになっています。EUCに変換して設置する方は、 内部文字列をShiftJisからEUCに変換している部分を取ると良いでしょう。
生ログの各要素は次のとおりです。
ログは「dcount/log」に保存されます。ログの1行目はバージョン情報で、 2行目が最終ログ情報になっています。最終ログ情報の前から3要素は、
となっているので、カウンタに任意の値を設定したい方はここを書き換えて下さい。
$LogMaxに設定する値によって、1ログファイルあたりの保存ログ件数を変更できます。 デフォルトは1000件です。ログファイルがいっぱいになると、現在のログファイルをコピーして、 新たなログファイルを作成します。何世代コピーを残すかは$LogPagesの設定値に従います。 解析にはコピーされたログファイルも使用されます。$LogMaxや$LogPagesを大きくすると、 より多くのログを残せますが、それだけ処理が重くなります。
複数のページに解析タグを埋め込むことにより、それぞれのページの被参照数などがわかりますが、 調査対象のページが増えると、それだけログが埋まるスピードも早くなります。 ログが早く埋まるということは短期間の情報しか残らないということです。 バランスを考えて設置して下さい。
dcount.cgiでエラーが発生した場合、下記のカウントを表示します。
Q,設置してみたら、トータルと今日のカウンタが1ずれてますが?
A.カウントありとしたほうのカウンタはファイルからカウントを読み込んで1足してから表示するのに対し、 カウントなしとしたほうは表示するだけなので、結果的に1ずれてしまいます。 気になる人は、カウントありを昨日のカウントにするか、 カウンタ表示なしカウントありを別に設置して、トータルと今日はカウントなしにして下さい。
私のサイトでは元々、有限工房さんのefStatというアクセス解析つきカウンタを 使わせていただいておりました。しかし、efStatの開発は終了しており、google等のUnicodeによる検索ワードの解析が行えません。 googleの解析ができないのでは、どんな検索ワードで検索されているのか知りたかった私の目的がほとんど達成されません。 しょうがないから自分で作っちゃえと行き当たりばったりで作ったのが当D-countです。 efStatは同様の機能を持つCGIとして、大変参考になりました。
また、D-countが動作するために必要な、jcode.pl, gifcat.pl, simaguni.pl,それぞれの作者の方々に感謝いたします。