I am sponsoring this case for Jeff Trawick, timeout set to 11/11.
The project updates the mod_fcgid version from 2.2 to 2.3.4.
Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
This information is Copyright 2009 Sun Microsystems
1. Introduction
1.1. Project/Component Working Name:
Update mod_fcgid to 2.3.4 in OpenSolaris
1.2. Name of Document Author/Supplier:
Author: Jeff Trawick
1.3 Date of This Document:
04 November, 2009
4. Technical Description
Update mod_fcgid to 2.3.4 in OpenSolaris
1. Introduction
1.1. Project/Component Working Name:
Update mod_fcgid to 2.3.4 in OpenSolaris
1.2. Name of Document Author/Supplier:
Author: Jeff Trawick (jeffrey.trawick at sun.com)
1.3 Date of This Document:
4 November 2009
2. Summary
2.1. Update mod_fcgid to 2.3.4
mod_fcgid is a popular module for Apache HTTP Server 2.0 and
above which can manage FastCGI application processes and route
requests to them.
The current mod_fcgid version in OpenSolaris is 2.2, and is the
final release that was developed outside of the Apache Software
Foundation. Integration of that version is covered by ARC case
PSARC/2008/090. [1]
In 2009 the project moved to the Apache Software Foundation (ASF)
as a subproject of Apache HTTP Server [2], and with the
permission of the authors it was relicensed from GPL to ASL 2.0.
As a subproject of Apache HTTP Server, mod_fcgid is distributed
stand-alone and on a separate release cycle from Apache HTTP
Server.
2.3.4 is the first GA release of the module after the move to
the ASF (and also, the first release since 2007), and is
considered stable for production use.
The old mod_fcgid documentation was not part of the 2.2 software
distribution, so it was not installed with mod_fcgid on
OpenSolaris. This documentation also was not part of the donated,
relicensed mod_fcgid software, and has been replaced by a new
reference guide [3]. It will will be installed with the updated
mod_fcgid on OpenSolaris.
Version 2.3.4 includes a number of bug fixes, particularly in
the area of configuration. Additionally, new names have been
given to all directives to be more consistent with existing
httpd practices. (Existing directives are still supported.)
The "FcgidCmdOptions" directive has been added. [4]
The mod_fcgid 2.3.4 change log can be found here:
http://svn.apache.org/viewvc/httpd/mod_fcgid/tags/2.3.4/
CHANGES-FCGID?revision=823075&view=markup
3. Technical Description
3.1. New Configuration Directives
These are documented in the mod_fcgid reference manual. [3]
3.1.1. FcgidCmdOptions
This directive provides a way to associate application-related
settings with a particular FastCGI application, providing an
alternative to applying these settings to all applications.
3.1.2. New names for existing directives
Refer to the list in section 4.1.1.
3.2. Default Configuration
Currently mod_fcgid delivers a sample Apache HTTP Server configuration
file in etc/apache2/2.2/samples-conf.d/fcgid.conf which the user can
then copy to etc/apache2/2.2/conf.d/fcgid.conf and possibly modify in
order to activate.
The configuration philosophy for Apache HTTP Server modules is that
installing the module (e.g., installing SUNWapch22m-fcgid in the case
of mod_fcgid) should activate it, as long as a meaningful
configuration can be delivered and license restrictions don't preclude
automatic integration. This project will implement this level of
integration for mod_fcgid. The existing fcgid.conf file currently
installed as a sample to the etc/apache2/2.2/samples-conf.d directory
will instead be installed to etc/apache2/2.2/conf.d so that it is
processed by default. (The new directive names FcgidProcessTableFile
and FcgidIPCDir should be used instead of the obsolete names
SharememPath and SocketPath.)
The file will be installed as renamenew so that if a user has already
copied fcgid.conf to the active configuration directory (and
potentially modified it), then the new file won't overwrite it or be
activated. (Only *.conf files in that directory are activated.)
3.3. Effect of Bug Fixes on Existing Configurations
Most existing mod_fcgid configurations are expected to continue to
work without modification. However, some of the bug fixes in the
handling of configuration can cause some existing configurations to be
rejected or to work differently. mod_fcgid 2.2 would allow some
directives to be placed inside <VirtualHost ...> but not respect the
setting; with 2.3.4, some of these settings are now respected and
the rest result in a configuration error. mod_fcgid 2.2 had some
defects in the inheritance of configuration settings within nested
scopes which resulted in unexpected processing for some
configurations. It is possible that the resulting behavior was
desired, and that changes would need to be made to the configuration
to achieve the same behavior with mod_fcgid 2.3.4.
These issues are described in an upgrade section of the mod_fcgid
readme file. [5] Product documentation should either include that
information or refer to it.
4. Interfaces
4.1. Exported Interfaces
4.1.1. Configuration directives
These are new names for existing directives, except for the new
FcgidCmdOptions directive.
NAME STABILITY NOTES
FcgidAccessChecker Uncommitted mod_fcgid configuration
directive
FcgidAccessCheckerAuthoritative Uncommitted mod_fcgid configuration
directive
FcgidAuthenticator Uncommitted mod_fcgid configuration
directive
FcgidAuthenticatorAuthoritative Uncommitted mod_fcgid configuration
directive
FcgidAuthorizer Uncommitted mod_fcgid configuration
directive
FcgidAuthorizerAuthoritative Uncommitted mod_fcgid configuration
directive
FcgidBusyScanInterval Uncommitted mod_fcgid configuration
directive
FcgidBusyTimeout Uncommitted mod_fcgid configuration
directive
FcgidCmdOptions Uncommitted mod_fcgid configuration
directive
FcgidConnectTimeout Uncommitted mod_fcgid configuration
directive
FcgidErrorScanInterval Uncommitted mod_fcgid configuration
directive
FcgidFixPathinfo Uncommitted mod_fcgid configuration
directive
FcgidIdleScanInterval Uncommitted mod_fcgid configuration
directive
FcgidIdleTimeout Uncommitted mod_fcgid configuration
directive
FcgidInitialEnv Uncommitted mod_fcgid configuration
directive
FcgidIOTimeout Uncommitted mod_fcgid configuration
directive
FcgidIPCDir Uncommitted mod_fcgid configuration
directive
FcgidMaxProcesses Uncommitted mod_fcgid configuration
directive
FcgidMaxProcessesPerClass Uncommitted mod_fcgid configuration
directive
FcgidMaxRequestInMem Uncommitted mod_fcgid configuration
directive
FcgidMaxRequestLen Uncommitted mod_fcgid configuration
directive
FcgidMaxRequestsPerProcess Uncommitted mod_fcgid configuration
directive
FcgidMinRequestsPerProcess Uncommitted mod_fcgid configuration
directive
FcgidMinProcessesPerClass Uncommitted mod_fcgid configuration
directive
FcgidOutputBufferSize Uncommitted mod_fcgid configuration
directive
FcgidPassHeader Uncommitted mod_fcgid configuration
directive
FcgidProcessLifeTime Uncommitted mod_fcgid configuration
directive
FcgidProcessTableFile Uncommitted mod_fcgid configuration
directive
FcgidSpawnScore Uncommitted mod_fcgid configuration
directive
FcgidSpawnScoreUpLimit Uncommitted mod_fcgid configuration
directive
FcgidTerminationScore Uncommitted mod_fcgid configuration
directive
FcgidTimeScore Uncommitted mod_fcgid configuration
directive
FcgidWrapper Uncommitted mod_fcgid configuration
directive
FcgidZombieScanInterval Uncommitted mod_fcgid configuration
directive
These existing directive names are deprecated and slated for removal
after the mod_fcgid 2.3.x branch:
BusyScanInterval Obsolete Uncommitted config directive
BusyTimeout Obsolete Uncommitted config directive
DefaultInitEnv Obsolete Uncommitted config directive
DefaultMaxClassProcessCount Obsolete Uncommitted config directive
DefaultMinClassProcessCount Obsolete Uncommitted config directive
ErrorScanInterval Obsolete Uncommitted config directive
FastCgiAccessChecker Obsolete Uncommitted config directive
FastCgiAccessCheckerAuthoritative Obsolete Uncommitted config directive
FastCgiAuthenticator Obsolete Uncommitted config directive
FastCgiAuthenticatorAuthoritative Obsolete Uncommitted config directive
FastCgiAuthorizer Obsolete Uncommitted config directive
FastCgiAuthorizerAuthoritative Obsolete Uncommitted config directive
FCGIWrapper Obsolete Uncommitted config directive
IdleScanInterval Obsolete Uncommitted config directive
IdleTimeout Obsolete Uncommitted config directive
IPCCommTimeout Obsolete Uncommitted config directive
IPCConnectTimeout Obsolete Uncommitted config directive
MaxProcessCount Obsolete Uncommitted config directive
MaxRequestInMem Obsolete Uncommitted config directive
MaxRequestLen Obsolete Uncommitted config directive
MaxRequestsPerProcess Obsolete Uncommitted config directive
OutputBufferSize Obsolete Uncommitted config directive
PassHeader Obsolete Uncommitted config directive
PHP_Fix Obsolete Uncommitted config directive
ProcessLifeTime Obsolete Uncommitted config directive
SharememPath Obsolete Uncommitted config directive
SocketPath Obsolete Uncommitted config directive
SpawnScore Obsolete Uncommitted config directive
SpawnScoreUpLimit Obsolete Uncommitted config directive
TerminationScore Obsolete Uncommitted config directive
TimeScore Obsolete Uncommitted config directive
ZombieScanInterval Obsolete Uncommitted config directive
The mod_fcgid reference guide has a table which maps the old names to
new names. [6]
4.1.2. Configuration files added
etc/apache2/2.2/conf.d/fcgid.conf Uncommitted httpd configuration file to
load mod_fcgid and provide
default configuration;
delivered as renamenew
4.1.3. Configuration files no longer delivered
etc/apache2/2.2/samples-conf.d/fcgid.conf
5. References
[1] http://arc.opensolaris.org/caselog/PSARC/2008/090/
[2] http://httpd.apache.org/mod_fcgid/
[3] http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
[4] http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html#fcgidcmdoptions
[5] section "Incompatible configuration changes" of
http://svn.apache.org/viewvc/httpd/mod_fcgid/trunk/README-FCGID
?revision=822576&view=markup
[6] http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html#upgrade
6. Resources and Schedule
6.4. Steering Committee requested information
6.4.1. Consolidation C-team Name:
sfw
6.5. ARC review type: FastTrack
6.6. ARC Exposure: open