NT4.0/IIS3.0でCGIを動かすには?

[上に] [前に] [次に]
tera.txt [E-Mail] 2000/03/23(木) 10:37:26
先日はありがとうございました。

それで実際にサーバで動かそうと四苦八苦してます。
とほほさんの「NTでのCGIについて」を参考にやってますが、
ユーザー権限の部分がイマイチわかりません(具体的には(4)の部分)。どうゆうことなのでしょうか?

そんなに気にする部分ではないようにも思いますが、
理解していないとこれから先何かあったら対応できないように
思いますので何卒ご教授ください。

またできればActivePerlとPerl for Win32の違いも
教えていただけるとありがたいです。

それではよろしくお願いします。

2000/03/23(木) 23:10:17
>ユーザー権限の部分がイマイチわかりません(具体的には(4)の部分)。どうゆうことなのでしょうか?

そのままです。
インターネットサービスマネージャで見ればわかるのではないでしょうか。

hiro-kim 2000/03/24(金) 13:12:02
>とほほさんの「NTでのCGIについて」を参考にやってますが、
>ユーザー権限の部分がイマイチわかりません(具体的には(4)の部分)
http://www.tohoho-web.com/wwwcgi4.htm#WinNT

hiro-kim 1999/11/10(水) 16:33:27
../199911/99110038.htm

>ActivePerlとPerl for Win32の違い

VBScriptやJavaScriptを,Webサーバ上やWebブラウザ内ではなくWindowsローカルコンピュータで実行する技術として WSH というのがあるのですけれど,
http://www.asia.microsoft.com/japan/developer/scripting/default.htm
Perlをそういう方法でも使えるような拡張が,ActivePerlにはなされています。これは拡張機能の一例です。

古いPerl for Win32はモジュールを個別に公開していましたが,新しいActivePerl統合パッケージはその他いろいろなモジュールを同梱して,このパッケージを入手すればPerl環境がすべてインストールされるようになっています。

tera.txt [E-Mail] 2000/03/24(金) 14:39:54
誰さん、hiro-kimさんありがとうございます。

