2025年03月26日
Tweet
CentOS 6 で動作していた CGI ファイルがあります。
様々な理由でこれをWindows Server 2019 でそのまま動かしたいとのことでした。
うーん。なんか無理そう。
そう思ったのが最初でした。
試してみたところ、以下の方法で動作するようでした。
※簡単なPerlプログラムだったのかもしれません。もしくは素直な構成だったとか??
デフォルトの状態では、IISから502エラーが返されていました。
※デフォルトの状態とは、エクスプローラーから、IUSRユーザーに権限を与えています。同様にIIS_IUSRSにも権限を与えています。
また、IISマネージャーから拡張子cgiはperlで実行されるようにハンドラーマッピングの設定をしています。
以下の設定をすることで、まずは動作するようになりました。
・アプリケーションプールの設定
Default Web Site に設定されている場所にCGIが保存されているフォルダを配置すると、IISマネージャーにも表示されるようになります。
IISマネージャーに表示されているこのフォルダを右クリックすると、アプリケーションへの変換のメニューが出てきます。
アプリケーションプールの名前を設定し、有効化します。
アプリケーション化することで、cgiが動くようになりました。
その他IISの機能をインストールするときに、エラートレースを入れると、エラーの詳細を取得することができるようになります。
この機能のおかげで、 perl で symlink を利用していたことが原因でエラーになっていたことを突き止めることができました。

様々な理由でこれをWindows Server 2019 でそのまま動かしたいとのことでした。
うーん。なんか無理そう。
そう思ったのが最初でした。
試してみたところ、以下の方法で動作するようでした。
※簡単なPerlプログラムだったのかもしれません。もしくは素直な構成だったとか??
デフォルトの状態では、IISから502エラーが返されていました。
※デフォルトの状態とは、エクスプローラーから、IUSRユーザーに権限を与えています。同様にIIS_IUSRSにも権限を与えています。
また、IISマネージャーから拡張子cgiはperlで実行されるようにハンドラーマッピングの設定をしています。
以下の設定をすることで、まずは動作するようになりました。
・アプリケーションプールの設定
Default Web Site に設定されている場所にCGIが保存されているフォルダを配置すると、IISマネージャーにも表示されるようになります。
IISマネージャーに表示されているこのフォルダを右クリックすると、アプリケーションへの変換のメニューが出てきます。
アプリケーションプールの名前を設定し、有効化します。
アプリケーション化することで、cgiが動くようになりました。
その他IISの機能をインストールするときに、エラートレースを入れると、エラーの詳細を取得することができるようになります。
この機能のおかげで、 perl で symlink を利用していたことが原因でエラーになっていたことを突き止めることができました。
stock_value at 13:40│Comments(0)│技術