CGI-BBS > ウィンドウズ > CGI/SSI > Windows2000serverでSSIが動作しません


カレッヂ
カレッヂ


質問者 RIVA  投稿日 8/5(日) 12:30:14
初心者です。
NT4.0、IIS、ActivePerlの環境からW2Kserver、IIS、ActivePerlへ移行しているのですが、
SSIでのCGIが動作しません。(エラー出力もありません)
<!--#exec cgi="/cgi-bin/usr/analyze/date.cgi" -->

以前の環境では正常に動作していました。フォルダ階層も全く同じです。
なお、他の単独のCGIプログラムは正常に動作しています。
どなたかお知恵をお貸しいただけないでしょうか。よろしくお願いします。

回答者 いのちゃん  [削除]  投稿日 8/5(日) 14:51:14
>NT4.0、IIS、ActivePerlの環境からW2Kserver、IIS、ActivePerlへ移行しているのですが、
>SSIでのCGIが動作しません。(エラー出力もありません)

NTでは動かない(動くのですか?)と言った認識ですが...。
質問者 RIVA  [削除]  投稿日 8/7(火) 09:39:17
ご返答ありがとうございます。

>NTでは動かない(動くのであるか?)と言った認識ですが...。

そうなのですか。
うちのNT4.0ではカウンタ、ログ解析、カレンダー表示等のperlのSSIが
正常に動作していました。
質問の表記に少し間違いがありまして、NT4.0、IIS、ActivePerlとありますが、
正確にはActivePerlと言う前の古いperl for win32がインストールしてあります。
これがSSIを動作させてくれているのでしょうかね?
設定、ソースコードの問題ではなく、OS、ActivePerlの仕様で動作しないのであれば
あきらめるしかないですね。
回答者 いのちゃん  [削除]  投稿日 8/7(火) 10:32:46
http://www.rescue.ne.jp/cgi/beginners/
(初心者向けミニ講座)

その際、サーバの環境はUNIXかどうか確認してください。既に開発環境でご案内の通り、当サイトのCGIプログラムはUNIX上によるPerl言語にて動作させるように設計していますので、もしWin系サーバなど他のOSを使っているサーバではご利用いただけません。正しく言えば、動かないものもあるということになります。改造すれば動くとは思いますが、当方ではWin系サーバの知識がなく対応版を提供することができませんので、NTサーバへの対応についての参考サイト などを参考にされ、ご自身で対応していただくことになります。

http://www.rescue.ne.jp/cgi/link/
(NTサーバへの対応についての参考サイト)

上記の事柄によりNTは動かないと言った認識を申し上げてありましたがその対応も
あるようですので一度調べて見て下さい。(^_^)
回答者 まさ  [削除]  投稿日 8/7(火) 11:55:27
NTのIISでもSSIは動きますよ。

ただperl for win32はActivePerlに変更した方がいいような気がします。
またHttpdにIISを使わずにApacheを使うのが最近流行っている(?)みたいですね。
わたしも以前NTを使っていましたけどその時もApache使ってました。
IISはNT独自の仕様ですからね。ApacheならUnix等にも幅広く使われているHttpdなので
安心です。ただ、ASPなど使いたいのであればIISですね。

で、問題のSSIが正常に動かないとの事ですが、
<!--#exec cgi="/cgi-bin/usr/analyze/date.cgi" -->
これを
<!--#exec cgi="c:\foo\cgi-bin\usr\analyze\date.cgi" -->
と絶対パスで書いて、「/」を使わずに「\」を使うとどうなりますか?

質問者 RIVA  [削除]  投稿日 8/9(木) 12:09:39
いのちゃん、まささんアドバイスありがとうございます。

報告遅れました。
まささんのいわれるように、絶対パスで実行してみましたが、
やはり何も出力されませんでした。
また念のために、2度Windows2000のOSからクリーンインストール
し、最新のActiveperlをインストールしてみましたが、
結果は同じで、CGIとしては動作してもSSIとしては動作しません。

私の場合、ASPも使用しているのでどうしてもIISとなるので
とりあえず新しいマシンは一度、NT4.0+最新Activeperlを
インストールして動作確認後、古いNT4.0サーバーを最新
Activeperlへ移行、そして再度新しいマシンでWindows2000Server
に挑戦してみようかと思います。結果をまた報告いたします。
回答者 いのちゃん  [削除]  投稿日 8/9(木) 13:12:36
NTや2000の0Sをご使用の方老婆心ながら当方のプロバイダーより下記の
メールを受信しておりますのでこの場をお借りしてウイルスの情報をば...。

