• 締切済み

Perlの日記プログラムがIIS+ActivePerlで動かない

ひとに見せるためでなく書いていた日記があり、これまで無料のCGI可サーバを使っていたのですが、今度からCGI不可になるということで、自宅のマシン(Win2K)にIIS+ActivePerlを導入して動作させようとしています。 過去データの表示はできるようになったのですが書き込みができません。エラー表示もなくタイムアウトになります。 無料サーバを使っていたときはFTPでファイルをアップロードしたときにパーミッションを変えたりしたのですが同じようにFTPソフトで変更しようとしたらWindowsではパーミッションを変更できない、と出ます。 このプログラムはIIS+ActivePerl上では動かせないのでしょうか。それとも何か設定を変えれば書き込みできるようになるのでしょうか。なお、日記CGIはnickyを使っています。 基礎的な知識がなく何が問題なのかアタリもつけられません。「ここらへん疑ってみ」などのアドバイスがありましたら教えてください。よろしくお願いします

みんなの回答

noname#62235
noname#62235
回答No.2

WindowsXPではファイルにもアクセス権が設定されるので、フォルダのアクセス権を変更しただけではファイルのアクセス権が変更されていないのかもしれません。 いったん、CGIを削除し、フォルダを作成してフォルダのアクセス権を設定し、その上でインストールしなおしたら直るかもしれません。 ちなみに、ユーザー名などはIUSER_コンピュータ名でかまわないと思います。 「簡易のセキュリティ設定を使用する」はSP2でないと現れないと思います。いずれにせよ「セキュリティ」タブがあるなら関係ありません。

golime
質問者

お礼

再度の回答ありがとうございました。試してみたのですがうまくいかず、あちこち調べたところこのcgiはIIS6でないと動作しないなどの情報もあり、IIS5で動作させるのはあきらめApache+ActivePerlで動作させることにしました。 しかし教えていただいたことでわからないなりにもIIS学習への足がかりになったように思います。ありがとうございました。

noname#62235
noname#62235
回答No.1

IISで実行されるCGIのユーザーは「INET_USR_コンピュータ名」というユーザーになります。 CGIスクリプトが書き込みを行うディレクトリは、このユーザーに書き込み権限が与えられている必要があります(FTPではできません)。 Explolerでフォルダを右クリックし、[セキュリティ]タブを開きアクセス権の設定を行います。 なお、上記のセキュリティ設定を行うためには、[ツール]→[フォルダオプション]の[表示]の設定で、「簡易のセキュリティ管理を行う(推奨)」のチェックをはずしておく必要があります。

golime
質問者

補足

回答ありがとうございます!書き込み権限の設定が必要だったのですね。さっそくやってみました。 ・・・しかしこれだけではうまく行きませんでした。 INET_USR_コンピュータ名というのが見つからなくてIUSR_コンピュータ名というのがあったので、かわりにそれに書き込みアクセス権を与えてみました(自分でINET_USR_~というアカウントを作らないといけないでしょうか)。 nickyでは、日記データはデータフォルダ(サブフォルダ)に保存されるので、サブフォルダにも上記の書き込み権限の設定をしてみましたがダメでした。 あと、簡易のセキュリティ管理を行う(推奨)という項目が見つかりませんでした・・・サービスパックのバージョンの違いとかでしょうか・・・ ちなみにですが、nickyだと初期設定やヘッダフッタなどの変更はcgi自体の中に保存されますが、cgi自体に保存されるものは変更できてます。しかしデータフォルダ内の過去データの編集保存や新規データの保存は(1記事1ファイル、テキスト形式、拡張子.nky)できないです。 どこかひっかかりそうなところありますでしょうか・・・?

関連するQ&A