208651a016b098f4fa1f6279559f104d70f1632dtakashi<?xml version="1.0" encoding="UTF-8" ?>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki<?xml-stylesheet type="text/xsl" href="/style/manual.ja.xsl"?>
0a05fab9aadd37834734ffe106fc8ad4488fb3e3rbowen<!-- English Revision: 425124:1673947 (outdated) -->
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd<!--
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
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd http://www.apache.org/licenses/LICENSE-2.0
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd
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.
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd-->
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd<modulesynopsis metafile="mod_cgid.xml.meta">
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki<name>mod_cgid</name>
208651a016b098f4fa1f6279559f104d70f1632dtakashi<description>外部 CGI デーモンを使った CGI スクリプトの実行</description>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki<status>Base</status>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki<sourcefile>mod_cgid.c</sourcefile>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki<identifier>cgid_module</identifier>
208651a016b098f4fa1f6279559f104d70f1632dtakashi<compatibility>Unix のスレッド MPM のみ</compatibility>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki<summary>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>最適化が施されていることと、以下で説明されている追加の <directive
208651a016b098f4fa1f6279559f104d70f1632dtakashi module="mod_cgid">ScriptSock</directive> ディレクティブを除いては、
208651a016b098f4fa1f6279559f104d70f1632dtakashi <module>mod_cgid</module> は <module>mod_cgi</module> と同様の
208651a016b098f4fa1f6279559f104d70f1632dtakashi 動作をします。<strong>Apache と CGI に関する詳細は
208651a016b098f4fa1f6279559f104d70f1632dtakashi <module>mod_cgi</module> の概要を読んでください。</strong></p>
208651a016b098f4fa1f6279559f104d70f1632dtakashi
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>Unix オペレーティングシステムの中には、マルチスレッドのサーバから
208651a016b098f4fa1f6279559f104d70f1632dtakashi プロセスを fork するのが非常にコストの高い動作になっているものがあります。
208651a016b098f4fa1f6279559f104d70f1632dtakashi 理由は、新しいプロセスが親プロセスのスレッドすべてを複製するからです。
208651a016b098f4fa1f6279559f104d70f1632dtakashi 各 CGI 起動時にこのコストがかかるのを防ぐために、<module>mod_cgid</module>
208651a016b098f4fa1f6279559f104d70f1632dtakashi は子プロセスを fork して CGI スクリプトを実行するための
208651a016b098f4fa1f6279559f104d70f1632dtakashi 外部デーモンを実行します。
208651a016b098f4fa1f6279559f104d70f1632dtakashi 主サーバは unix ドメインソケットを使ってこのデーモンと通信します。</p>
208651a016b098f4fa1f6279559f104d70f1632dtakashi
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>コンパイル時にマルチスレッド MPM が選ばれたときは
208651a016b098f4fa1f6279559f104d70f1632dtakashi <module>mod_cgi</module> の代わりに必ずこのモジュールが使用されます。
208651a016b098f4fa1f6279559f104d70f1632dtakashi ユーザのレベルではこのモジュールの設定と動作は <module>mod_cgi</module>
208651a016b098f4fa1f6279559f104d70f1632dtakashi とまったく同じです。唯一の例外は <code>ScriptSock</code> ディレクティブの
208651a016b098f4fa1f6279559f104d70f1632dtakashi 追加で、このディレクティブは CGI デーモンとの通信用のソケットの名前を
208651a016b098f4fa1f6279559f104d70f1632dtakashi 指定します。</p>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki</summary>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki<seealso><module>mod_cgi</module></seealso>
208651a016b098f4fa1f6279559f104d70f1632dtakashi<seealso><a href="/suexec.html">CGI プログラムを違うユーザ ID で実行する</a></seealso>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki<directivesynopsis location="mod_cgi">
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki<name>ScriptLog</name>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki</directivesynopsis>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki<directivesynopsis location="mod_cgi">
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki<name>ScriptLogLength</name>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki</directivesynopsis>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki<directivesynopsis location="mod_cgi">
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki<name>ScriptLogBuffer</name>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki</directivesynopsis>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki<directivesynopsis>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki<name>ScriptSock</name>
208651a016b098f4fa1f6279559f104d70f1632dtakashi<description>CGI デーモンとの通信に使われるソケットのファイル名の接頭辞</description>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki<syntax>ScriptSock <var>file-path</var></syntax>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki<default>ScriptSock logs/cgisock</default>
b3dff74af4d269de76653c5e88c9be64e24568f4takashi<contextlist><context>server config</context></contextlist>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki<usage>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>このディレクティブは CGI デーモンとの通信に使われるソケットの
208651a016b098f4fa1f6279559f104d70f1632dtakashi ファイル名の接頭辞を設定します。また、ファイル名にはサーバのプロセスIDが
208651a016b098f4fa1f6279559f104d70f1632dtakashi 追加されます。ソケットは Apache が起動されたユーザ (通常 root) の
208651a016b098f4fa1f6279559f104d70f1632dtakashi パーミッションを用いてオープンされます。CGI スクリプトとの通信の
208651a016b098f4fa1f6279559f104d70f1632dtakashi セキュリティを保つために、ソケットの存在するディレクトリに
208651a016b098f4fa1f6279559f104d70f1632dtakashi 他のユーザが書き込み権限を持っていないようにすることが重要です。</p>
208651a016b098f4fa1f6279559f104d70f1632dtakashi
208651a016b098f4fa1f6279559f104d70f1632dtakashi <example><title>例</title>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki ScriptSock /var/run/cgid.sock
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki </example>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki</usage>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki</directivesynopsis>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki</modulesynopsis>
3671c2f9809dfd23db6cef0c6f08d7b5615ed3eayoshiki