Top過去ログ目次掲示板

作成日:2003年06月22日 作成:おやじ
掲示板で過去に質問された内容です。

No.1093 アパッチ2.0でCGIが???


No.1093 投稿時間:2003年06月22日(Sun) 07:18 投稿者名:nobo33 URL:http://wildflower.homeip.net/~benz/
タイトル:アパッチ2.0でCGIが???

はじめまして nobo33と申します。
WindowsXP(home)とAnHttpdを使い自宅サーバを運用しておりましたが、Linuxに興味を持ち始めたのを機会にAnHttpdを削除し、アパッチ2.0を導入しましたところ、BBS、日記のCGIは動くのですが、カウンターのCGIが動きません?
(AnHttpdではppp/~ooo/aaa/aa.cgiと言う形でCGIを設置しました。アパッチ2.0でもそのまま移行してます。URLが現状のものです。)
自分の手には負えない状況になり何かヒントはないかとネット検索して貴HPにたどり着きました。
ご教示いただけると有難いです。


No.1094 投稿時間:2003年06月22日(Sun) 09:17 投稿者名:おやじ URL:http://www.aconus.com/~oyaji/
タイトル:cgi-binは特別な扱いです。

こんにちは。

> WindowsXP(home)とAnHttpdを使い自宅サーバを運用しておりましたが、Linuxに興味を持ち始めたのを機会にAnHttpdを削除し、アパッチ2.0を導入しましたところ、BBS、日記のCGIは動くのですが、カウンターのCGIが動きません?
> (AnHttpdではppp/~ooo/aaa/aa.cgiと言う形でCGIを設置しました。アパッチ2.0でもそのまま移行してます。URLが現状のものです。)

 皆さんにいろいろ言えるほどの者ではないのですが、トラブルの原因追求はログを見ることからはじめましょう。
Apacheのerror_logに、今回の問題は答えが絶対に見えているはずです。
 実際のドキュメントのディレクトリ構成が見えないのですが、
 ドキュメントルートが、c:\apache2\htdocs、cggi-binディレクトリがc:\apache2\cgi-binとすると
日記やBBSはドキュメントルート配下ですが、カウンタだけは、cgi-binディレクトリに置いてませんか。
 もしそうならHTMLの書き方を変えるか、カウンタ用cgiを置く位置を変えてHTMLも変えてください。
 Apacheでは、cgi-binディレクトリはcgi設置用の特別な扱いになっており、httpd.confの中で

 ScriptAlias /cgi-bin/ "C:/Apache2/cgi-bin/"

のように定義されているところがあるはずです。この設定ですと、URIに/cgi-bin/がでてくると無条件にC:/Apache2/cgi-bin/であるとして、アクセスにいきます。
但し、これは~oooのようなアクセスではない場合です。 ~oooでのアクセスの場合は、こちらが先に処理されてcgi-binの処理はされず、そのままアクセスに行きます。
 つまり、ppp/~ooo/cgi-bin/aaa/aa.cgiとすると、

 c:\apache2\htdocs\ooo\public_html\cgi-bin\aaa\aa.cgi

とユーザoooのドキュメントルート配下にcgi-binがあるものとしてapacheはアクセスします。
 もし、C:\Apache2\cgi-bin以下にアクセスさせたいなら、ppp/cgi-bin/aa.cgiと~ooo無しにしてください。
 これがいやなら、他のcgiと同様にユーザドキュメント配下にaaaというディレクトリ以下を置いて、HTMLでcgi-binの指定を止めることです。

ご質問と直接関係ありませんが、家庭内からプライベートアドレスでアクセスするとHPがうまく見えなくなっていませんか?。
自サイト内のリンクは、ルータにもよりますが、相対表現で書かないと一般的にアクセスに失敗します。

・変更前:<A href="http://wildflower.homeip.net/~benz/aaa/aa.cgi/">

・変更後:<A href="aaa/aacgi/">


No.1095 投稿時間:2003年06月22日(Sun) 09:47 投稿者名:nobo33 URL:http://wildflower.homeip.net/~benz/
タイトル:早速のお返事

