- Update to 2.3.4

- Upstream moved to apache.org
- License changed to ASL 2.0
- Configuration directives have all been renamed - use fixconf.sed script
    to fix if necessary
- Lots of documentation changes
- Renumber sources
- Don't defer to mod_fastcgi if both are present
- Build SELinux policy module for EL-5; support in EL-5.3 is incomplete and
    will be fixed in EL-5.5 (#519369)
- Drop aliases httpd_sys_content_r{a,o,w}_t ->
    httpd_fastcgi_content_r{a,o,w}_t from pre-2.5 SElinux policy module as
    these types aren't defined there
- Drop gawk buildreq
This commit is contained in:
Paul Howarth 2009-10-12 15:04:41 +00:00
parent a87f4f1f9a
commit a391ec8309
10 changed files with 83 additions and 537 deletions

View File

@ -1 +1 @@
mod_fcgid.2.2.tar.gz mod_fcgid-2.3.4.tar.bz2

View File

@ -1,257 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>The mod_fcgid Home Page</title>
</head>
<body>
<p><b><a name="regular fastcgi"></a>This is a for regular fastcgi.&nbsp;</b></p>
<p>LoadModule fcgid_module modules/mod_fcgid.so</p>
<p>&lt;Location /fcgid&gt;<br>
&nbsp;&nbsp;&nbsp; SetHandler fcgid-script<br>
&nbsp;&nbsp;&nbsp; Options ExecCGI<br>
&nbsp;&nbsp;&nbsp; allow from all<br>
&lt;/Location&gt;</p>
<p>&nbsp;
</p>
<hr>
<p><b><a name="suEXEC"></a>This is for suEXEC. Please get more
information about suEXEC <a
href="http://httpd.apache.org/docs-2.0/suexec.html">here</a>.&nbsp;</b></p>
<p>LoadModule fcgid_module modules/mod_fcgid.so</p>
<p>&lt;Location /fcgid&gt;<br>
&nbsp;&nbsp;&nbsp; SetHandler fcgid-script<br>
&nbsp;&nbsp;&nbsp; Options ExecCGI<br>
&nbsp;&nbsp;&nbsp; allow from all<br>
&lt;/Location&gt;</p>
<p>&lt;VirtualHost 192.168.1.89&gt;<br>
&nbsp;&nbsp;&nbsp; ServerAdmin <a href="mailto:webmaster@host.foo.com">webmaster@host.foo.com<br>
</a>&nbsp;&nbsp;&nbsp; DocumentRoot /usr/local/apache2/htdocs/<br>
&nbsp;&nbsp;&nbsp; ServerName host.foo.com<br>
&nbsp;&nbsp;&nbsp; SuexecUserGroup pqf pqf<br>
&lt;/VirtualHost&gt;</p>
<p> 
</p>
<hr>
<p><b><a name="PHP"></a>This is for fastcgi-mode PHP (UNIX)</b></p>
<p>LoadModule fcgid_module modules/mod_fcgid.so</p>
<p> &lt;Directory /usr/local/apache2/htdocs/php&gt;<br>
&nbsp;&nbsp;&nbsp; SetHandler fcgid-script<br>
&nbsp;&nbsp;&nbsp; FCGIWrapper /usr/local/bin/php .php
</p>
<p>&nbsp;&nbsp; <span style="font-weight: bold;"># You need mod_fcgid
version &gt;= 2.1 to support arguments in FCGIWrapper, if you want<br>
&nbsp;&nbsp; # FCGIWrapper "/usr/local/bin/php -c /etc/" .php</span></p>
&nbsp;&nbsp;&nbsp; Options ExecCGI<br>
<p> &nbsp;&nbsp;&nbsp; allow from all<br>
&lt;/Directory&gt;</p>
<p><b>This works too:</b></p>
<p>LoadModule fcgid_module modules/mod_fcgid.so&nbsp;</p>
<p>AddHandler fcgid-script .php<br>
&lt;Directory /usr/local/apache2/htdocs/php&gt;<br>
&nbsp;&nbsp;&nbsp; FCGIWrapper /usr/local/bin/php .php</p>
<p>&nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">#</span> <span
style="font-weight: bold;">You need mod_fcgid version &gt;= 2.1 to
support arguments in FCGIWrapper, if you want<br>
&nbsp;&nbsp; # FCGIWrapper "/usr/local/bin/php -c /etc/" .php</span></p>
<p>&nbsp;&nbsp;&nbsp; Options ExecCGI<br>
&nbsp;&nbsp;&nbsp; allow from all<br>
&lt;/Directory&gt;</p>
<p><b># Please make sure:<br>
# php is configured with --enable-fastcgi option<br>
# check error_log(with debug level), if any thing goes wrong</b> </p>
<p> </p>
<hr>
<p><b><a name="Ruby"></a>This is for fastcgi-mode </b><span
style="font-weight: bold;">Ruby on Rails ( Thank Andre Nathan giving
me this demo configuration )<br>
</span><br>
LoadModule fcgid_module modules/mod_fcgid.so<br>
SocketPath /tmp/fcgidsock<br>
SharememPath /tmp/fcgidshm<br>
DefaultInitEnv RAILS_ENV production<br>
<br>
&lt;Directory /home/sneakymustard/tumble/public&gt;<br>
&nbsp;&nbsp;&nbsp; Options ExecCGI FollowSymLinks<br>
&nbsp;&nbsp;&nbsp; AllowOverride AuthConfig Indexes Limit<br>
&nbsp;&nbsp;&nbsp; Order allow,deny<br>
&nbsp;&nbsp;&nbsp; Allow from all<br>
<br>
&nbsp;&nbsp;&nbsp; AddHandler fcgid-script .fcgi</p>
<p><span style="font-weight: bold;">&nbsp;&nbsp;&nbsp; # You need
mod_fcgid version &gt;= 2.1 to support arguments "xxx/dispatch.fcgi" in
FCGIWrapper <br>
</span>&nbsp;&nbsp;&nbsp; FCGIWrapper "/usr/bin/ruby
/home/sneakymustard/tumble/public/dispatch.fcgi" .fcgi<br>
<br>
&nbsp;&nbsp;&nbsp; RewriteEngine On<br>
&nbsp;&nbsp;&nbsp; RewriteRule ^$ index.html [QSA]<br>
&nbsp;&nbsp;&nbsp; RewriteRule ^([^.]+)$ $1.html [QSA]<br>
&nbsp;&nbsp;&nbsp; RewriteCond %{REQUEST_FILENAME} !-f<br>
&nbsp;&nbsp;&nbsp; RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]<br>
&lt;/Directory&gt;<br>
<br>
</p>
<span style="font-weight: bold;"></span>
<p> </p>
<hr>
<p><b><a name="suPHP"></a>This is for suPHP&nbsp; ( UNIX )</b> </p>
<p>LoadModule fcgid_module modules/mod_fcgid.so<br>
<br>
&lt;VirtualHost *:80&gt;<br>
&nbsp;&nbsp;&nbsp; ServerName test2.example.com<br>
&nbsp;&nbsp;&nbsp; DocumentRoot
/usr/local/apache2/htdocs/test2.example.com/<br>
&nbsp;&nbsp;&nbsp; SuexecUserGroup pqf pqf<br>
&lt;/VirtualHost&gt;<br>
<br>
&lt;Directory /usr/local/apache2/htdocs/test2.example.com/&gt;<br>
&nbsp;&nbsp;&nbsp; AddHandler fcgid-script .php<br>
&nbsp;&nbsp;&nbsp; Options ExecCGI<br>
&nbsp;&nbsp;&nbsp; allow from all<br>
&nbsp;&nbsp;&nbsp; FCGIWrapper
/usr/local/apache2/htdocs/test2.example.com/php .php</p>
<p></p>
<p>&nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">#</span> <span
style="font-weight: bold;">You need mod_fcgid version &gt;= 2.1 to
support arguments in FCGIWrapper, if you want<br>
&nbsp;&nbsp; # FCGIWrapper "/usr/local/bin/php -c /etc/" .php</span></p>
<p> &lt;/Directory&gt;</p>
<p> <b> # Please make sure:<br>
# php is configured with --enable-fastcgi option<br>
# copy php execution to /usr/local/apache2/htdocs/test2.example.com/
directory<br>
# make sure all files in /usr/local/apache2/htdocs/test2.example.com/
with right owner and group<br>
# check error_log(with debug level) and suexec_log, if any thing goes
wrong</b> <br>
</p>
<hr>
<p><br>
<b><a name="PHP-Windows"></a>This is for fastcgi-mode PHP ( Windows )</b>
</p>
<p>LoadModule fcgid_module modules/mod_fcgid.so<br>
DefaultInitEnv PHPRC "c:/php/"<br>
DefaultInitEnv PATH
"c:/php;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;"<br>
DefaultInitEnv SystemRoot "C:/Windows"<br>
DefaultInitEnv SystemDrive "C:"<br>
DefaultInitEnv TEMP "C:/WINDOWS/TEMP"<br>
DefaultInitEnv TMP "C:/WINDOWS/TEMP"<br>
DefaultInitEnv windir "C:/WINDOWS"<br>
&lt;Directory "C:/Apache2/htdocs/php/"&gt;<br>
&nbsp;&nbsp;&nbsp; SetHandler fcgid-script<br>
&nbsp;&nbsp;&nbsp; Options execCGI<br>
&nbsp;&nbsp;&nbsp; AllowOverride None<br>
&nbsp;&nbsp;&nbsp; Order allow,deny<br>
&nbsp;&nbsp;&nbsp; Allow from all<br>
&nbsp;&nbsp;&nbsp; FCGIWrapper "c:/php/php.exe" .php</p>
<p>&nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">#</span> <span
style="font-weight: bold;">You need mod_fcgid version &gt;= 2.1 to
support arguments in FCGIWrapper, if you want<br>
&nbsp;&nbsp; # FCGIWrapper "/usr/local/bin/php -c /etc/" .php</span><br>
&lt;/Directory&gt;</p>
<p><b>This works too:</b>
</p>
<p>LoadModule fcgid_module modules/mod_fcgid.so<br>
DefaultInitEnv PHPRC "c:/php/"<br>
DefaultInitEnv PATH
"c:/php;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;"<br>
DefaultInitEnv SystemRoot "C:/Windows"<br>
DefaultInitEnv SystemDrive "C:"<br>
DefaultInitEnv TEMP "C:/WINDOWS/TEMP"<br>
DefaultInitEnv TMP "C:/WINDOWS/TEMP"<br>
DefaultInitEnv windir "C:/WINDOWS"<br>
AddHandler fcgid-script .php<br>
&lt;Directory "C:/Apache2/htdocs/php/"&gt;<br>
&nbsp;&nbsp;&nbsp; FCGIWrapper "c:/php/php.exe" .php</p>
<p>&nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">#</span> <span
style="font-weight: bold;">You need mod_fcgid version &gt;= 2.1 to
support arguments in FCGIWrapper, if you want<br>
&nbsp;&nbsp; # FCGIWrapper "/usr/local/bin/php -c /etc/" .php<br>
</span></p>
<p><span style="font-weight: bold;"></span>&nbsp;&nbsp;&nbsp;&nbsp;
Options ExecCGI<br>
&nbsp;&nbsp;&nbsp; allow from all<br>
&lt;/Directory&gt;<br>
</p>
<hr>
<p><b><a name="Authenticator"></a>This is for Authenticator</b></p>
<p>LoadModule fcgid_module modules/mod_fcgid.so
</p>
<p>&lt;Location /fcgid&gt;<br>
SetHandler fcgid-script<br>
Options ExecCGI<br>
allow from all<br>
AuthType Basic<br>
AuthName ProtectedRealm<br>
FastCgiAuthenticator /some/path/authenticator<br>
require valid-user<br>
&lt;/Location&gt;<br>
</p>
<p><b>Another configuration: <a
name="FastCgiAuthenticatorAuthoritative">FastCgiAuthenticatorAuthoritative</a>
(default On)</b></p>
<p>Setting the <code>FastCgiAuthenticatorAuthoritative</code>
directive explicitly to <em>Off</em> allows authentication to be
passed on to lower level modules</p>
<hr>
<p><b><a name="Authorizer"></a>This is for Authorizer</b></p>
<p>LoadModule fcgid_module modules/mod_fcgid.so
</p>
<p>&lt;Location /fcgid&gt;<br>
SetHandler fcgid-script<br>
Options ExecCGI<br>
allow from all<br>
AuthType Basic<br>
AuthName ProtectedRealm<br>
FastCgiAuthorizer /some/place/Authorizer<br>
&lt;/Location&gt;</p>
<p><b>Another configuration: <a name="FastCgiAuthorizerAuthoritative">FastCgiAuthorizerAuthoritative</a>
(default On)</b></p>
<p>Setting the <code>FastCgiAuthorizerAuthoritative</code> directive
explicitly to <em>Off</em> allows authorization to be passed on to
lower level modules</p>
<hr>
<p><b><a name="AccessChecker"></a>This is for AccessChecker</b></p>
<p>LoadModule fcgid_module modules/mod_fcgid.so
</p>
<p>&lt;Location /fcgid&gt;<br>
SetHandler fcgid-script<br>
Options ExecCGI<br>
allow from all<br>
FastCgiAccessChecker /some/place/access-checker<br>
&lt;/Location&gt;<br>
</p>
<p><b>Another configuration: </b><a
name="FastCgiAccessCheckerAuthoritative"><b>FastCgiAccessCheckerAuthoritative</b></a><b>
(default On)</b></p>
<p>Setting the <code>FastCgiAccessCheckerAuthoritative</code>
directive explicitly to <em>Off</em> allows access checking to be
passed on to lower level modules</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</body>
</html>

