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