ありがとうございます。
アパッチのconfの設定後、BBSと日記は問題なく動きました。
カウンターCGIもBBSと日記と同じ設置方法です。
カウンターCGIだけが動いてないので、confはそのままにして、カウンターCGIをHTMLの/cgi-bin/の中に入れたり、Apache2の/cgi-bin/の中に入れても動きませんでした。(404エラー)
新規にCGIをBBSと日記と同じように設置してみましたが、404エラーとなってしまいます。
confの設定が悪ければBBSも日記も動かないと思われるので自分には???です。

HPは下記のようになってます。
d:\home\benz\pubilc_html\count\count.cgi
d:\home\benz\pubilc_html\sh_bbs2\sh_bbs2.cgi....



>  皆さんにいろいろ言えるほどの者ではないのですが、トラブルの原因追求はログを見ることからはじめましょう。
> Apacheのerror_logに、今回の問題は答えが絶対に見えているはずです。
>  実際のドキュメントのディレクトリ構成が見えないのですが、
>  ドキュメントルートが、c:\apache2\htdocs、cggi-binディレクトリがc:\apache2\cgi-binとすると
> 日記やBBSはドキュメントルート配下ですが、カウンタだけは、cgi-binディレクトリに置いてませんか。
>  もしそうならHTMLの書き方を変えるか、カウンタ用cgiを置く位置を変えてHTMLも変えてください。
>  Apacheでは、cgi-binディレクトリはcgi設置用の特別な扱いになっており、httpd.confの中で
>
>  ScriptAlias /cgi-bin/ "C:/Apache2/cgi-bin/"
>
> のように定義されているところがあるはずです。この設定ですと、URIに/cgi-bin/がでてくると無条件にC:/Apache2/cgi-bin/であるとして、アクセスにいきます。
> 但し、これは~oooのようなアクセスではない場合です。 ~oooでのアクセスの場合は、こちらが先に処理されてcgi-binの処理はされず、そのままアクセスに行きます。
>  つまり、ppp/~ooo/cgi-bin/aaa/aa.cgiとすると、
>
>  c:\apache2\htdocs\ooo\public_html\cgi-bin\aaa\aa.cgi
>
> とユーザoooのドキュメントルート配下にcgi-binがあるものとしてapacheはアクセスします。
>  もし、C:\Apache2\cgi-bin以下にアクセスさせたいなら、ppp/cgi-bin/aa.cgiと~ooo無しにしてください。
>  これがいやなら、他のcgiと同様にユーザドキュメント配下にaaaというディレクトリ以下を置いて、HTMLでcgi-binの指定を止めることです。
>
> ご質問と直接関係ありませんが、家庭内からプライベートアドレスでアクセスするとHPがうまく見えなくなっていませんか?。
> 自サイト内のリンクは、ルータにもよりますが、相対表現で書かないと一般的にアクセスに失敗します。
>
> ・変更前:<A href="http://wildflower.homeip.net/~benz/aaa/aa.cgi/">
>
> ・変更後:<A href="aaa/aacgi/">


No.1097 投稿時間:2003年06月22日(Sun) 10:58 投稿者名:おやじ URL:http://www.aconus.com/~oyaji/
タイトル:おやじの説明が悪いのでしょうか?

> カウンターCGIだけが動いてないので、confはそのままにして、カウンターCGIをHTMLの/cgi-bin/の中に入れたり、Apache2の/cgi-bin/の中に入れても動きませんでした。(404エラー)
> 新規にCGIをBBSと日記と同じように設置してみましたが、404エラーとなってしまいます。

 404の意味はわかりますよね。指定されたところにドキュメントがないので、apacheのerrorログにアクセスに行っているところが出ているはずですので、そこを見れば、ご自分のHTMLが悪いということが分かるはずです。
 今のHTMLでは、

 d:\home\benz\pubilc_html\cgi-bin\count\count.cgi

にアクセスに行きます。下記のとおりです。

