Takaちゃんの
にあさんのアクセスカウンタを移植しようコーナー

あなたは???番目に訪れた ???番目の移植成功者になるはずです
この2つを表示しているカウンタプログラムです(2005/10/27 改訂版)

<このページは?>
ここはアクセスカウンタを自分のページに移植するための簡単解説ページです
UNIXを使わずにアクセスカウンタを移植するCGI初心者のためのコーナーなのです
文字数は多いけど、それだけ親切丁寧で、カウンタ移植は簡単ですよ!

2005/10/26版速報・Biglobeサーバ変更に伴い、npc.cgiファイルと、&I=指定のnpc.idxファイル位置がまたまたまた変わりました。
私(www2a.biglobe.ne.jp)の場合、
/home2x/bgfs13b/www2a/035/seikofan/public_html/cgi-bin/npc.idx
から、
/public_html/cgi-bin/npc.idx
になりました。
また、サーバがSun OSから、Red Hut Linuxに変更になりました。
以下のLINUX用が使えますので、npc.cgiを交換してください。

2004/5版速報・Biglobeサーバ変更に伴い、npc.cgiファイルと、&I=指定のnpc.idxファイル位置がまたまた変わりました。
私の場合、
/home2/www2a/035/seikofan/public_html/cgi-bin/npc.idx
から、
/home2x/bgfs13b/www2a/035/seikofan/public_html/cgi-bin/npc.idx
になりました。皆さん。必ず下記のpwd.cgiにて調べてください。

2001/9版速報・Biglobeサーバ変更に伴い、npc.cgiファイルと、&I=指定のnpc.idxファイル位置がかなり変わりました。
私の場合、
/home2/seikofan/public_html/cgi-bin/npc.idx
から、
/home2/www2a/035/seikofan/public_html/cgi-bin/npc.idx
になりました。皆さん。必ず下記のpwd.cgiにて調べてください。

<にあさんのカウンタとは?>
にあさんが開発し、一般公開されているフリーソフトnpc.cgiの事です。
極めて有能でカッコ良いWWWアクセスカウンタを、あなたも使うことができます。
すでに500名を超えるBiglobeユーザーから移植成功の嬉しい報告が届いています。
(このページは基本的にBIGLOBE会員用に書かれています、Rimnet会員もどうぞ。)

アクセスカウンタプログラムnpc.cgiの特徴
●動く回転式カウンタ(静止画も可) ●豊富な4書体内蔵 ●前景/背景に好きな色/透明色が使える
●初期値の自由設定が可能 ●複数のページ&別サーバでプログラムの共有可能 ●一体化GIFで桁が崩れない などなど

<このページの意義>
本来なら、開発者であります、にあさんのマニュアルが
npc.cgiオンラインマニュアル(オンライン読み用 Separated 版)
npc.cgiオンラインマニュアル(オフライン読み用)
という、立派な物が有るのです。

では、なぜ私、Takaちゃんがこんな解説ページを作るのかと言えば、

UNIXは持ってないけど、このカウンタを移植して使いたい!
というCGI初心者のための、特別解説ページなのです。

「UNIXなんてバリバリだぜ〜」という方は、この私のページではなくて、直接にあさんのページへどうぞ。

BIGLOBE (Biglobe)以外のサーバをご利用の方へ

