投稿日:2002年06月21日 作成鷹の巣

No.3795 AN HTTPDで、CGIのプログラムを特定のフォルダのみ(たとえばcgi-bin)で動かすことは可能なのでしょうか?



AN HTTPDで、CGIのプログラムを特定のフォルダのみ(たとえばcgi-bin)で動かすことは可能なのでしょうか?

No.3795 投稿時間:2002年06月21日(Fri) 02:13 投稿者名:yoshi URL:

皆さんこんにちわです。
CGIのプログラムを特定のフォルダのみ(たとえばcgi-bin)で動かすことは可能なのでしょうか?
HP内をくまなく探したつもりですが説明されていましたら申し訳ありません^^;
何しろ鯖初心者ですのでほとんどがHPに解説してあった設定にしているつもりです。
私の環境はW2K+AN HTTPDです。
どうかアドバイスよろしくお願いします


実行パスを指定して、「般」のチェックをはずせば可能です。

No.3803 投稿時間:2002年06月21日(Fri) 11:35 投稿者名:こぶど URL:

ANHTTPDの設定でできます。
実行パスを指定してあげて、「般」のチェックをはずせば、実行パス
でしかじっこうできません。


追記。

No.3807 投稿時間:2002年06月21日(Fri) 14:10 投稿者名:鷹の巣 URL:http://sakaguch.com/

>> CGIのプログラムを特定のフォルダのみ(たとえばcgi-bin)で動かすことは可能なのでしょうか?
>> 私の環境はW2K+AN HTTPDです。

> ANHTTPDの設定でできます。
> 実行パスを指定してあげて、「般」のチェックをはずせば、実行パス
> でしかじっこうできません。

AN HTTPDをインストールしたフォルダにhttpd.exeと共にreadme.htmlというファイルがありますので、用語の意味をじっくり読んで下さい。

------------------------------------ AN HTTPDのreadme.htmlよりの引用開始 ------------------------------------
拡張子、実行プログラム: 拡張子別にその実行プログラムを指定できます。

先頭のチェックをはずすとその拡張子については実行しません。
拡張子は . (ドット)から始めます。複数の拡張子を , (カンマ)で並べることができます。
実行プログラムでは、.exe, bat など Windowsで実行可能な拡張子に対しては、"-- self --"と指定してください。 PerlIS.dll など ISAPI の DLL を使用する時はここに PerlIS.dllのパスを指定してください。
般の欄にチェックがあると、一般パスでも実行します。一般パスとは、/cgi-bin などのCGI実行パス以外のパスです。実行パスは「エイリアス」で指定してください。
#!の欄にチェックがあると、スクリプトの先頭の #! の行に指定した実行ファイルを使ってスクリプトを実行します。たとえば、#! C:/Perl/bin/perl.exe なら、C:\Perl\bin\perl.exe を使います。 #! PerlIS.dll などと "PerlIS"を含むファイルを指定すると PerlIS.dll(ISAPI)を使用します。 パスの区切り文字は、'/' または '\' です。
PTの欄は、PATH_TRANSLATED に実行ファイル名を入れるかどうかを指定します。古いバージョンの PerlIS.dll や、php.exe、PHP4のDLLなどではチェックが必要です。
EXの欄にチェックがあると、スクリプトか exeファイルかを調べてから実行します。
------------------------------------ AN HTTPDのreadme.htmlよりの引用終了 ------------------------------------

これを読むと解りますが、Webサーバーの全てのドキュメントルート下でCGIが実行可能なのは、こぶとさんの仰っている様に
一般パスにチェックが入っているからです。

「/cgi-bin などのCGI実行パスは「エイリアス」で指定してください。」ということになっていますので、
http://www.example.com/cgi-bin/test.cgiを実行する場合は、ドキュメントルートの下のcgi-binのフォルダの中にtest.cgiを
入れることではありません。
「エイリアス」で指定した/cgi-bin などのCGI実行パスのフォルダの中にtest.cgiを入れて下さい。


ありがとうございました

No.3812 投稿時間:2002年06月22日(Sat) 00:27 投稿者名:yoshi URL:

ご指摘通りに設定しましたら無事に実行できました。
ありがとうございました
申し訳ありませんがもう一つご質問があります
サーバースペースを友人に貸したいのですがディレクトリなどは「エイリアス」の一般パスで設定すると思われますが
今回のように[cgi-bin]を友人のスペースでも制限する際にはどういった設定を行えばよろいのでしょうか?
現在ではすでに「cgi-bin」の実行パスは私のローカルパスになってしまっています。
たとえば友人のアカウントを「friend」・アクセスされた際に表示するトップのためのフォルダを「public_html」とした場合
一般パスで「/~friend」のローカルパスを「~~\public_html」、
cgiのためのファイル置き場を「public_html\cgi-bin」としたい場合friendでcgiの制限をかける際には
実行バスのローカルパスはどうしたらよいのでしょう?

長々と理解に苦しむような文を書き込ませていただき申し訳ありません


|目次|掲示板|過去ログ目次|▲頁先頭|