1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
4 <!-- English Revision: 425124:1330964 (outdated) -->
7 Licensed to the Apache Software Foundation (ASF) under one or more
8 contributor license agreements. See the NOTICE file distributed with
9 this work for additional information regarding copyright ownership.
10 The ASF licenses this file to You under the Apache License, Version 2.0
11 (the "License"); you may not use this file except in compliance with
12 the License. You may obtain a copy of the License at
14 http://www.apache.org/licenses/LICENSE-2.0
16 Unless required by applicable law or agreed to in writing, software
17 distributed under the License is distributed on an "AS IS" BASIS,
18 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 See the License for the specific language governing permissions and
20 limitations under the License.
23 <modulesynopsis metafile="mod_cgid.xml.meta">
26 <description>外部 CGI デーモンを使った CGI スクリプトの実行</description>
28 <sourcefile>mod_cgid.c</sourcefile>
29 <identifier>cgid_module</identifier>
30 <compatibility>Unix のスレッド MPM のみ</compatibility>
33 <p>最適化が施されていることと、以下で説明されている追加の <directive
34 module="mod_cgid">ScriptSock</directive> ディレクティブを除いては、
35 <module>mod_cgid</module> は <module>mod_cgi</module> と同様の
36 動作をします。<strong>Apache と CGI に関する詳細は
37 <module>mod_cgi</module> の概要を読んでください。</strong></p>
39 <p>Unix オペレーティングシステムの中には、マルチスレッドのサーバから
40 プロセスを fork するのが非常にコストの高い動作になっているものがあります。
41 理由は、新しいプロセスが親プロセスのスレッドすべてを複製するからです。
42 各 CGI 起動時にこのコストがかかるのを防ぐために、<module>mod_cgid</module>
43 は子プロセスを fork して CGI スクリプトを実行するための
45 主サーバは unix ドメインソケットを使ってこのデーモンと通信します。</p>
47 <p>コンパイル時にマルチスレッド MPM が選ばれたときは
48 <module>mod_cgi</module> の代わりに必ずこのモジュールが使用されます。
49 ユーザのレベルではこのモジュールの設定と動作は <module>mod_cgi</module>
50 とまったく同じです。唯一の例外は <code>ScriptSock</code> ディレクティブの
51 追加で、このディレクティブは CGI デーモンとの通信用のソケットの名前を
55 <seealso><module>mod_cgi</module></seealso>
56 <seealso><a href="../suexec.html">CGI プログラムを違うユーザ ID で実行する</a></seealso>
58 <directivesynopsis location="mod_cgi">
59 <name>ScriptLog</name>
62 <directivesynopsis location="mod_cgi">
63 <name>ScriptLogLength</name>
66 <directivesynopsis location="mod_cgi">
67 <name>ScriptLogBuffer</name>
71 <name>ScriptSock</name>
72 <description>CGI デーモンとの通信に使われるソケットのファイル名の接頭辞</description>
73 <syntax>ScriptSock <var>file-path</var></syntax>
74 <default>ScriptSock logs/cgisock</default>
75 <contextlist><context>server config</context></contextlist>
78 <p>このディレクティブは CGI デーモンとの通信に使われるソケットの
79 ファイル名の接頭辞を設定します。また、ファイル名にはサーバのプロセスIDが
80 追加されます。ソケットは Apache が起動されたユーザ (通常 root) の
81 パーミッションを用いてオープンされます。CGI スクリプトとの通信の
82 セキュリティを保つために、ソケットの存在するディレクトリに
83 他のユーザが書き込み権限を持っていないようにすることが重要です。</p>
85 <example><title>例</title>
86 ScriptSock /var/run/cgid.sock