e50dced6f51b101fcf63e1b51ebf771287870107yoshiki<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki<?xml-stylesheet type="text/xsl" href="/style/manual.ja.xsl"?>
353bea4bd4f2d567232d91686f797810bc176f2etakashi<!-- English Revision: 1330964 -->
031b91a62d25106ae69d4693475c79618dd5e884fielding Licensed to the Apache Software Foundation (ASF) under one or more
031b91a62d25106ae69d4693475c79618dd5e884fielding contributor license agreements. See the NOTICE file distributed with
031b91a62d25106ae69d4693475c79618dd5e884fielding this work for additional information regarding copyright ownership.
031b91a62d25106ae69d4693475c79618dd5e884fielding The ASF licenses this file to You under the Apache License, Version 2.0
031b91a62d25106ae69d4693475c79618dd5e884fielding (the "License"); you may not use this file except in compliance with
031b91a62d25106ae69d4693475c79618dd5e884fielding the License. You may obtain a copy of the License at
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd Unless required by applicable law or agreed to in writing, software
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd distributed under the License is distributed on an "AS IS" BASIS,
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd See the License for the specific language governing permissions and
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd limitations under the License.
208651a016b098f4fa1f6279559f104d70f1632dtakashi が指定されているファイルは CGI スクリプトとして扱われ、
208651a016b098f4fa1f6279559f104d70f1632dtakashi サーバにより実行され、その出力がクライアントに返されます。
a695049cbf9160d334b2caf9d3b8862ed9710ff2kawai ファイルは、<directive module="mod_mime">AddHandler</directive>
208651a016b098f4fa1f6279559f104d70f1632dtakashi ディレクティブに指定された 拡張子を名前に含むか、
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki <directive module="mod_alias">ScriptAlias</directive>
a695049cbf9160d334b2caf9d3b8862ed9710ff2kawai ディレクトリに存在することによりこのハンドラになります。</p>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>Apache で CGI スクリプトを使用するためのイントロダクションは、
208651a016b098f4fa1f6279559f104d70f1632dtakashi を参照してください。</p>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>Unix でマルチスレッドの MPM を使っている場合は、このモジュールの
208651a016b098f4fa1f6279559f104d70f1632dtakashi ユーザレベルではこの二つのモジュールは本質的には同一です。</p>
a695049cbf9160d334b2caf9d3b8862ed9710ff2kawai <p>後方互換性のため、 MIME タイプが <code>application/x-httpd-cgi</code>
a695049cbf9160d334b2caf9d3b8862ed9710ff2kawai であるファイルでも cgi-script ハンドラが有効になります。この特殊な MIME タイプを
a695049cbf9160d334b2caf9d3b8862ed9710ff2kawai 使う方法は非推奨です。</p>
b2e2128a2254db4b0dd7ae022e5616fe4d61db0cyoshiki<seealso><directive module="core">AcceptPathInfo</directive></seealso>
353bea4bd4f2d567232d91686f797810bc176f2etakashi<seealso><directive module="core">Options</directive> ExecCGI</seealso>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki<seealso><directive module="mod_alias">ScriptAlias</directive></seealso>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki<seealso><directive module="mod_mime">AddHandler</directive></seealso>
208651a016b098f4fa1f6279559f104d70f1632dtakashi<seealso><a href="/suexec.html">CGI プログラムを別のユーザ ID で実行する</a></seealso>
353bea4bd4f2d567232d91686f797810bc176f2etakashi<seealso><a href="http://www.ietf.org/rfc/rfc3875">CGI 規格書</a></seealso>
353bea4bd4f2d567232d91686f797810bc176f2etakashi <p>サーバは <a href="http://www.ietf.org/rfc/rfc3875">CGI
208651a016b098f4fa1f6279559f104d70f1632dtakashi 規格</a> で決められている CGI
208651a016b098f4fa1f6279559f104d70f1632dtakashi 環境変数を設定します。以下のものは、条件付きで設定されます。</p>
208651a016b098f4fa1f6279559f104d70f1632dtakashi >AcceptPathInfo</directive> ディレクティブが明示的に <code>off</code>
208651a016b098f4fa1f6279559f104d70f1632dtakashi に設定されている場合は設定されません。デフォルトの、
208651a016b098f4fa1f6279559f104d70f1632dtakashi (URI のスクリプトのファイル名の後に続く <code>/more/path/info</code>) を
208651a016b098f4fa1f6279559f104d70f1632dtakashi 受け付けますが、コアはサーバはパス情報のあるリクエストに
208651a016b098f4fa1f6279559f104d70f1632dtakashi 対して 404 NOT FOUND エラーを返します。<directive>AcceptPathInfo</directive>
208651a016b098f4fa1f6279559f104d70f1632dtakashi 設定したのと同じ効果になります。</dd>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki <dd><directive module="core">HostnameLookups</directive>
208651a016b098f4fa1f6279559f104d70f1632dtakashi で、アクセスしているホストのアドレスの DNS
208651a016b098f4fa1f6279559f104d70f1632dtakashi の逆引きが実際にホスト名を見つけたときにのみ設定されます。</dd>
353bea4bd4f2d567232d91686f797810bc176f2etakashi <dd><directive module="mod_ident">IdentityCheck</directive>
208651a016b098f4fa1f6279559f104d70f1632dtakashi ident プロトコルをサポートしているときにのみ設定されます。
208651a016b098f4fa1f6279559f104d70f1632dtakashi これは簡単に偽ることができ、クライアントとサーバの間に
208651a016b098f4fa1f6279559f104d70f1632dtakashi プロキシがあればまったく役に立たないので、
208651a016b098f4fa1f6279559f104d70f1632dtakashi この変数の値は信用できないということに注意してください。
208651a016b098f4fa1f6279559f104d70f1632dtakashi スクリプトに認証が必要なときにのみ設定されます。</dd>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>CGI スクリプトのデバッグは、正しく動作していないスクリプトの出力
208651a016b098f4fa1f6279559f104d70f1632dtakashi を調べることができないために、難しい状態が続いていました。
353bea4bd4f2d567232d91686f797810bc176f2etakashi これらのディレクティブはより詳細なエラーのログ収集を提供します。</p>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>設定されているときには、CGI エラーログは適切に動作しないすべての
208651a016b098f4fa1f6279559f104d70f1632dtakashi CGI をログ収集します。それぞれの正しく動作しない CGI
208651a016b098f4fa1f6279559f104d70f1632dtakashi スクリプトは 複数の行にわたる情報がログ収集されます。最初の
208651a016b098f4fa1f6279559f104d70f1632dtakashi 2 行は常に以下の書式です:</p>
b2e2128a2254db4b0dd7ae022e5616fe4d61db0cyoshiki %% <var>HTTP-status</var> <var>CGI-script-filename</var>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>エラーが、CGI スクリプトが実行できないというものである場合は、
208651a016b098f4fa1f6279559f104d70f1632dtakashi ログファイルはさらにもう 2 行書かれます:</p>
b2e2128a2254db4b0dd7ae022e5616fe4d61db0cyoshiki %%error<br />
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>そうではなく、エラーが正しくないヘッダ情報を返す結果である場合
208651a016b098f4fa1f6279559f104d70f1632dtakashi (スクリプトのバグであることがよくあります)、
208651a016b098f4fa1f6279559f104d70f1632dtakashi 以下の情報がログ収集されます:</p>
b2e2128a2254db4b0dd7ae022e5616fe4d61db0cyoshiki %request<br />
b2e2128a2254db4b0dd7ae022e5616fe4d61db0cyoshiki %response<br />
b2e2128a2254db4b0dd7ae022e5616fe4d61db0cyoshiki %stdout<br />
b2e2128a2254db4b0dd7ae022e5616fe4d61db0cyoshiki %stderr<br />
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>(スクリプトが標準出力や標準エラーに何も出力しなかった場合は、
208651a016b098f4fa1f6279559f104d70f1632dtakashi %stdout や %stderr はありません)。</p>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki<directivesynopsis>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki</contextlist>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki<modulelist><module>mod_cgi</module><module>mod_cgid</module>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki</modulelist>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p><directive>ScriptLog</directive> ディレクティブは CGI スクリプトの
208651a016b098f4fa1f6279559f104d70f1632dtakashi 設定されていないときは、
208651a016b098f4fa1f6279559f104d70f1632dtakashi エラーログは作成されません。設定されているときは、CGI
208651a016b098f4fa1f6279559f104d70f1632dtakashi のエラーはすべて引数として与えられているファイル名にログされます。
208651a016b098f4fa1f6279559f104d70f1632dtakashi 相対パスで指定されているときは、
208651a016b098f4fa1f6279559f104d70f1632dtakashi <directive module="core">ServerRoot</directive>からの相対パスとして
353bea4bd4f2d567232d91686f797810bc176f2etakashi </highlight>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>このログは子プロセスが実行されているユーザとしてオープンされます。
208651a016b098f4fa1f6279559f104d70f1632dtakashi >User</directive> ディレクティブで指定された
208651a016b098f4fa1f6279559f104d70f1632dtakashi ユーザです。これは、スクリプトログが書かれるディレクトリがそのユーザで
208651a016b098f4fa1f6279559f104d70f1632dtakashi 書き込み可能か、スクリプトファイルが手動で作成され、そのユーザで
208651a016b098f4fa1f6279559f104d70f1632dtakashi 書き込み可能になっている必要があるということです。スクリプトログを
208651a016b098f4fa1f6279559f104d70f1632dtakashi アクセスログなどのためのログディレクトリに書かれるようにしたときは、
208651a016b098f4fa1f6279559f104d70f1632dtakashi そのディレクトリを子プロセスを実行しているユーザの権限で
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>スクリプトのログ収集は CGI スクリプトを書くときの
208651a016b098f4fa1f6279559f104d70f1632dtakashi デバッグ用の機能として意図されていて、通常のサーバで
208651a016b098f4fa1f6279559f104d70f1632dtakashi 常に使用されるようには意図されていないということに注意してください。
208651a016b098f4fa1f6279559f104d70f1632dtakashi 速度や効率は最適化されておらず、設計された以外の方法で使用されると
208651a016b098f4fa1f6279559f104d70f1632dtakashi セキュリティの問題があるかもしれません。</p>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki</directivesynopsis>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki<directivesynopsis>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki</contextlist>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki<modulelist><module>mod_cgi</module><module>mod_cgid</module>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki</modulelist>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p><directive>ScriptLogLength</directive> は CGI スクリプトのログファイル
208651a016b098f4fa1f6279559f104d70f1632dtakashi の大きさを制限するために使用することができます。ログファイルは
208651a016b098f4fa1f6279559f104d70f1632dtakashi CGI のエラー毎に大量の情報 (リクエストのすべてのヘッダ、
208651a016b098f4fa1f6279559f104d70f1632dtakashi すべての出力)をログしますので、すぐに大きなファイルになります。
208651a016b098f4fa1f6279559f104d70f1632dtakashi この大きさの制限がないことによる問題を防ぐために、
208651a016b098f4fa1f6279559f104d70f1632dtakashi このディレクティブを使って CGI のログファイルの
208651a016b098f4fa1f6279559f104d70f1632dtakashi 最大のファイルサイズを設定することができます。
208651a016b098f4fa1f6279559f104d70f1632dtakashi ファイルがこの大きさを超えた場合は、それ以上は書き込まれません。</p>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki</directivesynopsis>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki<directivesynopsis>
208651a016b098f4fa1f6279559f104d70f1632dtakashi<description>スクリプトログに記録される PUT や POST リクエストの内容の上限</description>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki</contextlist>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki<modulelist><module>mod_cgi</module><module>mod_cgid</module>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki</modulelist>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>大きな本体を受け取ったときにログファイルがすぐに大きくなりすぎる
208651a016b098f4fa1f6279559f104d70f1632dtakashi 問題を避けるために、ファイルにログ収集される PUT と POST
208651a016b098f4fa1f6279559f104d70f1632dtakashi の本体の大きさは制限されています。デフォルトでは、1024
208651a016b098f4fa1f6279559f104d70f1632dtakashi バイトまでがログ収集されますが、
208651a016b098f4fa1f6279559f104d70f1632dtakashi このディレクティブはそれを変更することができます。
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki</directivesynopsis>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki</modulesynopsis>