ページの先頭行へ戻る
Interstage Application Server V13.1.0 Interstage HTTP Server 2.4運用ガイド
FUJITSU Software

3.27 CGIプログラム実行許可の設定

ScriptAliasディレクティブやAddHandlerディレクティブなどを設定して、CGIプログラムの実行を許可します。
ディレクトリ/拡張子を設定してCGIプログラムの実行を許可する設定例を以下に示します。

注意

  • CGIプログラムに対するリクエストを受信すると、Windows(R)の場合はデーモンプロセス、Solaris/Linuxの場合はCGIデーモンプロセスから新たにCGI用プロセスを生成し、そのプロセス上でCGIプログラムを実行します。なお、CGIプログラムが終了すると、CGI用プロセスも終了します。

  • CGIプログラムから標準エラー出力されたメッセージは、エラーログ(ログレベル「error」)に出力されます。


  • ScriptAliasディレクティブまたはScriptAliasMatchディレクティブのディレクトリパスにネットワーク上の共有フォルダを指定する場合は、UNCパス(//コンテンツ格納先のホスト名/共有フォルダ名/)で指定してください。なお、ネットワーク上の共有資源にアクセスするためには、事前にWebサーバおよび共有資源を格納するマシンの設定を行う必要があります。詳細については、「3.30 ネットワーク上の共有資源へのアクセス設定 」を参照してください。


  • CGIプログラムは、標準入力からリクエストメッセージ本文を受信してください。受信するリクエストメッセージ本文のサイズは、環境変数CONTENT_LENGTHに設定されているサイズです。
    リクエストメッセージ本文を受信しない場合は、エラーログに以下のメッセージが出力されて、レスポンスが遅延する可能性があります。

    (104)Connection reset by peer: ap_content_length_filter: apr_bucket_read() failed

  • CGIプログラムには、Userディレクティブで設定したユーザ、またはGroupディレクティブで設定したグループの実行権限を設定する必要があります。

CGIプログラム用のディレクトリを作成する場合


CGIプログラム用のディレクトリとしてディレクトリ「C:\Interstage\F3FMahs\cgi-bin」を設定して、Webブラウザ(クライアント)から「/cgi-bin」配下のURLが指定された際に、ディレクトリ「C:\Interstage\F3FMahs\cgi-bin」配下のファイルをCGIプログラムとして動作させる場合

LoadModule cgi_module "C:/Interstage/F3FMahs/modules/mod_cgi.so"

ScriptAlias /cgi-bin/ "C:/Interstage/F3FMahs/cgi-bin/"

CGIプログラム用のディレクトリとしてネットワーク上の共有フォルダ(UNCパス)「//hostname/directory」(コンテンツ格納先のホスト「hostname」、共有フォルダ「directory」)を設定して、Webブラウザ(クライアント)から「/cgi-bin」配下のURLが指定された際に、ネットワーク上の共有フォルダ「//hostname/directory」配下のファイルをCGIプログラムとして動作させる場合

LoadModule cgi_module "C:/Interstage/F3FMahs/modules/mod_cgi.so"

ScriptAlias /cgi-bin/ "//hostname/directory/"
<Directory "//hostname/directory">
     Require all granted
</Directory>


CGIプログラム用のディレクトリとしてディレクトリ「/opt/FJSVahs/cgi-bin」を設定して、Webブラウザ(クライアント)から「/cgi-bin」配下のURLが指定された際に、ディレクトリ「/opt/FJSVahs/cgi-bin」配下のファイルをCGIプログラムとして動作させる場合

LoadModule cgid_module "/opt/FJSVahs/modules/mod_cgid.so"

ScriptAlias /cgi-bin/ "/opt/FJSVahs/cgi-bin/"

拡張子によりCGIプログラムを特定する場合


CGIプログラム用の拡張子として拡張子「cgi」を設定して、Webブラウザ(クライアント)からファイル名の拡張子「cgi」のURLが指定された際に、そのファイルをCGIプログラムとして動作させる場合

LoadModule cgi_module "C:/Interstage/F3FMahs/modules/mod_cgi.so"

<Directory C:/Interstage/F3FMahs/htdocs>
    Options    ExecCGI
    AddHandler cgi-script .cgi
</Directory>


CGIプログラム用の拡張子として拡張子「cgi」を設定して、Webブラウザ(クライアント)からファイル名の拡張子「cgi」のURLが指定された際に、そのファイルをCGIプログラムとして動作させる場合

LoadModule cgid_module "/opt/FJSVahs/modules/mod_cgid.so"

<Directory /opt/FJSVahs/htdocs>
    Options    ExecCGI
    AddHandler cgi-script .cgi
</Directory>

参考

関連ディレクティブ

  • AddHandler

  • <Directory>

  • LoadModule

  • Options

  • ScriptAlias

  • SetHandler

  • Require