Apache HTTP サーバ バージョン 2.4

| 説明: | CGI スクリプトの実行 | 
|---|---|
| ステータス: | Base | 
| モジュール識別子: | cgi_module | 
| ソースファイル: | mod_cgi.c | 
ハンドラ cgi-script
    が指定されているファイルは CGI スクリプトとして扱われ、
    サーバにより実行され、その出力がクライアントに返されます。
    ファイルは、AddHandler
    ディレクティブに指定された 拡張子を名前に含むか、
    ScriptAlias
    ディレクトリに存在することによりこのハンドラになります。
Apache で CGI スクリプトを使用するためのイントロダクションは、 CGI による動的コンテンツ を参照してください。
Unix でマルチスレッドの MPM を使っている場合は、このモジュールの
    代わりに mod_cgid を使う必要があります。
    ユーザレベルではこの二つのモジュールは本質的には同一です。
後方互換性のため、 MIME タイプが application/x-httpd-cgi 
    であるファイルでも cgi-script ハンドラが有効になります。この特殊な MIME タイプを
    使う方法は非推奨です。
サーバは CGI 規格 で決められている CGI 環境変数を設定します。以下のものは、条件付きで設定されます。
AcceptPathInfo ディレクティブが明示的に off
      に設定されている場合は設定されません。デフォルトの、
      AcceptPathInfo が
      指定されていないときの振る舞いでは、mod_cgi はパス情報
      (URI のスクリプトのファイル名の後に続く /more/path/info) を
      受け付けますが、コアはサーバはパス情報のあるリクエストに
      対して 404 NOT FOUND エラーを返します。AcceptPathInfo
      ディレクティブを
      省略すると、mod_cgi へのリクエストに対して
      On を
      設定したのと同じ効果になります。HostnameLookups
      が on (デフォルトでは off です)
      で、アクセスしているホストのアドレスの DNS
      の逆引きが実際にホスト名を見つけたときにのみ設定されます。IdentityCheck
      が on に設定されていて、アクセスしているホストが
      ident プロトコルをサポートしているときにのみ設定されます。
      これは簡単に偽ることができ、クライアントとサーバの間に
      プロキシがあればまったく役に立たないので、
      この変数の値は信用できないということに注意してください。
      CGI スクリプトのデバッグは、正しく動作していないスクリプトの出力 (標準出力とエラー) を調べることができないために、難しい状態が続いていました。 これらのディレクティブはより詳細なエラーのログ収集を提供します。
設定されているときには、CGI エラーログは適切に動作しないすべての CGI をログ収集します。それぞれの正しく動作しない CGI スクリプトは 複数の行にわたる情報がログ収集されます。最初の 2 行は常に以下の書式です:
        %% [time] request-line
        %% HTTP-status CGI-script-filename
      
エラーが、CGI スクリプトが実行できないというものである場合は、 ログファイルはさらにもう 2 行書かれます:
        %%error
        error-message
      
そうではなく、エラーが正しくないヘッダ情報を返す結果である場合 (スクリプトのバグであることがよくあります)、 以下の情報がログ収集されます:
      %request
      受け取ったすべての HTTP リクエストヘッダ
      (もしあれば) POST や PUT の中身
      %response
      CGI スクリプトにより出力されたすべてのヘッダ
      %stdout
      CGI 標準出力
      %stderr
      CGI 標準エラー
    
(スクリプトが標準出力や標準エラーに何も出力しなかった場合は、 %stdout や %stderr はありません)。
| 説明: | CGI スクリプトのエラーログファイルの場所 | 
|---|---|
| 構文: | ScriptLog file-path | 
| コンテキスト: | サーバ設定ファイル, バーチャルホスト | 
| ステータス: | Base | 
| モジュール: | mod_cgi,mod_cgid | 
ScriptLog ディレクティブは CGI スクリプトの
    エラーログファイルを設定します。ScriptLog が
    設定されていないときは、
    エラーログは作成されません。設定されているときは、CGI
    のエラーはすべて引数として与えられているファイル名にログされます。
    相対パスで指定されているときは、
    ServerRootからの相対パスとして
    扱われます。
ScriptLog logs/cgi_log
このログは子プロセスが実行されているユーザとしてオープンされます。
    すなわち、User ディレクティブで指定された
    ユーザです。これは、スクリプトログが書かれるディレクトリがそのユーザで
    書き込み可能か、スクリプトファイルが手動で作成され、そのユーザで
    書き込み可能になっている必要があるということです。スクリプトログを
    アクセスログなどのためのログディレクトリに書かれるようにしたときは、
    そのディレクトリを子プロセスを実行しているユーザの権限で
    書き込み可能にはしないようにしてください。
スクリプトのログ収集は CGI スクリプトを書くときの デバッグ用の機能として意図されていて、通常のサーバで 常に使用されるようには意図されていないということに注意してください。 速度や効率は最適化されておらず、設計された以外の方法で使用されると セキュリティの問題があるかもしれません。
| 説明: | スクリプトログに記録される PUT や POST リクエストの内容の上限 | 
|---|---|
| 構文: | ScriptLogBuffer bytes | 
| デフォルト: | ScriptLogBuffer 1024 | 
| コンテキスト: | サーバ設定ファイル, バーチャルホスト | 
| ステータス: | Base | 
| モジュール: | mod_cgi,mod_cgid | 
大きな本体を受け取ったときにログファイルがすぐに大きくなりすぎる 問題を避けるために、ファイルにログ収集される PUT と POST の本体の大きさは制限されています。デフォルトでは、1024 バイトまでがログ収集されますが、 このディレクティブはそれを変更することができます。
| 説明: | CGI スクリプトのログファイルの大きさの上限 | 
|---|---|
| 構文: | ScriptLogLength bytes | 
| デフォルト: | ScriptLogLength 10385760 | 
| コンテキスト: | サーバ設定ファイル, バーチャルホスト | 
| ステータス: | Base | 
| モジュール: | mod_cgi,mod_cgid | 
ScriptLogLength は CGI スクリプトのログファイル
    の大きさを制限するために使用することができます。ログファイルは
    CGI のエラー毎に大量の情報 (リクエストのすべてのヘッダ、
    すべての出力)をログしますので、すぐに大きなファイルになります。
    この大きさの制限がないことによる問題を防ぐために、
    このディレクティブを使って CGI のログファイルの
    最大のファイルサイズを設定することができます。
    ファイルがこの大きさを超えた場合は、それ以上は書き込まれません。