> > 但し、これは~oooのようなアクセスではない場合です。 ~oooでのアクセスの場合は、こちらが先に処理されてcgi-binの処理はされず、そのままアクセスに行きます。
> >  つまり、ppp/~ooo/cgi-bin/aaa/aa.cgiとすると、
> >
> >  c:\apache2\htdocs\ooo\public_html\cgi-bin\aaa\aa.cgi
> >
> > とユーザoooのドキュメントルート配下にcgi-binがあるものとしてapacheはアクセスします。
> >  もし、C:\Apache2\cgi-bin以下にアクセスさせたいなら、ppp/cgi-bin/aa.cgiと~ooo無しにしてください。
> >  これがいやなら、他のcgiと同様にユーザドキュメント配下にaaaというディレクトリ以下を置いて、HTMLでcgi-binの指定を止めることです。

上記の説明で分からなければ、cgi等は今のまま、トップページを下記のように書き換えてください。
 
変更前:<img src="http://wildflower.homeip.net/~benz/cgi-bin/counter/counter.cgi">
変更後:<img src="http://wildflower.homeip.net/~benz/counter/counter.cgi">


No.1098 投稿時間:2003年06月22日(Sun) 11:19 投稿者名:nobo33 URL:
タイトル:Re: おやじの説明が悪いのでしょうか?

すみません。
自分ではおやじ様の説明は理解できていると思います。
今、一番最初の状態に<img src="http://wildflower.homeip.net/~benz/counter/counter.cgi">しました。
カンターが見えません。ひょっとしたらCGIは動いていて表示だけされてないかも?
でも他のCGIでは画像も見れるし。
新しくCGIを設置し実行させると404エラーになるし。。。
で???な自分です。
貴重な時間を割いていただき恐縮です。


> > カウンターCGIだけが動いてないので、confはそのままにして、カウンターCGIをHTMLの/cgi-bin/の中に入れたり、Apache2の/cgi-bin/の中に入れても動きませんでした。(404エラー)
> > 新規にCGIをBBSと日記と同じように設置してみましたが、404エラーとなってしまいます。
>
>  404の意味はわかりますよね。指定されたところにドキュメントがないので、apacheのerrorログにアクセスに行っているところが出ているはずですので、そこを見れば、ご自分のHTMLが悪いということが分かるはずです。
>  今のHTMLでは、
>
>  d:\home\benz\pubilc_html\cgi-bin\count\count.cgi
>
> にアクセスに行きます。下記のとおりです。
>
> > > 但し、これは~oooのようなアクセスではない場合です。 ~oooでのアクセスの場合は、こちらが先に処理されてcgi-binの処理はされず、そのままアクセスに行きます。
> > >  つまり、ppp/~ooo/cgi-bin/aaa/aa.cgiとすると、
> > >
> > >  c:\apache2\htdocs\ooo\public_html\cgi-bin\aaa\aa.cgi
> > >
> > > とユーザoooのドキュメントルート配下にcgi-binがあるものとしてapacheはアクセスします。
> > >  もし、C:\Apache2\cgi-bin以下にアクセスさせたいなら、ppp/cgi-bin/aa.cgiと~ooo無しにしてください。
> > >  これがいやなら、他のcgiと同様にユーザドキュメント配下にaaaというディレクトリ以下を置いて、HTMLでcgi-binの指定を止めることです。
>
> 上記の説明で分からなければ、cgi等は今のまま、トップページを下記のように書き換えてください。
>  
> 変更前:<img src="http://wildflower.homeip.net/~benz/cgi-bin/counter/counter.cgi">
> 変更後:<img src="http://wildflower.homeip.net/~benz/counter/counter.cgi">


No.1099 投稿時間:2003年06月22日(Sun) 11:39 投稿者名:おやじ URL:http://www.aconus.com/~oyaji/
タイトル:動作実績のあるHTMLですよね。???

> 今、一番最初の状態に<img src="http://wildflower.homeip.net/~benz/counter/counter.cgi">しました。
> カンターが見えません。ひょっとしたらCGIは動いていて表示だけされてないかも?
> でも他のCGIでは画像も見れるし。
> 新しくCGIを設置し実行させると404エラーになるし。。。

 404のエラーメッセージ全体を載せてみてくれませんか?
 このHTMLは、動いていた実績はあるのですよね? このcgiのコールの仕方がおかしいような気もします。


