« 大空港(1970 アメリカ) | トップページ | サウスパーク/無修正映画版(1999 アメリカ) »

dopvSTAR* を設置した

えふうそ のアクセス解析にフリー CGI の dopvSTAR* を使用することにしました.CGI の設置は @homepage に行いました.ココログと @homepage はサーバーが別であり,また @homepage は CGI の設置方法が特殊なようなので,覚書を書いておくことにしました.

dopvSTAR* を @homepage に設置する

お気楽極楽スクリプト - dopvSTAR*/アクセス解析CGI の記述にしたがって dopvSTAR* を @homepage に設置します.そのときの注意点は以下のとおりです.

2.Perlパスを書き換える
@homepageの場合は #!/usr/local/bin/perl です.

3.dsi.pl を編集する
@homepageの場合は /cgi-bin/ の下では解析グラフのバーが出ないので bar_blue.gif と bar_green.gif の2つを /homepage/ds/images/ にうつし,dsi.pl でバー画像のパスを変更します.

# ■バー画像
# dsa.cgi からのパス。デフォルト設置構成なら変更の必要なし
$INI{'bar_image_blue'} = 'http://homepage1.nifty.com/f_uso/ds/images/bar_blue.gif';
$INI{'bar_image_green'} = 'http://homepage1.nifty.com/f_uso/ds/images/bar_green.gif';
$INI{'bar_width'} = 300; # (グラフの横幅。変更の必要なし)

4.ファイルを転送する
@homepageの場合は /cgi-bin/ds/ に dopvSTAR* のファイル一式を転送します.先に書いたように bar_blue.gif と bar_green.gif の2つは /homepage/ds/images/ に転送しました.

これでCGIの準備は完了です.

ココログにマイリストのコメント欄を使って解析用コードをはります.JavaScript + IMG 式を使用しました.

<a href="http://tech.bayashi.net/">
<script type="text/javascript" language="JavaScript">
<!--
var pg = location.pathname;
var a = "&&";
var pf = navigator.platform + a; var lng = navigator.language + a;
var swh = screen.width + "x" + screen.height + a;
var cd = screen.colorDepth + a; var pd = screen.pixelDepth + a;
var rf = document.referrer;
var now = new Date();
document.write("<img src='http://hpcgi1.nifty.com./f_uso/ds/dsw.cgi?xx=",now.getSeconds(),"&&p=g&&md=j&&");
document.write("pg="+pg+a+"pf="+pf+"lng="+lng+"swh="+swh+"cd="+cd+"pd="+pd+"rf="+rf);
document.write("' alt='アクセス解析' border=0>");
// -->
</script>
<noscript>
<img src="http://hpcgi1.nifty.com./f_uso/ds/dsw.cgi?p=g&&md=nj&&pg=NOSCRIPT" alt="アクセス解析" border=0>
</noscript>
</a>

ページ名は JavaScript によって,ページごとに違う名前になるようにしました.location.pathname で http://f-uso.cocolog-nifty.com/ を / としたパス名がページ名になります.スクリプトが無効のときはパス名が取れないので“NOSCRIPT”をページ名にすることにしました.

これでアクセス解析ができるようになりました.

検索キーワードの文字化け対策

dopvSTAR* は Jcode.pm に対応していますが,@homepage では Jcode.pm がありません.また Perl の標準ライブラリも使えないので Jcode.pm がそのまま使えません.
そこで ActivePerl 付属の標準ライブラリを /cgi_bin/ の下に転送します.tomomori ってなんだあ?: Jcode.pm を参考にして以下のライブラリを転送しました.

転送するライブラリの一覧
lib
│ AutoLoader.pm(標準ライブラリ)
│ Carp.pm(標準ライブラリ)
│ DynaLoader.pm(標準ライブラリ)
│ Exporter.pm(標準ライブラリ)
│ integer.pm(標準ライブラリ)
│ Jcode.pm
│ overload.pm(標準ライブラリ)
│ strict.pm(標準ライブラリ)
│ vars.pm(標準ライブラリ)

├─auto
│ └─DynaLoader
│     dl_findfile.al(標準ライブラリ)

└─Jcode
  │ Constants.pm
  │ H2Z.pm
  │ Tr.pm
  │
  └─Unicode
      Constants.pm
      NoXS.pm

なおバージョンによってモジュールが異なるようで,わたしの場合 ActivePerl 522 と Jcode 0.82 の組み合わせでうまく動かすことができました(※追記 ActivePerl 522 と Jcode 0.88 もうまく動きました).

dopvSTAR* の dsa.cgi にライブラリの位置を指定し Jcode.pm を使えるようにします.

