Please comment on the following draft ARC.
------------------------------------------------------------------------------
Additional Apache2 Modules -- mod_wsgi and mod_sed
17 February 2009
1. Summary and motivation
1.1. Introduction
This project delivers Apache modules mod_wsgi and mod_sed to the
Apache2 (PSARC/2007/586) in OpenSolaris.
Modules allow Apache to integrate and provide functionality during
runtime that were not available during compile time.
1.1.1 mod_wsgi
From modwsgi.org[1], "the aim of mod_wsgi is to implement a simple
to use Apache module which can host any Python application which
supports the Python WSGI interface. The module would be suitable
for use in hosting high performance production web sites, as well
as your average self managed personal sites running on web hosting
services."
1.1.2 mod_sed
The module mod_sed provides Unix sed like functionality for
modifying requests and responses to Apache HTTP server. This is a
Sun contributed module to apache.
This project integrates the most recent stable releases of
mod_wsgi[1] 2.3 and and mod_sed[2].
This case seeks Minor Release Binding.
2. Technical issues
2.1. Key objects
2.1.1.1 mod_wsgi objects
/usr/apache2/2.2/libexec/mod_wsgi.so
/usr/apache2/2.2/libexec/${ISAINFO}/mod_wsgi.so
2.1.2.1 mod_sed objects
/usr/apache2/2.2/libexec/mod_sed.so
/usr/apache2/2.2/libexec/${ISAINFO}/mod_sed.so
2.2 Versioning
mod_wsgi has a single active release while mod_sed is a backport
from the trunk to the Apache 2.2.X release.
It is not possible to query the modules to find out their
versions. The only way to do that is to look at the package
description for the package including it.
2.2 Directory Naming and Structure
This project delivers the shared libraries of 32 bit and 64 bit
into /usr/apache2/2.2/libexec and /usr/apache2/2.2/libexec/${ISAINFO}/
directories of apache. This is in keeping with the approach taken
by the Apache2 integration project for OpenSolaris (PSARC/2007/586).
3. Documentation
The modules mod_wsgi and mod_sed do not install documentation into
apache though they come with some documentation in their
source. The recommended way to access their documentation is to
look at their websites modwsgi.org[1] and mod_sed[2]. A list of
external apache modules that have been added and their
corresponding sites will be part of the release document.
4. Packaging and Delivery
The module mod_wsgi will be delivered under the cluster
SUNWCapch22m under the name SUNWapch22m-wsgi in keeping with the
naming of other external Apache modules.
The module mod_sed will be delivered under the cluster
SUNWCapch22m under the name SUNWapch22m-sed in keeping with the
naming of other external Apache modules.
5. Interfaces
5.1. Interface Stability
Both the modules are controlled by external organizations.
The specific researches regarding stability of each module
are captured below. It has to be mentioned that there is no
guarantee that the organizations mentioned above will stick
to these.
5.1.1 mod_wsgi
The mod_wsgi module implements the Web Server Gateway Interface
(WSGI). The complete list of directives are presented as Addendum
1 with explanations provided at
http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives.
5.1.2 mod_sed
The mod_sed is alpha, and is not stable.
5.2. Imported Interfaces
These Apache modules imports interfaces from
NAME STABILITY NOTES
------------------------------------------------------------
Apache2 Uncommitted PSARC/2007/586/
SUNWPython External PSARC/2009/043
5.3. Exported Interfaces
NAME STABILITY
---------------------------------------------------------------
/usr/apache2/2.2/libexec/mod_wsgi.so Volatile
/usr/apache2/2.2/libexec/${ISAINFO}/mod_wsgi.so Volatile
/usr/apache2/2.2/libexec/mod_sed.so Volatile
/usr/apache2/2.2/libexec/${ISAINFO}/mod_sed.so Volatile
/etc/apache2/2.2/conf.d/wsgi.conf Volatile
/etc/apache2/2.2/conf.d/sed.conf Volatile
The API of mod_wsgi is attached
as supporting materials for ARC case. Volatile
6. Limitations
None known at this time.
7. References
1. http://www.modwsgi.org/
2. http://src.opensolaris.org/source/xref/webstack/mod_sed/
3. http://src.opensolaris.org/source/xref/webstack/mod_sed/README
==============================================================================
Addendum 1
----------
mod_wsgi interfaces:
Configuration Directives
* WSGIScriptAlias
* WSGIScriptAliasMatch
* WSGIApplicationGroup
* WSGIDaemonProcess
* WSGISocketPrefix
* WSGIProcessGroup
* WSGIRestrictProcess
* WSGIImportScript
* WSGICallableObject
* WSGIPassAuthorization
* WSGIScriptReloading
* WSGIReloadMechanism
* WSGIOutputBuffering
* WSGICaseSensitivity
* WSGIPythonOptimize
* WSGIPythonExecutable
* WSGIPythonHome
* WSGIPythonPath
* WSGIPythonEggs
* WSGIRestrictStdin
* WSGIRestrictStdout
* WSGIRestrictSignal
* WSGIAcceptMutex