ScriptAliasディレクティブやAddHandlerディレクティブなどを設定して、CGIプログラムの実行を許可します。
ディレクトリ/拡張子を設定してCGIプログラムの実行を許可する設定例を以下に示します。
CGIプログラム用のディレクトリを作成する場合
CGIプログラム用のディレクトリを設定し、そのディレクトリ配下に格納されたファイルをCGIプログラムとして実行します。
拡張子によりCGIプログラムを特定する場合
CGIプログラム用の拡張子を設定し、その拡張子のファイルをCGIプログラムとして実行します。
注意
CGIプログラムに対するリクエストを受信すると、Windows(R)の場合はデーモンプロセス、Solaris/Linuxの場合はCGIデーモンプロセスから新たにCGI用プロセスを生成し、そのプロセス上でCGIプログラムを実行します。なお、CGIプログラムが終了すると、CGI用プロセスも終了します。
CGIプログラムから標準エラー出力されたメッセージは、エラーログ(ログレベル「error」)に出力されます。
CGIプログラムは、標準入力からリクエストメッセージ本文を受信してください。受信するリクエストメッセージ本文のサイズは、環境変数CONTENT_LENGTHに設定されているサイズです。
リクエストメッセージ本文を受信しない場合は、エラーログに以下のメッセージが出力されて、レスポンスが遅延する可能性があります。
(104)Connection reset by peer: ap_content_length_filter: apr_bucket_read() failed
CGIプログラムには、Userディレクティブで設定したユーザ、またはGroupディレクティブで設定したグループの実行権限を設定する必要があります。
■CGIプログラム用のディレクトリを作成する場合
例
指定したディレクトリ「C:\Interstage\F3FMahs\cgi-bin」をCGIプログラム用のディレクトリとして設定し、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/"
指定したディレクトリ「/opt/FJSVahs/cgi-bin」をCGIプログラム用のディレクトリとして設定し、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