| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> |
| <HTML> |
| <HEAD> |
| <TITLE>Apache module mod_cgi</TITLE> |
| </HEAD> |
| |
| <!-- Background white, links blue (unvisited), navy (visited), red (active) --> |
| <BODY |
| BGCOLOR="#FFFFFF" |
| TEXT="#000000" |
| LINK="#0000FF" |
| VLINK="#000080" |
| ALINK="#FF0000" |
| > |
| <!--#include virtual="header.html" --> |
| |
| <H1 ALIGN="CENTER">Module mod_cgid</H1> |
| |
| <p>This module provides for execution of CGI scripts using an external |
| CGI daemon.</p> |
| |
| <P><A |
| HREF="module-dict.html#Status" |
| REL="Help" |
| ><STRONG>Status:</STRONG></A> Base (unix threaded MPMs only) |
| <BR> |
| <A |
| HREF="module-dict.html#SourceFile" |
| REL="Help" |
| ><STRONG>Source File:</STRONG></A> mod_cgid.c |
| <BR> |
| <A |
| HREF="module-dict.html#ModuleIdentifier" |
| REL="Help" |
| ><STRONG>Module Identifier:</STRONG></A> cgid_module |
| </P> |
| |
| |
| <H2>Summary</H2> |
| |
| <p>On certain unix operating systems, forking a process from a |
| multi-threaded server is a very expensive operation because the new |
| process will replicate all the threads of the parent process. In |
| order to avoid incurring this expense on each CGI invocation, mod_cgid |
| creates an external daemon that is responsible for forking child |
| processes to run CGI scripts. The main server communicates with this |
| daemon using a unix domain socket.</p> |
| |
| <p>This module is used by default whenever a multi-threaded MPM is |
| selected during the compilation process. At the user level, this |
| module is identical in configuration and operation to <a |
| href="mod_cgi.html">mod_cgi</a>. The only exception is the additional |
| directive <code>ScriptSock</code> which gives the name of the socket |
| to use for communication with the cgi daemon.</p> |
| |
| <h2>Directives</h2> |
| |
| <ul> |
| <li><a href="mod_cgi.html#scriptlog">ScriptLog</a></li> |
| <li><a href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li> |
| <li><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></li> |
| <li><a href="#scriptsock">ScriptSock</a></li> |
| </ul> |
| |
| <hr> |
| |
| <H3><A NAME="scriptsock">ScriptSock</A> directive</H3> |
| |
| <p><A |
| HREF="directive-dict.html#Syntax" |
| REL="Help" |
| ><STRONG>Syntax:</STRONG></A> Scriptsock <EM>filename</EM><BR> |
| <A |
| HREF="directive-dict.html#Default" |
| REL="Help" |
| ><STRONG>Default:</STRONG></A> logs/cgisock<BR> |
| <A |
| HREF="directive-dict.html#Context" |
| REL="Help" |
| ><STRONG>Context:</STRONG></A> server config<BR> |
| <A |
| HREF="directive-dict.html#Status" |
| REL="Help" |
| ><STRONG>Status:</STRONG></A> Base<br> |
| <A |
| HREF="directive-dict.html#Module" |
| REL="Help" |
| ><STRONG>Module:</STRONG></A> mod_cgid</p> |
| |
| <p>This directive sets the name of the socket to use for communication |
| with the CGI daemon. The socket will be opened using the permissions |
| of the user who starts Apache (usually root). To maintain the security |
| of communications with CGI scripts, it is important that no other |
| user has permission to write in the directory where the socket is |
| located.</p> |
| |
| |
| <!--#include virtual="footer.html" --> |
| </BODY> |
| </HTML> |
| |