210
doc.htm
View File

@ -1,210 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>The mod_fcgid Home Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body bgcolor="#ffffff">
<table border="0" cellpadding="5" cellspacing="0" width="893">
<tbody>
<tr>
<td align="center" valign="top" width="200"> &nbsp;
<table cellpadding="5" cellspacing="0">
<tbody>
<tr>
<td align="left" bgcolor="#f8eda6" nowrap="nowrap"> <a
href="index.htm">Home</a> <br>
<a href="index.cn.htm">Chinese Info</a> <br>
<a href="download.htm">Download (source)</a> <br>
<a href="doc.htm">Documentations</a> <br>
<a href="feedback.htm">Feedback</a> <br>
<a
href="http://sourceforge.net/donate/index.php?group_id=174879"><img
src="http://images.sourceforge.net/images/project-support.jpg"
alt="Support This Project" border="0" height="32" width="88"> </a> </td>
</tr>
</tbody>
</table>
</td>
<td valign="top" width="669">
<ul>
<li>
<p><b><font size="4">Here are some examples of configuration</font></b></p>
</li>
</ul>
<p><a href="configuration.htm#regular%20fastcgi">Configuration
for Regular fastcgi
(non-PHP, non-Ruby, non-Python)&nbsp;</a></p>
<p><a href="configuration.htm#suEXEC">Configuration
for suEXEC fastcgi</a></p>
<p><a href="configuration.htm#PHP">Configuration for PHP
(UNIX)</a><br>
</p>
<p><a href="configuration.htm#Ruby">Configuration for Ruby on
Rails</a><br>
</p>
<p><a href="configuration.htm#suPHP">Configuration for suPHP
(UNIX)</a></p>
<p><a href="configuration.htm#PHP-Windows">Configuration
for PHP (Windows)</a></p>
<p><a href="configuration.htm#Authenticator">Configuration
for Authenticator</a></p>
<p><a href="configuration.htm#Authorizer">Configuration
for Authorizer</a></p>
<p><a href="configuration.htm#AccessChecker">Configuration
for AccessChecker</a></p>
<p>&nbsp; </p>
<hr>
<ul>
<li>
<h2><a class="mozTocH2" name="mozTocId601839"></a><b><font
size="4">There are
some other configurations you can set</font></b></h2>
</li>
</ul>
<p><b>IdleTimeout n (300
seconds)</b></p>
<p>An idle fastcgi application will be terminated after
IdleTimeout
seconds. </p>
<p><b>IdleScanInterval n (120 seconds)</b></p>
<p>The scan interval for idle
fastcgi applications. </p>
<p><b>BusyTimeout n (300 seconds)</b></p>
<p>a fastcgi
application will be terminated if handing a single request longer than
busy
timeout.</p>
<p><b>BusyScanInterval n (120 seconds)</b></p>
<p>The scan interval for busy
timeout fastcgi applications.</p>
<p><b>ErrorScanInterval n (3 seconds)</b></p>
<p>The
scan interval for exit pending fastcgi applications. fastcgi
applications will
be terminated within this scanning.</p>
<p><b>ZombieScanInterval n (3 seconds)</b></p>
<p>The
scan interval for zombie process.&nbsp;</p>
<p><b>ProcessLifeTime n (3600 seconds)</b></p>
<p>A
fastcgi application will be terminated if lifetime expired, even no
error is
detected.</p>
<p><b>SocketPath path (logs/fcgidsock)</b></p>
<p>The directory to put the
UNIX domain socket. (UNIX only)<br>
</p>
<p><span style="font-weight: bold;">SharememPath path
(logs/fcgid_shm)</span><br>
</p>
<p>The share memory file path. (UNIX only) (version &gt;= 2.1
only)<br>
</p>
<p><b>SpawnScoreUpLimit n (10)</b></p>
<p>The
spawn-speed control score up water limit. Score increases while a
process is spawned or terminated, and decreases
as time progresses; while the score is higher than <b>SpawnScoreUpLimit</b>,
the spawning will be
held for a while. The higher this number is, the higher speed of the
spawning
can be.</p>
<p><b>SpawnScore n (1)</b></p>
<p>The weight of spawning.&nbsp; This weight
will be plused to the spawn-control score on every spawn. The higher
this number
is, the lower speed of spawning can be.</p>
<p><b>TerminationScore n (2)</b></p>
<p>The
weight of termination. This weight will be plused to the score while
fastcgi
process terminates. The higher this number is, the lower speed of
spawning can
be.</p>
<p><b>MaxProcessCount n (1000)</b></p>
<p>The max count of total fastcgi process
count.</p>
<p><b>DefaultMaxClassProcessCount n (100)</b></p>
<p>The maximum number of
fastcgi application instances allowed to run for any one fastcgi
application.&nbsp;</p>
<p><b>DefaultMinClassProcessCount n
(3)</b></p>
<p>The minimum number of
fastcgi application instances for any one fastcgi application.&nbsp;</p>
<p><b>DefaultInitEnv&nbsp;
env_name env_value</b></p>
<p>The default environment variables before a fastcgi
application is spawned. You can set this configuration more
than once.<br>
</p>
<table style="text-align: left; width: 667px; height: 147px;"
border="1" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;">Note: If you get:<br>
<div><span style="font-weight: bold;">Can't create TCP/IP
socket (10106)</span> error while running PHP script(<span
style="font-weight: bold;">on Win32 only</span>), you will have to set
these(<span style="font-weight: bold;">Please modify the values if
necessary</span>):<br>
<font face="Arial" size="2">DefaultInitEnv PHPRC "c:/php/"<br>
DefaultInitEnv PATH
"c:/php;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;"<br>
DefaultInitEnv SystemRoot "C:/Windows"<br>
DefaultInitEnv SystemDrive "C:"<br>
DefaultInitEnv TEMP "C:/WINDOWS/TEMP"<br>
DefaultInitEnv TMP "C:/WINDOWS/TEMP"<br>
DefaultInitEnv windir "C:/WINDOWS"<br>
<br>
(Thank Steffen of apachelounge.com for this note)<br>
</font></div>
</td>
</tr>
</tbody>
</table>
<p><br>
</p>
<p><b>IPCConnectTimeout n (3 seconds)</b></p>
<p>The connect timeout to a
fastcgi application.&nbsp;</p>
<p><b>IPCCommTimeout n (20 seconds)</b></p>
<p>The communication
timeout to a fastcgi application. Please increase this value if your
CGI have a
slow initialization or slow respond.</p>
<p><b>OutputBufferSize n (64k bytes)</b></p>
<p>CGI
output cache buffer size.</p>
<p><b>PHP_Fix_Pathinfo_Enable</b><b> n(n=0/1, default 0)</b></p>
<p>If
you are using PHP and set cgi.fix_pathinfo=1 in php.ini, set
PHP_Fix_Pathinfo_Enable 1.</p>
<p><b>MaxRequestsPerProcess n (-1)</b></p>
<p>(Added in
version 1.11, patch from Robert L Mathews)</p>
<p>Adds a MaxRequestsPerProcess parameter that allows mod_fcgid
to
exit after handling a certain number of requests, similar to the
existing ProcessLifeTime option.&nbsp;</p>
<p>This solves a problem with PHP in FastCGI mode. By default,
PHP stops
accepting new FastCGI connections after handling 500 requests;
unfortunately, there is a potential race condition during the PHP
cleanup code in which
PHP can be shutting down but still have the socket open, so mod_fcgid
under heavy load can send request number 501 to PHP and have it
"accepted", but then
PHP appears to simply exit, causing errors.</p>
<p>If you are using PHP, you should
set it to 500. -1 mean fastcgi process will not exit no matter how many
requests
it has handled.<br>
</p>
</td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@ -8,16 +8,13 @@
# Previous versions of this policy module used a separate domain, httpd_fastcgi_script_t, # Previous versions of this policy module used a separate domain, httpd_fastcgi_script_t,
# which is now an alias for httpd_sys_script_t. # which is now an alias for httpd_sys_script_t.
policy_module(fastcgi, 0.1.10) policy_module(fastcgi, 0.1.11)
require { require {
type devpts_t; type devpts_t;
type httpd_t; type httpd_t;
type httpd_log_t; type httpd_log_t;
type httpd_sys_content_t; type httpd_sys_content_t;
type httpd_sys_content_ra_t;
type httpd_sys_content_ro_t;
type httpd_sys_content_rw_t;
type httpd_sys_script_exec_t; type httpd_sys_script_exec_t;
type httpd_sys_script_ra_t; type httpd_sys_script_ra_t;
type httpd_sys_script_ro_t; type httpd_sys_script_ro_t;
@ -29,9 +26,6 @@ require {
# Type aliases for contexts used with older policy modules # Type aliases for contexts used with older policy modules
typealias httpd_sys_content_t alias httpd_fastcgi_content_t; typealias httpd_sys_content_t alias httpd_fastcgi_content_t;
typealias httpd_sys_content_ra_t alias httpd_fastcgi_content_ra_t;
typealias httpd_sys_content_ro_t alias httpd_fastcgi_content_ro_t;
typealias httpd_sys_content_rw_t alias httpd_fastcgi_content_rw_t;
typealias httpd_sys_script_exec_t alias httpd_fastcgi_script_exec_t; typealias httpd_sys_script_exec_t alias httpd_fastcgi_script_exec_t;
typealias httpd_sys_script_ra_t alias httpd_fastcgi_script_ra_t; typealias httpd_sys_script_ra_t alias httpd_fastcgi_script_ra_t;
typealias httpd_sys_script_ro_t alias httpd_fastcgi_script_ro_t; typealias httpd_sys_script_ro_t alias httpd_fastcgi_script_ro_t;

View File

@ -1,16 +1,14 @@
# This is the Apache server configuration file for providing FastCGI support # This is the Apache server configuration file for providing FastCGI support
# through mod_fcgid # through mod_fcgid
# #
# Documentation is available at http://fastcgi.coremail.cn/doc.htm # Documentation is available at
# http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
LoadModule fcgid_module modules/mod_fcgid.so LoadModule fcgid_module modules/mod_fcgid.so
# Use FastCGI to process .fcg .fcgi & .fpl scripts # Use FastCGI to process .fcg .fcgi & .fpl scripts
# Don't do this if mod_fastcgi is present, as it will try to do the same thing AddHandler fcgid-script fcg fcgi fpl
<IfModule !mod_fastcgi.c>
AddHandler fcgid-script fcg fcgi fpl
</IfModule>
# Sane place to put sockets and shared memory file # Sane place to put sockets and shared memory file
SocketPath /var/run/mod_fcgid FcgidIPCDir /var/run/mod_fcgid
SharememPath /var/run/mod_fcgid/fcgid_shm FcgidProcessTableFile /var/run/mod_fcgid/fcgid_shm

View File

@ -3,15 +3,10 @@ Using the mod_fcgid RPM Package
This mod_fcgid package includes a configuration file This mod_fcgid package includes a configuration file
/etc/httpd/conf.d/fcgid.conf that ensures that the module is loaded and /etc/httpd/conf.d/fcgid.conf that ensures that the module is loaded and
added as the handler for .fcg, .fcgi, and .fpl applications (provided added as the handler for .fcg, .fcgi, and .fpl applications.
mod_fastcgi in not already loaded, in which case you will need to decide which
module should handle which types of application).
So far the module package has only been tested in conjunction with the "moin" Example: setting up moin with mod_fcgid
wiki application. Further feedback regarding other applications is welcome. =======================================
Setting up moin with mod_fcgid
==============================
Setting up moin with mod_fcgid is very similar to setting it up as a regular Setting up moin with mod_fcgid is very similar to setting it up as a regular
CGI application. CGI application.
@ -37,7 +32,7 @@ CGI application.
/etc/httpd/conf.d/mywiki.conf /etc/httpd/conf.d/mywiki.conf
# Wiki application data common to all wiki instances # Wiki application data common to all wiki instances
Alias /moin_static182 "/usr/share/moin/htdocs/" Alias /moin_static185 "/usr/share/moin/htdocs/"
<Directory "/usr/share/moin/htdocs/"> <Directory "/usr/share/moin/htdocs/">
Options Indexes FollowSymLinks Options Indexes FollowSymLinks
AllowOverride None AllowOverride None

View File

@ -4,8 +4,7 @@ Using mod_fcgid with SELinux in Fedora Core 5 / RHEL 5 onwards
Versions of this package built for Fedora Core 5, 6, or 7 include an SELinux Versions of this package built for Fedora Core 5, 6, or 7 include an SELinux
policy module to support FastCGI applications. Later Fedora releases and Red policy module to support FastCGI applications. Later Fedora releases and Red
Hat Enterprise Linux 5.3 onwards include the policy in the main selinux-policy Hat Enterprise Linux 5.3 onwards include the policy in the main selinux-policy
package and do not require the separate module. This has only been tested so package and do not require the separate module.
far with moin, so feedback from other applications is welcome.
The module source (fastcgi.{fc,te}) is included for reference as documentation The module source (fastcgi.{fc,te}) is included for reference as documentation
in the package. in the package.

View File

@ -0,0 +1,8 @@
--- mod_fcgid-2.3.4/build/fixconf.sed 2009-10-07 04:16:08.000000000 +0100
+++ mod_fcgid-2.3.4/build/fixconf.sed 2009-10-12 09:50:14.570448865 +0100
@@ -1,4 +1,4 @@
-#!/usr/bin/sed -f
+#!/bin/sed -f
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with

View File

@ -1,8 +1,8 @@
# Fedora 5, 6, and 7 versions includes SELinux policy module package # Fedora 5, 6, and 7 versions includes SELinux policy module package
# Fedora 8 and 9 versions include policy in errata selinux-policy releases # Fedora 8 and 9 versions include policy in errata selinux-policy releases
# Fedora 10 onwards include policy in standard selinux-policy releases # Fedora 10 onwards include policy in standard selinux-policy releases
# RHEL 5.3 onwards include policy in standard selinux-policy releases # RHEL 5.5 onwards will include policy in standard selinux-policy releases
%if 0%{?fedora} < 5 || 0%{?fedora} > 7 %if 0%{?fedora}%{?rhel} < 5 || 0%{?fedora} > 7
%global selinux_module 0 %global selinux_module 0
%global selinux_types %{nil} %global selinux_types %{nil}
%global selinux_variants %{nil} %global selinux_variants %{nil}
@ -15,31 +15,30 @@
%endif %endif
Name: mod_fcgid Name: mod_fcgid
Version: 2.2 Version: 2.3.4
Release: 13%{?dist} Release: 1%{?dist}
Summary: Apache2 module for high-performance server-side scripting Summary: FastCGI interface module for Apache 2
Group: System Environment/Daemons Group: System Environment/Daemons
License: GPL+ License: ASL 2.0
URL: http://fastcgi.coremail.cn/ URL: http://httpd.apache.org/mod_fcgid/
Source0: http://downloads.sf.net/mod-fcgid/mod_fcgid.%{version}.tar.gz Source0: http://www.apache.org/dist/httpd/mod_fcgid/mod_fcgid-%{version}.tar.bz2
Source1: fcgid.conf Source1: fcgid.conf
Source2: fastcgi.te Source2: mod_fcgid-2.1-README.RPM
Source3: fastcgi.fc Source3: mod_fcgid-2.1-README.SELinux
Source4: mod_fcgid-2.1-README.RPM Source10: fastcgi.te
Source5: http://fastcgi.coremail.cn/doc.htm Source11: fastcgi-2.5.te
Source6: http://fastcgi.coremail.cn/configuration.htm Source12: fastcgi.fc
Source7: mod_fcgid-2.1-README.SELinux Patch0: mod_fcgid-2.3.4-fixconf-shellbang.patch
Source8: fastcgi-2.5.te
Patch0: mod_fcgid.2.1-docurls.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: gawk, httpd-devel >= 2.0, pkgconfig BuildRequires: httpd-devel >= 2.0, pkgconfig
Requires: httpd-mmn = %([ -a %{_includedir}/httpd/.mmn ] && %{__cat} %{_includedir}/httpd/.mmn || echo missing) Requires: httpd-mmn = %([ -a %{_includedir}/httpd/.mmn ] && %{__cat} %{_includedir}/httpd/.mmn || echo missing)
# Make sure that selinux-policy is sufficiently up-to-date if it's installed # Make sure that selinux-policy is sufficiently up-to-date if it's installed
%if "%{?rhel}" == "5" ## FastCGI policy properly incorporated into EL 5.5 (not yet available)
Conflicts: selinux-policy < 2.4.6-203.el5 #%if "%{?rhel}" == "5"
# No provide here because selinux-policy >= 2.4.6-203.el5 does the providing #Conflicts: selinux-policy < 2.4.6-257.el5
Obsoletes: mod_fcgid-selinux <= %{version}-%{release} ## No provide here because selinux-policy >= 2.4.6-203.el5 does the providing
%endif #Obsoletes: mod_fcgid-selinux <= %{version}-%{release}
#%endif
%if "%{?fedora}" == "8" %if "%{?fedora}" == "8"
Conflicts: selinux-policy < 3.0.8-123.fc8 Conflicts: selinux-policy < 3.0.8-123.fc8
%endif %endif
@ -79,26 +78,23 @@ SELinux policy module supporting FastCGI applications with mod_fcgid.
%endif %endif
%prep %prep
%setup -q -n mod_fcgid.%{version} %setup -q
%{__cp} -p %{SOURCE1} fcgid.conf %{__cp} -p %{SOURCE1} fcgid.conf
%{__cp} -p %{SOURCE2} README.RPM
%{__cp} -p %{SOURCE3} README.SELinux
%if 0%{?selinux_policynum} < 20501 %if 0%{?selinux_policynum} < 20501
%{__cp} -p %{SOURCE2} fastcgi.te %{__cp} -p %{SOURCE10} fastcgi.te
%else %else
%{__cp} -p %{SOURCE8} fastcgi.te %{__cp} -p %{SOURCE11} fastcgi.te
%endif %endif
%{__cp} -p %{SOURCE3} fastcgi.fc %{__cp} -p %{SOURCE12} fastcgi.fc
%{__cp} -p %{SOURCE4} README.RPM
%{__cp} -p %{SOURCE5} directives.htm # Fix shellbang in fixconf script for our location of sed
%{__cp} -p %{SOURCE6} configuration.htm
%{__cp} -p %{SOURCE7} README.SELinux
%patch0 -p1 %patch0 -p1
%{__sed} -i -e 's/\r$//' directives.htm configuration.htm
/usr/bin/iconv -f gb2312 -t utf8 < configuration.htm > configuration.htm.utf8
%{__mv} -f configuration.htm.utf8 configuration.htm
%build %build
topdir=$(/usr/bin/dirname $(/usr/sbin/apxs -q exp_installbuilddir)) APXS=/usr/sbin/apxs ./configure.apxs
%{__make} top_dir=${topdir} %{__make}
%if %{selinux_module} %if %{selinux_module}
for selinuxvariant in %{selinux_variants} for selinuxvariant in %{selinux_variants}
do do
@ -110,15 +106,13 @@ done
%install %install
%{__rm} -rf %{buildroot} %{__rm} -rf %{buildroot}
topdir=$(/usr/bin/dirname $(/usr/sbin/apxs -q exp_installbuilddir)) %{__make} DESTDIR=%{buildroot} MKINSTALLDIRS="%{__mkdir_p}" install
%{__make} \
top_dir=${topdir} \
DESTDIR=%{buildroot} \
MKINSTALLDIRS="%{__mkdir_p}" \
install
%{__install} -D -m 644 fcgid.conf %{buildroot}%{_sysconfdir}/httpd/conf.d/fcgid.conf %{__install} -D -m 644 fcgid.conf %{buildroot}%{_sysconfdir}/httpd/conf.d/fcgid.conf
%{__install} -d -m 755 %{buildroot}%{_localstatedir}/run/mod_fcgid %{__install} -d -m 755 %{buildroot}%{_localstatedir}/run/mod_fcgid
# Include the manual as %doc, don't need it elsewhere
%{__rm} -rf %{buildroot}%{_var}/www/manual
# Install SELinux policy modules # Install SELinux policy modules
%if %{selinux_module} %if %{selinux_module}
for selinuxvariant in %{selinux_variants} for selinuxvariant in %{selinux_variants}
@ -161,8 +155,10 @@ exit 0
%files %files
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc ChangeLog AUTHOR COPYING configuration.htm directives.htm # mod_fcgid.html.en is explicitly encoded as ISO-8859-1
%doc README.RPM %doc CHANGES-FCGID LICENSE-FCGID NOTICE-FCGID README-FCGID STATUS-FCGID
%doc docs/manual/mod/mod_fcgid.html.en modules/fcgid/ChangeLog
%doc build/fixconf.sed
%{_libdir}/httpd/modules/mod_fcgid.so %{_libdir}/httpd/modules/mod_fcgid.so
%config(noreplace) %{_sysconfdir}/httpd/conf.d/fcgid.conf %config(noreplace) %{_sysconfdir}/httpd/conf.d/fcgid.conf
%dir %attr(0755,apache,apache) %{_localstatedir}/run/mod_fcgid/ %dir %attr(0755,apache,apache) %{_localstatedir}/run/mod_fcgid/
@ -175,6 +171,29 @@ exit 0
%endif %endif
%changelog %changelog
* Mon Oct 12 2009 Paul Howarth <paul@city-fan.org> 2.3.4-1
- Update to 2.3.4 (configuration directives changed again)
- Add fixconf.sed script for config file directives update
* Fri Sep 25 2009 Paul Howarth <paul@city-fan.org> 2.3.1-2.20090925svn818270
- Update to svn revision 818270
- DESTDIR and header detection patches upstreamed
- Build SELinux policy module for EL-5; support in EL-5.3 is incomplete and
will be fixed in EL-5.5 (#519369)
- Drop aliases httpd_sys_content_r{a,o,w}_t -> httpd_fastcgi_content_r{a,o,w}_t
from pre-2.5 SElinux policy module as these types aren't defined there
* Wed Sep 23 2009 Paul Howarth <paul@city-fan.org> 2.3.1-1.20090923svn817978
- Update to post-2.3.1 svn snapshot
- Upstream moved to apache.org
- License changed to ASL 2.0
- Use FCGID-prefixed config file options (old ones deprecated)
- Lots of documentation changes
- Renumber sources
- Don't defer to mod_fastcgi if both are present
- Drop gawk buildreq
- Add patches fixing RPM build issues (DESTDIR support, header detection)
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2-13 * Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

View File

@ -1 +1 @@
ce7d7b16e69643dbd549d43d85025983 mod_fcgid.2.2.tar.gz de1af384672a4bf719038e79be029c09 mod_fcgid-2.3.4.tar.bz2