To: <all-user@kcb-net.ne.jp>
Subject: KCB-NET_ModemDATAランプ点滅について

KCB-NETセキュリティ情報 *************************

先般国内外でCodeRedWormが猛威をふるっております。
このワームは、月の1日から19日までが繁殖期で
20日から27日が攻撃期にあたり、現在、繁殖期です。
この影響でブロードキャストにて繁殖する相手を探す為
DATAランプが点滅している模様です。
このワームに感染するのは、WindowsNTもしくは2000で
該当するマシンを接続しているユーザ様は
至急対策をお願いする次第です。
対策方法とCodeRedについては以下のサイトにあります。

http://www.microsoft.com/japan/technet/security/codealrt.asp
(Microsoft社のサイト)

http://www.trendmicro.co.jp/virusinfo/important3.htm
(Trendmicro社のサイト)

http://www.symantec.com/region/jp/sarcj/data/c/codered.v3.html
(Symantec社のサイト)

*********************** 高知ケーブルテレビ株式会社
回答者 まさ  [削除]  投稿日 8/9(木) 16:10:00
基本的なIISの設定はIIS4.0と5.0とではさほどかわっていませんけどね。

一度ブラウザーのソースでSSIの部分の記述を確認してみて下さい。
表示がそのまま残っているようなら、IISでSSIが許可されていません。
ブランクならば何らかの形でSSIが動いています。簡単なSSIを動かしてみて動作するか
確認してみて下さい。そこから順に本当のスクリプトに近づけてみて下さい。

>また念のために、2度Windows2000のOSからクリーンインストール
>し、最新のActiveperlをインストールしてみましたが、
>結果は同じで、CGIとしては動作してもSSIとしては動作しません。

これは恐らく関係ないと思います。
わたしはIISの設定だと思います。どこをどうすればいいのか今手元に2000Serverがない
ので何とも言えませんが、はっきりしているのはIISの設定です。もう一度確認してみて
下さい。

質問者 RIVA  [削除]  投稿日 8/14(火) 15:12:42
Windows2000ServerでやっとSSIが動作しました。

Windous4.ONTServer+IIS+Activeperl最新版という環境では
やはり問題なく動作しました。
そこで再度Windows2000Serverでトライしました。
まささんのアドバイスの通り簡単なスクリプトで確認していきました。
そして、print"Content-type=text/html\n\n";
の一文を入れたところ問題なく動作しました。(よかった!)

NT4.0の環境ではこの一文が、そのままテキストとして出力されたことが
あったので無効にしていました。そしてこの1文があっても無くても
ほぼ正常に動作していました。しかし2000では必要なようです。
あと、"./"、"../"のようなパスの指定は2000ではうまく通りませんでした。
まささん、いのちゃん、アドバイス大変ありがとうございました。

いのちゃん>当方イントラネット上のサーバーですが早速対応中です。
情報ありがとうございました。
回答者 南場  [削除]  投稿日 10/9(水) 15:08:18
はじめての投稿です。どうか宜しくお願いいたします。

windows 2000 server(英語版)を使っています。
SSIでコマンドを実行しようと思い

<!--#exe cmd="cmd.exe /c dir"-->

としても、次のエラーがでてしまいます、
The CMD option is not enable for #EXE calls.

これは、どうしたらよいのでしょうか。
どなたか教えていただけないでしょうか。
回答者 しあわせのツボ  [削除]  投稿日 10/9(水) 16:02:45
#exeでなく#execです。
回答者 南場  [削除]  投稿日 10/9(水) 17:46:46
しあわせのツボ 様 、そして参加者の方々

アドバイスありがとうございます。スペル間違いをして申し訳ありません。
しかし、execに直しても結果は同じです。

Perlのスクリプト(sst_ex.pl)で
<!--#exec cmd="sst_ex.pl"-->


(くだらない質問で申し訳ありません)Perlスクリプトの1行目は、windowsの場合は
どのように書いたらいいのですか?

[ssi_ex.pl]
#!?????
print "こえはPerlスクリプトです"

申し訳ありませんが、お教えいただけないでしょうか。
回答者 しあわせのツボ  [削除]  投稿日 10/9(水) 18:11:01
すみませんが、このトピックの趣旨から外れているので、
新しい質問として再度投稿していただけますか。
そちらでお答えします。
回答者 しあわせのツボ  [削除]  投稿日 10/9(水) 18:49:17
http://www.rescue.ne.jp/CGI-BBS/windows/win_cgi/20021009184122.shtml

返信(回答)する


Web裏技