hiro-kimさんの指摘された過去の発言で、(4)の部分は
わかったのですが、とほほさんのご用意された簡単なCGIすら
動きませんでした。
perlプログラムのアイコンがperlのものになっていたので
インストールはちゃんとされてると思いますし、
$chdir ("CGIスクリプトを設置したフォルダ名)";も
CGIに組み込んだのですが、駄目でした。
レジストリの変更もできていると思います。

アクセス権の変更はどんなCGIでもやるんですよね、NTの場合は。
[プロパティ]→[セキュリティ]タブ→[アクセス権]で
IUSER_マシン名(IIS3.0の場合は通常Guestらしい)で変更ですよね?

なんだか少しケンカ越しになってしまいましたが(笑)、
ご存知の方、よろしくお願いします。

hiro-kim 2000/03/24(金) 19:23:49
hiro-kim 1999/07/15(木) 12:49:38
そのディレクトリにはWebでの実行許可が与えられていますよね?
../199907/99070142.htm

hiro-kim 1999/11/29(月) 15:11:44
ただ一例,すべてまとめて,具体的に提示してくれればよいのです。
../199911/99110368.htm

tera.txt [E-Mail] 2000/03/28(火) 10:18:30
hiro-kimさんありがとうございます。ご指摘の発言読みました。

まとめるとCGIが動かない(動いていない)状況です。

環境は前述のNT4.0/IIS3.0でActivePerl5.2.2(今DLできるヴァージョン)で、Perlのある場所は

 \C:
    \Perl
       \bin
          \perl.exe

です。

それで、とほほさんのtest1.cgiをhttp://localhost/test1.cgi
実行すると「\!/usr/local/bin/perl  print "Content-type: text/html\n";  print "\n"; ...以下略」という風に表示されて
しまいます。

実行権は、wwwrootは 「Guest」でフルコントロール
     test1.cgiは「Guest」でフルコントロール
                        になってます。
(プロパティ→セキュリティ→アクセス権で設定)

インターネットサービスマネージャでの設定は、 
 
wwwroot→  読み取り・実行

になってます。
(wwwサーバ→[ディレクトリ]タブ→プロパティの編集で設定)

何か他に設定しなければならないところがあれば、
今のところは多分デフォルトになってると思います。

何分前の管理者からちゃんと引継ぎができてないのと僕がはじめてweb管理者になるのとが重なって
状況がイマイチ把握出来てない上での相談になってしまいました。
みなさんにご迷惑をおかけしてますが、どうぞひとつご教授ください。
よろしくお願いします。

hiro-kim 2000/03/28(火) 10:55:59
IISがWWWサービスで使用する匿名ユーザアカウント:IUSER_ComputerNameは Guestアカウントとは別物です。管理ツール→ドメインユーザマネージャでGuestアカウントを無効にしていても,そのコンピュータをWebサーバとして運用できます。Webブラウザで匿名httpアクセスしてくるユーザは,IUSER_ComputerNameでローカルログオンしているわけです。
C:\Inetpub\wwwroot 以下に設定するNTFSファイルアクセス権は,Guestではなく IUSER_ComputerNameに対して与えます。IISインストール直後のdefault設定では「Everyone:フルコントロール」になっています。

インターネットサービスマネージャの設定は「読み取り・実行」で正しいです。

tera.txt [E-Mail] 2000/03/28(火) 13:11:01
hiro-kimさん、早々のご返答ありがとうございます。

そこで質問なんですが...

@今のアカウントにIUSER_ComputerNameが無い場合は新たにアカウントを作って、権限などを割り振るのですか?それともEveryoneアカウントで権限を設定するのですか?
ANTFSってなんですか?

よろしく御返答お願いします。

あと、Perlの階層(\!/usr/local/bin/perl)がおかしいように
思うのですが、どうでしょうか?
Perlの今の位置は上述のとおり

 \C:
    \Perl
       \bin
          \perl.exe

です。
こちらもよろしくお願いします。

松下 2000/03/28(火) 13:23:59
http://netnews.to/tec/iis4perl.htm
の画面の一番下は参考になりませんか?

tera.txt [E-Mail] 2000/03/28(火) 13:50:54
松下さん、ありがとうございます。

実はそのページ、以前にプリントアウトしてありまして(笑)
参考にさせてもらっていたのですが、いかんせんIISのヴァージョンが
違うのと、僕がwindowsに対する知識がほぼ無いのとで
できればIIS3.0の参考資料が欲しくてここで発言させてもらっています。
IISのヴァージョンアップは、会社のサーバなので僕の独断ではもちろん決められませんし、
いろいろ調べていたら4.0は結構セキュリティーホールがあるそうなので、上司には提案してません。

やはり僕にはアクセス権のところが理解できません。
アクセス権が無くても動作確認できるのでしょうか?
どの(どこの)アクセス権をどう設定すればよいのでしょうか?

以上よろしくご返答お待ちしてます。

hiro-kim 2000/03/28(火) 15:31:17
そのIISサーバに対してWebブラウザからhttpアクセスすると正常にWebページが送られてきており,

インターネットサービスマネージャ,で
 WWWサービス,を右クリック
  サービスプロパティ
   [サービス]タブ,の
    匿名ログオンユーザ名
に,アカウント名:IUSER_ComputerName が表示されているのなら,

IUSER_ComputerNameアカウントはすでに存在しています。

エクスプローラ,で
 C:\Inetpub\wwwroot,を右クリック
  プロパティ
   [セキュリティ]タブ,の
    アクセス権
     追加,にて
(1) 「ドメインまたはコンピュータ」でそのIISサーバを指すコンピュータ名あるいはドメイン名を正しく選び,
(2) 「ユーザの表示」ボタンを押す

という操作をしないとユーザアカウントは表示されません。(2)をおこなわない状態で表示されるのはグループアカウントだけです。

>(1)Everyoneアカウントで権限を設定するのですか?
>(2)NTFSってなんですか?

Windows NT 4.0の入門・解説書を読んでください。

>Perlの階層(\!/usr/local/bin/perl)がおかしいように思うのですが

とほほのWWW入門 > とほほのCGI入門 > WindowsでCGIを動かすには?
http://www.tohoho-web.com/wwwcgi6.htm
の「注意する点」を参照。

tera.txt [E-Mail] 2000/03/28(火) 16:50:36
hiro-kimさん何度もありがとうございます。

えー、ご指摘の方法でIUSER_ComputerNameを調べたところ
前の管理者の名前になっていました。

これはその管理者に問い合わせるしかないのでしょうか?
パスが設定されていたので、恐くていじっていません。

NTFSやEveryoneアカウントについて、用語の意味は
わかりました。それでwwwroot以下の権限の設定は、
[wwwrootディレクトリ]のプロパティ→セキュリティ→アクセス権で
行えばいいのでしょうか?

初心者でホント申し訳ありませんが、もう少しお付き合いください。
よろしくお願いします。

hiro-kim 2000/03/28(火) 17:17:05
前任者の方は,ちょっとユニークな設定をなさる方なんですね(微笑)
では今後,ドメインユーザマネージャでその前任者アカウントを削除することのないようにしてください。そのパスワードも「無期限」かつ「変更できない」よう設定します。前任者が異動になったとしても,今後はWebクライアントがそのアカウントを使い続けるわけですから。

>[wwwrootディレクトリ]のプロパティ→セキュリティ→アクセス権で
>行えばいいのでしょうか?

はい。その前任者アカウントあるいはEveryoneアカウント,権限の設定はお好きな方に対しておこなってください。

tera.txt [E-Mail] 2000/03/29(水) 10:59:49
[[解決]]
>hiro-kimさん

何度もご指導ありがとうございました。
一応とほほさんのtest1.cgiが動きましたので、
ひとまずここでの発言は終わりにしようと思います。
あとは直接とほほさんにメールします。

[上に] [前に] [次に]