No.1100 投稿時間:2003年06月22日(Sun) 12:09 投稿者名:nobo33 URL:
タイトル:Re: 動作実績のあるHTMLですよね。???

なんどもすみません。

約6ヶ月間ぐらいWindowsXPとANHTTPDの組み合わせで現在のHTMLを稼動させておりました。
その時には、カウンターは出てましたし、新しくCGIも設置でき稼動できました。
CGIのコール方法は、お借りしたCGIのHPに書いてあった設置方法で行いました。

これから披露宴に行きますが、お酒を飲まなずに帰宅して夜にでも冴えた?頭で?見直してみます。



> > 今、一番最初の状態に<img src="http://wildflower.homeip.net/~benz/counter/counter.cgi">しました。
> > カンターが見えません。ひょっとしたらCGIは動いていて表示だけされてないかも?
> > でも他のCGIでは画像も見れるし。
> > 新しくCGIを設置し実行させると404エラーになるし。。。
>
>  404のエラーメッセージ全体を載せてみてくれませんか?
>  このHTMLは、動いていた実績はあるのですよね? このcgiのコールの仕方がおかしいような気もします。


No.1107 投稿時間:2003年06月22日(Sun) 23:53 投稿者名:nobo33 URL:http://wildflower.homeip.net/~benz/
タイトル:Re^2: 動作実績のあるHTMLですよね。???

こんばんは

カウンターCGIを削除し、新たにCGIを変えましたところエラーとなり実行できませんでした。
BBS、日記、画像のCGIは動いているのに。。。
アパッチを削除し、もう一度アパッチを入れなおしてみます。
また、その結果をご報告あがります。


No.1110 投稿時間:2003年06月24日(Tue) 19:46 投稿者名:nobo33 URL:
タイトル:解決しました。

こんばんは

お世話になっております。
CGIの中の#!/usr/bin/perlを#!/usr/local/bin/perlに変えたらOKになりました。

ご迷惑おかけしました。


No.1112 投稿時間:2003年06月24日(Tue) 20:35 投稿者名:おやじ URL:http://www.aconus.com/~oyaji/
タイトル:良かったですね。

こんばんは

> お世話になっております。
> CGIの中の#!/usr/bin/perlを#!/usr/local/bin/perlに変えたらOKになりました。

 良かったですね。とりあえず、ApacheのCGI関係のTipsをまとめようとしていたところでした。
perlへのパスミスは、おやじのようにWindowsからLinuxに乗り換えるとLinuxがデフォルトで
インストールされるので陥りやすいミス(Windowsは自分でいれるのでミスしにくい)ですね。
 このミスの場合、500のエラーになるはずであり、404とおっしゃっていたので???気が付きませんでした。
今まで動いていたというので、perlをインストールしなおしたのかなと思ったのですが、
どなたかが、AN HTTPDはここが違ってても動くというようなことを言っていたような?


No.1117 投稿時間:2003年06月25日(Wed) 15:14 投稿者名:如月 悠希 URL:http://ariela.ath.cx/
タイトル:AnHTTPdにおけるPerl

AnHTTPdはPerl自身に.cgiをマッピングしているので、1行目のPerlパスは無視されますよ。
私自身はずっとApacheを使ってたので詳しくは知りませんが(^^;


No.1119 投稿時間:2003年06月25日(Wed) 16:02 投稿者名:U-mex URL:
タイトル:Re: 解決しました。

こんにちわ。

> お世話になっております。
> CGIの中の#!/usr/bin/perlを#!/usr/local/bin/perlに変えたらOKになりました。
>
> ご迷惑おかけしました。

なるほど、よくハマるミスですね。
CGIファイル全部を上記に修正するのが大変な時、Linuxの場合では lnでシンボリック
リンクを貼るだけで済むので手間が省けます。



掲示板▲頁先頭