このページは基本的にBIGLOBE の会員を対象に書いております。
BiglobeではCGIが使えます。また、サーバのOSがSunOS(一部はHP-UX、Linux)です。したがいまして、
他ネットの方もサーバーがSunOS(又はHP-UX、またはLinux)で動いているなら、このページの方法で移植出来ます。
SunOSは商業用インターネットサーバで最も使われているUNIX OSですが、UNIXには数多くのOSが存在するのも事実です。
一方、 にあさんのページにあります、コンパイル(要UNIX機またはUNIXシェル開放サーバ)
から行なう方法をとれば、ほとんどのプラットホームで使用が可能です。
ここではUNIX機によるコンパイルを必要としないバイナリ移植方法をとっております。
BiglobeはSunOS4.1.3上(これは随時変更されています。ページトップの更新情報を確認ください)
で動いておりますので、同じSunOSで動いているサーバ上では
このページの通りにすれば問題なく動くという事になります。
他ネットではrim.or.jp、ask.or.jp、nsknet.or.jp、mahoroba.or.jp等で動いたという報告が来ています。移植成功ページリストをご参考下さい。
他OSでは、バイナリライブラリも一部用意されています。
バイナリとは、つまり、UNIXでは、それぞれのOS用にコンパイル(変換)する必要があるのですが、
UNIXが出来ない方の為に、既にコンパイルされたファイルを供給するものです。
凡例から変更箇所を推察できると思いますので、やってみてください。
machinecgi.txt( 動いているOSを調べるCGIスクリプト)
ファイル名をmachine.cgiに変更して実行権705を付け、ブラウザでアドレスを入力してください(実行権の付け方はステップ4を参照)。shへのコマンドのパス(#!/bin/sh)も必要に応じて変更してください。パスの位置は、シェルモードが使えるサーバでは、which shと入力すればOKです。シェルモードが使えないサーバは、管理者に問い合わせて下さい。
私(Biglobe)の場合はこうなります。machine.cgi(クリックするとCGIが実行されます)

さあ、はじめましょう!
次のステップへジャンプ
1(準備) | 2(ダウンロード) | 3(初期設定) | 4(アップロードと実行権) | 5(動作確認) |
6(ファイルの位置) | 7(HTMLへの書き方) | 8(おまけ・画像の種類) | 移植成功報告

  • 参考:この参考の箇所は読まなくてもインストールに影響ありません。もっと詳しく知りたい方のために参考情報として書いています。


    ステップ1(準備)

    とりあえず必要なもの

  • パソコン(マック、DOS/V、98、PC/AT、UNIX等々どれか1台)
  • ブラウザ(NetscapeやExplorerなど)
  • エディタ(メモ帳)、またはワープロ(ライト)など
  • FTPソフト(FetchやCuteFTP、WS_FTPなど)
    これだけです。


    ステップ2(ダウンロード)

    ブラウザを使い次に必要なカウンタプログラムnpc.binをダウンロードします。
    linux-npc.bin(ここをクリックLinux用 -- 新サーバ用 2005/10/26版 Biglobe用)
    npc.binこちらをクリック! …HP-UX用
    npc.binwww.**.rim.or.jpの方のみこちらをクリック! …FreeBSD 3.3用
    npc.bin(ここをクリック! …SunOS用 NEW!新サーバ2001/9版)

    上のnpc.binをクリックしてください。ダウンロードの体制になります。
    (注:ブラウザのヘルパーアプリケーション項目で、拡張子.binが[保存]に設定されていないとダウンロード出来ません)
    ご自分のディスクに保存してください。

    次に、初期設定&カウンタ記録ファイルとして、私のページの私専用に書かれている、
    npc.idx

    のページに行って、ソースを読み込んで(別名で保存かView Document Source)保存してください。
    Windowsなら、右クリックで、リンク先を保存を選びます。
    Macintoshなら、クリックダウンしたまましばらく待つと、リンク先を保存が出てきます。

    ついでにもうひとつ、アドレスを調べるスクリプトファイル、
    pwdcgi.txt
    のページのソースを保存してください。

  • 参考:にあさんのページからダウンロード出来るのは基本的にUNIX用で、UNIX機によるコンパイル作業が必要です。98、DOS/Vやマックなどの通常パソコンを使っている方はこの私のページからダウンしたファイルを使用します。UNIXをお使いの方は、にあさんのページの解説をご使用下さい。他OSではバイナリライブラリもあります。
    ステップ3(初期設定)

    3つのダウンロードしたファイルを変更します。
    まず、npc.binは、名前をnpc.binからnpc.cgiに変更します。
    npc.binはこれだけです。超簡単!

    pwdcgi.txtも名前をpwd.cgiに変更します。これも簡単!
    ダウンロードの仕方によって、pwdcgi.txtの先頭行にスペースや改行コードが
    入ってしまうことがあるようです。一応、エディタかワープロで開いてみて、1行目が
    #!/usr/bin/shで始まっているか確認したほうがいいでしょう。先頭に空白行があったら
    その行は削除してください。

  • 参考:npc.binはカウンタ数字映像などを含んだ、C言語で組まれたプログラムそのもの(いわゆる普通のソフトと同じ)で、単純にエディタなどで開いて見ることの出来る普通のCGIスクリプトファイル(例:pwd.cgi)とは違います。 このnpc.cgipwd.cgiは、ファイル名を***.cgiにしてしまうと、ダウンロードせずにCGIプログラムを実行しようとするので、 皆さんがダウンロード出来るように名前をそれぞれ、npc.binpwdcgi.txtに変えているだけなのです。

  • 参考:普通.binファイルは自動的にバイナリモードでダウンロードされますので、気にしなくて済む事ですが、npc.binをバイナリモードでダウンロードしたら、バイナリでアップロードします。もしテキストモードでダウンロードしたら、テキストでアップロードすれば元通りになります。


    次にエディタかワープロで、ダウンロードしたnpc.idxを開いて、初期設定します。
    現在のnpc.idxは私専用になっています。(私はhttp://www2a.biglobe.ne.jp/~seikofan/)
    変更箇所は

  • 現在はwww2a.biglobe.ne.jpとなっているホームページサーバー名を自分の物に変更
  • 私のログインネームとなっている、seikofanの箇所をあなたのアドレスへ変更

    合計で5行だけ変更します。(もし先頭に空白や改行が入っていたら削除してください)
    例をあげておきます。(最終行は変更不要です)
    [例:あなたのホームページがhttp://www2d.meshnet.or.jp/~mylove/にある場合]

    
      ^http://www2a\.biglobe\.ne\.jp[\.:0-9]*/~seikofan/
      ^http://www2a\.biglobe\.ne\.jp[\.:0-9]*/%7[Ee]seikofan/
      =RESTRICTION
      0
    
      =REFERER
      ^http://nocount@www2a\.biglobe\.ne\.jp
    
    の^httpで始まる3行を
    
      ^http://www2d\.biglobe\.ne\.jp[\.:0-9]*/~mylove/
      ^http://www2d\.biglobe\.ne\.jp[\.:0-9]*/%7[Ee]mylove/
      =RESTRICTION
      0
    
      =REFERER
      ^http://nocount@www2d\.biglobe\.ne\.jp
    
    

    に書き換えて(テキストファイル形式で)保存します。

    なお、この例では自分専用で他人が使えない設定を基本としています。
    いま書き換えたのは、カウンタ利用が出来るページ制限項目になります。

  • www2s.biglobe.ne.jpの場合:biglobeがドメイン名の方なら、 ^http://www2s\.biglobe\.ne\.jp[\.:0-9]*/~mylove/ という風に記述します。(ページがhttp://www2s.biglobe.ne.jp/~mylove/にある方の場合)

  • 他ネットの場合:もしあなたのページが「http://www.t3.rim.or.jp/~mylove/」にあるなら、 ^http://www\.t3\.rim\.or\.jp[\.:0-9]*/~mylove/ と記述すればいいのです。

  • 参考:^http://www2d\.meshnet\.or\.jp で記述を止めると、www2dサーバを使っている全員が勝手にあなたのnpc.cgiを使える事になりますので、~mylove/ の項目の記述は欠かせません。同様に=REFERER項目に、他サーバのアドレスパスを追加する(いくつ書いてもOKです)と、他サーバ(他ネット)からのカウンタ利用も許容するようになります(即ち、公開カウンターWebCounterのような、他人へのカウンタ供給が出来る身分になれます)が、それだけあなたのnpc.cgiとwww2dサーバ全体の負荷増大(パフォーマンス低下)、すなわち自分のカウンタのスピード低下を招くことになりますので、あまりお勧め出来ません。特に他サーバへの多量のカウンタ供給は他の利用者の迷惑となりますので絶対にやめてください。カウンタはやはり使っている自分のサーバへ移植したほうが、表示も格段に良くなるのです。友人数人に供給する位はいいでしょう。複数のサーバでHPを開設している人には一元的に管理できて便利です。また、同様にnpc2.idxなどという風に初期設定ファイルを複数作ることもできますが、通常は一個のnpc.idxファイルで複数のページカウント数を管理します。他サーバへのカウンタ供給については、ステップ7の<参考>でも記述しています。


    ステップ4(アップロードと実行権)

    次に、その変更した3つのファイル、npc.cginpc.idxpwd.cgiをFTPでアップロードします。
    public_htmlディレクトリ(フォルダ)の下にcgi-binというディレクトリを作り、
    そこに3つのファイルをアップロードすることにします。
    (Fetchならpublic_htmlを開いた状態で、DirectoryメニューからCreate New Directory
    を選び、名前をcgi-binとしてOKします)

    出来たcgi-binディレクトリを開いてそこに3つのファイルをアップロード(PUT)しますが
    そのときに、npc.cgiは必ずバイナリーモード(RAW)、npc.idxpwd.cgiは テキスト(アスキー)モードで転送します。
    npc.cgiだけ、バイナリーで転送するので、注意してください。

    転送後(転送した時に同時に)にファイルに実行権(保護モードの変更)をつけます。

  • 実行権とはUNIX特有のファイルの属性情報のことです。
    npc.cgiは701で、npc.idxが606、pwd.cgiは705です。

    この実行権の付け方は、


    WindowsのCuteFTPならCommands/Custom Commands/Change Files Access mask の項目です。目的のファイルを選択して、Change Files Access maskを選択し、ダイアログに実行権の3桁の数字を入力しOKします


    WindowsのWS_FTPなら、実行権をつけたいファイルを選択し、右ボタンをクリックします。FTP Commands/SITEの項目を選択し、chmod 701 npc.cgi という風に入力し、OKします。


    マックのFetchなら、まず、転送したnpc.cgiを選択し反転させてから、
    RemoteメニューのSet Permissionsを選びます。(Fetch. 2.XにはSet Permissionsが無いらしい= 3.0以降を使用)
    Fetchでは、
    npc.cgiは、
    ReadWriteSearch
    Execute
    User(u)=これで7という意味
    Group(g)=これで0という意味
    Everyone(o)=これで1という意味

    という風にチェックして、OKとします。

    同じように、npc.idxは606ですので、次のようにチェックを入れます。

    ReadWriteSearch
    Execute
    User(u)=これで6という意味
    Group(g)=これで0という意味
    Everyone(o)=これで6という意味

    という風にチェックして、OKとします。

    pwd.cgiは、705ですので
    ReadWriteSearch
    Execute
    User(u)=これで7という意味
    Group(g)=これで0という意味
    Everyone(o)=これで5という意味

    という風にチェックして、OKとします。

  • 参考:Read(r)は4、Write(w)は2、Search&Execute(x)は1というビット値を持ってます。


    または、
    FTPのコマンドでcgiスクリプトファイルに実行権をつける手順
    
      ftpのコマンドを利用します。具体例を以下に示します。
    
      ftp> put npc.idx                     ---期設定ファイルをputします。
    
      ftp> quote site chmod 606 npc.idx    ---初期設定ファイルに実行権をつけます。
    
      ftp> bin                             ---バイナリ転送に変えます
    
      ftp> put npc.cgi                     ---cgiファイルをputします。
    
      ftp> quote site chmod 701 npc.cgi    ---cgiファイルに実行権をつけます。
    
    


    または、シェルモードでファイルに実行権をつける手順

    また昔のRimnetのような、UNIXシェルでしか実行権が付けられないサーバの場合は、
    NCSA Telnetや、TeraTermなどのTELNETソフトで、Telnetサーバにログインします。
    HostをTELNETサーバ名、TELNETをチェック、Port #23 と書いてあればいいです。
    また、シェルが使える所は、pwd.cgiは不要です。TELNETサーバ名などはプロバイダから
    連絡されているものを使います。

    具体例を以下に示します。(FTPで転送した後に実行権をつけることにします)

    
     LOGIN : mylove       ---ログインネームを入れます(TeraTermの場合)
    
     PASSWD: *******      ---パスワードを入れます(TeraTermの場合)
    
    
    
      1.電子メール
    
      2.FTP
    
      3.シェル            ---(Rimnetの場合)
    
      ---
    
    >3                    ---3のシェルを選択(Rimnetの場合)
    
    
    
    hikari% pwd           ---現在の位置を表示させる(hikari%はRimnet東京3ドメインの場合、通常はサーバ名%になる)
    
    /home/usr6/mylove     ---ホームディレクトリを表示した
    
    hikari% cd public_html/cgi-bin/           ---ディレクトリを移動
    
    hikari% pwd                               ---現在の位置を表示させる
    
    /home/usr6/mylove/public_html/cgi-bin     ---現在のディレクトリを表示した
    
    hikari% chmod 701 npc.cgi      ---npc.cgiに実行権701をつけた(777でもよい)
    
    hikari% chmod 606 npc.idx      ---npc.cgiに実行権606をつけた(777でもよい)
    
    hikari% ls -la                 ---ファイルリストを表示させる
    
     rwx-----x npc.cgi 57654 97/5/21    ---npc.cgiは701がついている
    
     rw----rw- npc.idx  1825 97/5/21    ---npc.idxは606がついている(全開放は777=rwxrwxrwx)
    
               ---(User,Group,Everyoneの順で、read,write,executeが3つづつ)
    
    hikari% cd ..                 ---ディレクトリを移動
    
    hikari% pwd                    ---現在の位置を表示させる
    
    /home/usr6/mylove/public_html  ---現在のディレクトリを表示した
    
    hikari% which perl             ---perlのコマンド位置を表示させる
    
    /usr/local/bin/perl            ---perlのコマンド位置を表示した
    
    hikari% which sh               ---shのコマンド位置を表示させる
    
    /usr/bin/sh                    ---shのコマンド位置を表示した
    
    hikari% exit                   ---シェルモード終了
    
    
    
    


    ステップ5(動作確認)

    FTPでアップロードしたら、ブラウザでちゃんとcgiプログラムが動いているか確認しましょう。
    先の例で、
    http://www2d.meshnet.or.jp/~mylove/cgi-bin/
    に3つのファイルを置いたなら、
    http://www2d.meshnet.or.jp/~mylove/cgi-bin/npc.cgi
    とブラウザでアドレスを入れて、確認してみてください。それで、

    (Cannot open index file npc.idx)

    というエラーメッセージが表示されたら、移植成功です。
    とにかく、黒地に白文字のメッセージが出たらnpc.cgiは動いています!
    現在は、初期設定ファイルの位置を指定していないので、このようなエラーが出ます。
    もし、違うメッセージが出たら、オンラインマニュアルのエラーメッセージの項目を参照してください。

  • エラー:アドレスを入れたら、エラーメッセージ(Cannot open....)が出ずに、Server Errorがでる原因
    ■実行権が正しくセットされていない
    npc.cgiを転送するとき、テキストモードで送ってしまった(バイナリで転送する事!)
    (マックなら、必ずRAW形式で転送してください。自動転送にするとテキストで転送してしまいます)

    ■SSIが使えるサーバ(Rimnet等)で、CGIが作動するための拡張子ファイルがセットされていない
    ---public_htmlディレクトリに、 .htaccess という名前のファイルを置く必要があります。
    ---Meshnetでは管理者側のsrm.confファイルにより、拡張子が.cgiとしているだけで、リンクされるので.htaccessファイルは必要ありません。ユーザ側が拡張子を設定する場合はpublic_htmlディレクトリに
    AddType application/x-httpd-cgi .cgi
    AddType application/x-httpd-cgi .pl  ----必ず、plのあと、最後に改行する
    という中身の.htaccessファイルを置いてください。Windowsでは、.htaccessというファイル名を作る事は出来ないので、適当な名前をつけて、アップロード後にrename(ファイル名変更)してください。ここらへんのやり方はこんな所とかを参照してください。
    ■サーバのOSがSunOSではない(Mesh Net以外の方の場合/UNIXからコンパイルを行なう方法か、にあさんのバイナリページをご覧ください)


    ステップ6(初期設定ファイルの位置を調べる)

  • ホームページのアドレスを知る

    まず、この流れでUNIXを使わずにUPした場合、初期設定ファイル(npc.idx)の位置を
    CGIプログラムからみて、正しい位置を記述しないといけません。
    この位置は実際にカウンタを使用する際に、&I=という形で記述する必要があるのです。

    つまり、普通のURLアドレスのような/~mylove/cgi-bin/npc.idxでは駄目です。
    チルダ(~のこと)はログインネームを利用して、途中のディレクトリーを省略した
    という意味なのです。例えば、現在このページのアドレスは、
    /~seikofan/htm/cgi/npc.html

    にありますが、これは省略されたアドレスで正確には

    /home2x/bgfs13b/seikofan/public_html/htm/cgi/npc.html
    になります。この正確なアドレスを知る必要があるので、次にやり方を示します。
    シェルモードで実行権をつけた方は、pwdコマンドを実行して、もう自明でしょう。

    先の例を引続き使います。
    [例:ホームページがhttp://www2d.meshnet.or.jp/~mylove/にある場合]
    [以下のmyloveを自分のホームページアカウントに置き換えて下さい]

    初期設定ファイルのnpc.idxの位置(&I=)はメッシュネットの場合、(他ネットはディレクトリ構造が違う)
    /homeN/mylove/public_html/cgi-bin/npc.idx

    となります。このhomeNのNは、2から6くらいまであるそうです。
    これはメッシュ固有で、他の例えばRimnetの場合は、
    /home/usrN/mylove/public_html/cgi-bin/npc.idx
    という具合になります。
    知る方法は、次のスクリプトファイル(pwd.cgi)で、結果を見ればいいのです。
    すでに、pwd.cgiをアップロードしているなら、ブラウザーでこのファイルをアドレスで指定
    して実行してください。(http://www2d.meshnet.or.jp/~mylove/cgi-bin/pwd.cgiと入力する)

    pwd.cgiを使わない別の方法もあります)

    これはpwd(print working directory/ファイルの作業位置)の出力を返すだけです。
    つまり、このスクリプトファイル(pwd.cgi)が存在している位置を表示してくれるので、
    これによって、正確なディレクトリが分かります。
    (私の場合はこうなります。■pwd.cgi(ここをクリックするとCGIプログラムが実行されます)

  • エラー:npc.cgiは動いたが、pwd.cgiがServer Errorになった原因
    ■shのコマンド位置が間違っている可能性があります。最初の行の#!/usr/bin/shを#!/bin/shか、#!/usr/mesh/bin/shに変更して再度やってみてください。(なんで、同じBIGLOBEで統一されてないんだよぉ〜)
  • Meshnet以外の方の場合
    CGIから見たファイルの存在位置ディレクトリを知るスクリプト(これはpwdcgi.txtです)
    #!/usr/bin/sh
    
    
    
    echo "Content-type: text/plain"
    
    echo
    
    pwd
    
    exit 0
    Meshnet以外の方は、このスクリプトファイルを使ってください。これをファイルにしたものが
    pwdcgi.txt
    です。pwdcgi.txtをpwd.cgiに名を変更して実行してください。
    (実行するというのは、pwd.cgiをテキストモードでアップロードし、実行権705をつけて、ブラウザでこのファイルのアドレスを入力して、結果を見るということです。このpwd.cgiがある位置を表示します。)また、cgiスクリプトの先頭行も、必要に応じてshのパスも変更してください。
  • これで例えばNが3だと分かると、初期設定ファイル(&I=インデックス)の位置は、
    /home3/mylove/public_html/cgi-bin/npc.idx
    になりますから、実際にhtmlファイルの中に、イメージファイルを書く要領で
    カウンタを挿入したい位置にIMGタグと使い、&I=の後にファイル位置をつけて、

    <IMG SRC="/~mylove/cgi-bin/npc.cgi?L=test&I=/home3/mylove/public_html/cgi-bin/npc.idx">

    と書いてください。このHTMLファイルをブラウザに表示させてみてください。
    うまくいったら、カウンタを開始し、00001と表示されるはずです。

  • エラー(1):HTMLファイルを表示させたら、00001が出ずに、Bad npc.idxがでる原因
    ■npc.idxの先頭に余分なスペースや改行が入っていませんか?#!npc.cgi - で始まってますか?
    ■npc.idxをバイナリモードで転送しませんでしたか?テキストモードで転送してください

  • エラー(2):やっぱり(Cannot open index file npc.idx)が出てしまう原因
    ■npc.idxファイルの指定が間違っています(npc.idxファイルが見つかりません)。IMGタグの書き方が間違っているのか、またはnpc.idxのアドレス記述が間違っている可能性があります。最近、よくアルファベットの見間違いで動かないというご質問のケースが増えています。<IMG SRC="/~mylove/cgi-bin/npc.cgi?L(これはエルです)=/~mylove/test.html&I(これはアイです)=/home3/mylove/public_html/cgi-bin/npc.idx">などがあります。再度チェックしてください。このページからコピーしたものを変更するようにすれば万全でしょう。

  • エラー(3):壊れたアイコン(ブロークン・イメージ)が出てしまう原因
    ■ブラウザがnpc.cgiを見つけられません。npc.cgi側の問題ではありません。IMGタグ内のnpc.cgiのURLアドレス指定(SRC="....")が間違っています。アドレス指定は相対パスでも絶対パス(http://.....npc.cgi)でも構いませんが、正しいアドレス指定が必要です。再度確認を。

  • エラー(4):そのままIMGタグが表示されてしまう原因
    ■IMGタグを認識していません。このIMGタグは、<HTML>と<BODY>に囲んだHTMLファイルの中に書いてください!

  • エラー(5):npc.idx: "(null)" is Unkown Tag Nameとエラー表示されてしまう原因
    ■npc.idxファイルに余分な改行やスペースが入っています。初めに表示された私のnpc.idxと、あなたがサーバに転送したnpc.idxをブラウザ上で見比べて下さい。余分な改行が入っていることが分かります。もう一度npc.idxダウンロードして、見た目上、私のと同じになればOKです。(トータルの行数を同じだったら、ばっちりです)

  • エラー(6):no permittion for use this counterとエラー表示されてしまう原因
    エラーメッセージ通りに、カウンタから利用を断られています。これは、ステップ3npc.idx自分のホームページアドレスの書き方が間違っているか、書き換え変更されていないかのどちらかです。^http://www2a\meshnet....で始まる文章の所を見直して下さい。

  • エラー(7):Index File Lock Errorとエラー表示されてしまう原因
    npc.idxのファイルが書き込み不可になっています。実行権が正しく設定されていないので、再度、npc.idxに実行権を606につけてください。

    homeNのNが分からない(どうしてもpwd.idxが動かない)人は、最終案として、
    <IMG SRC="/~mylove/cgi-bin/npc.cgi?L=/~mylove/test.html&I=/home2x/bgfs13b/mylove/public_html/cgi-bin/npc.idx">
    <IMG SRC="/~mylove/cgi-bin/npc.cgi?L=/~mylove/test.html&I=/home3/mylove/public_html/cgi-bin/npc.idx">
    <IMG SRC="/~mylove/cgi-bin/npc.cgi?L=/~mylove/test.html&I=/home4/mylove/public_html/cgi-bin/npc.idx">
    <IMG SRC="/~mylove/cgi-bin/npc.cgi?L=/~mylove/test.html&I=/home5/mylove/public_html/cgi-bin/npc.idx">
    <IMG SRC="/~mylove/cgi-bin/npc.cgi?L=/~mylove/test.html&I=/home6/mylove/public_html/cgi-bin/npc.idx">
    と、色々とNの数値を変えたIMGタグを.htmlファイルに書いて、
    きちんと表示されるやつを探してください(いい加減な…)。
    同時にこれら全部を一度にHTMLファイルに書けば、一発で分かるはず(笑)。
    ただし、この方法はMeshnetでしか使えません。他のネットでは、
    home/...../~myloveの箇所のディレクトリ名や構造が異なるからです。
    その場合は先のpwd.cgiで調べてください。

    このCGIプログラムから見える位置(正確なアドレス)は、各サーバーで違いますが、
    メッシュだったら、だいたい、上の形式で統一されているはずです。

  • 参考:初期設定ファイルの位置=実を言うと、本来ならこの初期設定ファイルの位置の記述は、省略が可能です。いま手にしたnpc.cgiにも位置の初期値がすでに指定されているのですが、これは汎用的な位置で皆さんには使えません。第一、初期値はUNIX機によるコンパイル時に指定するので、ここを読まれている方には変更できません。そこで、もともと初期ファイルの位置は皆さんでそれぞれ全員違いますし、改めて位置を指定変更しているという訳です。(初期値よりも&I=の記述を優先させるという意味です)


    ステップ7(HTMLファイルへの書き込み)

    さて、長い道のりも終り、ようやく本番です。実際にHTMLファイルに書き込みます。
    上のIMGタグの書き方例では、ロケーション名を test としています。
    ロケーション名とは、カウンタが認識するページの名称のことで、実際のアドレス /~mylove/index.html 等
    を使用すると分かりやすくて良いでしょう。
    ロケーション名をたくさん使えば、同じホームページ内に独立したカウンタをいくつでも作れます。
    当然ですが、独立したカウンタ毎にnpc.cginpc.idxを置く必要はありません。1個づつで十分です。
    違うロケーション名は、別ページとしてnpc.cgiが認識し、独立してカウントしてnpc.idxファイルに記録します。

    今まで使っていたカウンタの数字をそのまま残したい場合、例えば、
    [例:今の使用中の他カウンタが2500を記録、ロケーション名(L=)を/~mylove/main.htmlにし、
    プログレッシブモード(カウンタが動くモード:&P=ON)にして、動画GIF(&A=G)にする場合は]

    <IMG SRC="/~mylove/cgi-bin/npc.cgi?L=/~mylove/main.html
    &I=/home3/mylove/public_html/cgi-bin/npc.idx&P=ON&A=G&INIT=2500">

    (みなさんが見やすいように途中で改行しています)

    と書きます。カウンタをゼロから始める時は&INIT=2500は要りません。
    npc.cgiは数字の種類や大きさ変更、桁数、色の指定など、数多くのオプションがあります。これらは&を使って、どんどんつなげていけます。詳しくは

    npc.cgiオンラインマニュアル(オプション解説)

    を見てください。

  • カウンタオプション例(記述方法はnpc.cgiオンラインマニュアルを参照してください)
    • &DI(書体選択)
    • &D(回転速度)
    • &N(数値固定)
    • &P(回転モード切替)
    • &RAN(乱数表示)
    • &T(透明色指定)
    • &C(カラー指定)
    • &U(カウンタ表示領域拡大)
    • &W(桁数指定)

    同じウェブ内にいくつカウンタ(ロケーション名)を付けても大丈夫です。一度にそのアクセス数を確認したい時は、初期設定ファイルにすべてのカウンタ情報が書き込まれますので、ブラウザで npc.idxファイルを見れば、その一番下にカウンタ記録があります。

  • 参考:他サーバからのカウンタ利用方法。ステップ3において、まず利用したいページのURLアドレス・パスをnpc.idxファイルに追記しておきます。あとは、npc.cgiの位置をフルパスで指定するだけです。つまり、先の例をそのまま使うと、
    <IMG SRC="http://www2d.meshnet.or.jp/~mylove/cgi-bin/npc.cgi?
    L=WebCounter.html&I=/home3/mylove/public_html/cgi-bin/npc.idx
    &P=ON&A=G&INIT=2500">
    とページに書くだけでOKです。勿論、そのページがnpc.idxファイルに利用制限を開放するように記述していないと、no permittion for use this counterというエラーメッセージが出ます。

  • ご利用上の注意とご質問
    • 本家はこちらです。 つっこんだ質問とかは、作者であるにあさんの会議室でお願いします。多少は私でもお答えできますが、メールが殺到しており、返答を書ける時間がほとんどありません。にあさんのうぇぶ会議室では迅速な回答が寄せられますので、できたらそこでご質問ください。プログラム開発者の「にあさん」と、この移植解説ページの私、「Takaちゃん」は別人です(*^_^;)
    • npc.cgiは無料ソフトですが、使用する場合の注意など基本的なことは、必ずオンラインマニュアルを見てご確認の上、ご使用下さい。
    • npc.cgi へのバグ・リポート、ご質問、ご要望等は 「うぇぶ会議室」 の「npc.cgiの部屋」で受け付けています。

      以上です。ご健闘と皆さまのページのご発展をお祈り致します。

    • 皆様がこのページへリンクを張るのは歓迎しますので、許諾確認メールは不要です。ただし、BIGLOBE用、またはSunOS用という形で、それなりのお断りを入れておいてください。この移植方法はこの解説にもありますように、特定OS専用ですので、他ネットサーバではうまく行かないことがあります。他OSのサーバを利用されている方へは、にあさんのページへご案内ください。

    終り(まだ下におまけがあるよ)


    www2s.biglobe.ne.jpで起きている不都合について

    報告が相次いでいますが、97/6/11頃、www2s.biglobe.ne.jpのサーバでは、BIGLOBEの管理側の設定が変更されて、通常プログラムではINDEX File ROCKエラーなどが出て動かなくなった事があります。この変更処理の応急措置として、その状態でも動く改良プログラム(ただし一部機能制限有り)を一応UPしておきます。同じように、2s-npc.binをnpc.cgiと名前を変更して使ってください。
    2s-npc.binwww2s.biglobe.ne.jpの方のみ…HP-UX用

    なお、この問題につきましては、npc.cgiの作者である「にあ」さんの会議室で逐次情報が公開されていますので、チェックしてみてください。
    うぇぶ会議室」 の「npc.cgiの部屋」で受け付けています。
    なお、この問題についてはBIGLOBE事務局から発表がありました。「 平成9年6月11日より6月16日午後12時までの間、システム不具合のため、 www2s.biglobe.ne.jp上に開設されているホームページのcgi(アクセスカウンタや チャット、会議室等)が正常に動作しないという状況が発生しておりました。 現在は復旧し、正常にご利用いただけます。 ご迷惑をおかけいたしまして誠に申し訳ございませんでした。 」とのことです。 ここであげている改良プログラムは同時ロックに弱いので、ステップ2のHP-UX用を使用したほうがベターです。


    おまけ(カウンタの画像種類)

    npc.cgiは画像種類によって性格が変化します

  • npc.cgiは、カウンタ部分の画像の種類が選べます。このカウンタの種類によって、表示と性格が若干異なりますので、お好きなものを選んでください。これらオプションは全て、&に続けてIMGタグの中に書き込みます。

    まず、カウンターをスクロールさせてカウントアップさせる場合、
    npc.cgiは数値の画像をmultipart GIFかanimation89aGIFのどちらかを選べます。
    つまり &A=S にするか &A=G  と書き込むかです。
    普通のカウンタは単なるGIF画像なので、動きませんよね。動くからこの解説の意義があるのです。

    1■設定を&P=ON&A=Sにすると、

      つまり、動くモードでmultipart GIFにした場合です。
      特徴は、数字が回転する。ページを開くたびに数値が上がる。開くたびにcgiにアクセス
      するので、回線を切ってしまってから、ブラウザでページを戻ると、カウンタが表示しない。
      つまり、1頁目→2頁目→1頁目と戻った時に、カウントアップするということです。
      普通はカウントアップしないケースが多いので、それとは違います。
      したがって、カウンタがあるページを通るたびにどんどんカウントアップします。
      カウンタの数をとにかく稼ぎたい場合に有効ですが、この場合は「入場者」ではなく、
      「ヒット数」と言い方が正しい表現になります。
      また、NetscapeやExplorerは大丈夫ですが、一部ブラウザでは、multipart GIFを解読できない
      ので、カウンタ画像を全く表示しない物もありますので、ご注意下さい。
      書き方例
      <IMG SRC="/~mylove/cgi-bin/npc.cgi?L=/~mylove/test.html
      &I=/home3/mylove/public_html/cgi-bin/npc.idx&P=ON&A=S">

    2■設定を&P=ON&A=Gにすると、
      つまり、動くモードで89aアニメーションGIFの場合です。
      特徴は、数字が回転する。ページを開くたびに数値が上がらない。回線を切っても
      カウンタが表示される。つまり、ページを通過しても、1番目のように、データを
      とりに行かず、100から101にカウントアップしたなら、そのページを通過する
      たびに、100から101へ同じように動きます。
      これは一度89aGIFをキャッシュに取り込んだら、それを何度も使い回すからです。
      したがって、一回アクセスして、一人で数値を稼ぐことはしないという事です。
      私はこれにしてます。これだとだいたい正しい入場者数が計れます。
      でも、まあわたしのカウンタ設置箇所も2度通らない所に置いてますが。
      なお、アニメーション89aGIFに対応していないブラウザでは、動く前の最初の1画面のみが表示
      されますので、結果的に本当の数値よりもひとつ少ないカウンタを表示することになります。
      書き方例
      <IMG SRC="/~mylove/cgi-bin/npc.cgi?L=/~mylove/test.html
      &I=/home3/mylove/public_html/cgi-bin/npc.idx&P=ON&A=G">

    3■設定を&P=OFFにすると、
      動かないモードです。これは動かないので、&A設定は必要ありません。
      これだと、単なるGIFと同じ意味ですから、一度カウンタの表示が出たら
      そのまま残ります。
      特徴は、静止画GIFなので、数字は回転しない。先の2つよりかは容量が軽い、
      転送早いというメリットがあります。cgiがいつも混んでいる時に有効です。
      回線を切っても残ってますし、カウントアップは一度だけです。
      書き方例
      <IMG SRC="/~mylove/cgi-bin/npc.cgi?L=/~mylove/test.html
      &I=/home3/mylove/public_html/cgi-bin/npc.idx&P=OFF">

    4■裏技 カウンタを表示せずこっそりカウントする
      来訪者に気付かれることなく、こっそりカウント出来ないかという探偵趣味の方も
      おられると思います。また、自分のどのページが人気があるのかを調べたくても、
      全部のページでカウンタが表示されてしまっては、見る人は結構、見苦しくて嫌気がさすものです。
      その場合は、カウンタを隠しましょう。
      これは実に簡単です。IMGタグの基本、幅・高さの指定でピクセル・サイズをゼロか1
      にすればいいのです。この場合はどうせ表示させないのだから、桁数を1(&W=1)
      にして、動かないモード(&P=OFF)にして画像そのものを軽くしておけば完璧。
      ただし、なぜかWIDTH, HEIGHT指定が効かないブラウザもあるそうです。
      Explorerのバージョンによっては、WIDTH,HEIGHTを共にゼロにすると、無視されて画像を
      表示してしまうものもあるようなので、その場合を考えて、1にしたほうがベターです。
      また、大きさそのままで、前景色と背景色とページの色を同一にして隠す方法もあります。
      書き方例
      <IMG SRC="/~mylove/cgi-bin/npc.cgi?L=/~mylove/secret.html
      &I=/home3/mylove/public_html/cgi-bin/npc.idx&P=OFF&W=1" WIDTH=1 HEIGHT=1>

      そのアクセス数を確認したい時は、ブラウザでnpc.idxファイルを見れば大丈夫。
      npc.idxに全てのロケーションのアクセス数が記録されています。

    さらにもうひとつオマケ

    様々なCGI環境が見れるCGIスクリプトを用意しました。(カウンタとは関係無し!)
    summery.pl

    summery.plをテキストで保存して、ファイル名をsummery.cgiに変更。サーバに転送し、実行権705をつけてブラウザでファイルを指定してください。ただ、それだけです。。もっと有益な物を作るか…(笑)今度は、メールの受付の自動処理などの解説したいと思ってます。
    こうなります。summery.cgi


    ご意見、メールは以下をクリック
    By Takaちゃん

    URL: http://www2a.biglobe.ne.jp/~seikofan/htm/cgi/npc.html