#------------------------------------------- Jcode.pm の対応自動判定&読み込み▼
if($FORM{'a'} =~ /rf(pg)?|sw[23]?|swse/ || $FORM{'logsearch'} ne '' || $FORM{'kw'} ne ''){
        BEGIN {push(@INC, "/cgi-bin/lib");}
        eval 'use Jcode;';

これで Jcode.pm に対応でき,文字化けを回避することができました.ただいくつかの文字はまだ化けることがあるようです.

あとは dsi.pl を好みに従って設定して dopvSTAR* を使用しています.

[ほかに参考にしたページ]
@nifty:@homepage:自作CGI利用方法
HowToSetUpYukiWikiAtNifty - @nifty では /usr/local/bin/perl しか使えない。

|

« 大空港(1970 アメリカ) | トップページ | サウスパーク/無修正映画版(1999 アメリカ) »

ウェブログ・ココログ関連」カテゴリの記事

コメント

同じ@homepageを使っていますので参考にさせていただきました。
しかし、Googleに関する文字化けの症状は改善できませんでした。
やはり、仕様が変わったGoogleの検索キーワードを抽出するのは無理なのでしょうか?

投稿: tester | 2004/09/03 14:08

調べてみると文字化けしているのは確かにGoogle からの検索キーワードばかりですね,気づいていませんでした.原因もちょっとわからないですね.
現在わたしのところでは,検索キーワードが化けるは少数(2000件中10件程度)なので,あまり気にしないことにしています.
お役に立てなくてすみません.

投稿: ふそう | 2004/09/03 21:29

Googleは最近検索の文字コードがUTF-8になったのが原因のようです。

投稿: tester | 2004/09/05 15:45

UTF-8 が全て文字化けするのならば Jcode.pm がうまく設置できてないのかもしれませんね.
一部だけ文字化けするのならば Jcode.pm の最新版を利用すれば改善するのかもしれませんが,うちでは最新版の組み合わせではうまく動かなかったので,古いバージョンを利用しています.
ご参考になれば.

投稿: ふそう | 2004/09/06 10:37

 私はJcode.pmの最新版を使っていますが、ふそうさんはどのバージョンを使われているのですか?

投稿: tester | 2004/09/08 22:40

 @homepageは、普通に設置してもうまくいかないみたいなので、ローカルにサーバを立ててやったらうまくいきました。
 解析はローカルで今後やっていきたいと思います。お騒がせしてすいませんでした。よかったらHPに遊びに来てください。

http://www.urban.ne.jp/home/noda/

投稿: tester | 2004/09/08 23:00

うちで使っている Jcode.pm は,本文で書いているように 0.82 です.

お役に立てませんでしたが,ローカルでうまくいけてよかったですね.

投稿: ふそう | 2004/09/09 00:15

いろいろと苦労しましたがお蔭様でココログにdopVSTARを設置できました。大変参考になりました。

ただJcode.pmがうまく動かないようで文字化けが直りません。dopVSTARはバージョン0081、Jcode.pmは2.03と新しくなっているせいかもしれません。更新停止されたとのことですが、再開されましたらまたdopVSTAR情報アップされること期待しております。

投稿: ガーデニング芝パパ | 2005/11/27 22:22

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/6493/1019959

この記事へのトラックバック一覧です: dopvSTAR* を設置した:

» アクセス解析付きカウンタの設置 [銀河通信は空耳でした]
開設していきなりですが、カウンターを探しました。 カウンターの設置 を読むとアク [続きを読む]

受信: 2004/09/09 03:17

» MT3でdopvSTAR*によるアクセス解析 [お気楽極楽ブログ]
dopvSTAR*はブログページと相性が良い。 と... [続きを読む]

受信: 2005/01/14 05:52

» アクセス解析はじめました [ほむろぐ]
今週14日(月) に「人気blogランキング」に登録してからはや5日。 特に告知 [続きを読む]

受信: 2005/02/19 01:06

» MT3.2日本語版とdopvSTAR* [お気楽極楽ブログ]
MovableType3.2日本語版にバージョンアップしたところ、dopvSTAR*のログ取得タグの一部で不具合が発生した。 ... [続きを読む]

受信: 2005/10/02 17:44

» dopvSTAR*設置メモ [ひねもすよすがら。]
cgi初心者の覚書 @niftyでのアクセス解析cgi設置にあたりDLしたもの・ [続きを読む]

受信: 2005/11/19 00:27

» Perlのパスとは? [ネットビジネス用CGI Perl HTML Javascriptの情報サイト]
  Perlのパスとは、CGIのプログラムファイルを開いたとき、一行目に書かれている下記のような記号のことです。 #!/usr/bin/perl #!/usr/local/bin/perl このPerlのパスというのは、CGIを設置するインターネットサーバーによって異なりますが、だいたい上記二つのうちのどちらかである場合が多いです。 あなたが今利用しているレンタルサーバーのホームページを見ると、どちらを設定すればよいのかが書いてあるので、... [続きを読む]

受信: 2006/03/07 14:47

« 大空港(1970 アメリカ) | トップページ | サウスパーク/無修正映画版(1999 アメリカ) »