Will these modules be loaded by default ? Do you plan to provide the
corresponding '.conf' files ?
- sriram
rahul wrote:
> Hi,
> The *DRAFT* ARC case for mod_ruby and mod_python is below.
>
> Please do review.
>
>
> Additional Apache2 Modules mod_python and mod_ruby
>
> 11 March 2008
>
> 1. Summary and motivation
>
> 1.1. Introduction
>
> This project delivers Apache modules mod_python and mod_ruby
> 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_python
> From modpython.org[1] "mod_python is an Apache module that
> embeds the Python interpreter within the server. With mod_python you can
> write web-based applications in Python that will run many times faster
> than traditional CGI and will have access to advanced features such as
> ability to retain database connections and other data between hits and
> access to Apache internals"
>
> 1.1.2 mod_ruby
> From modruby.net[2] "mod_ruby embeds the Ruby interpreter into the
> Apache web server, allowing Ruby CGI scripts to be executed natively.
> These scripts will start up much faster than without mod_ruby."
>
> This project integrates the most recent stable releases of
> mod_python[1] 3.3.1 and mod_ruby[2] 1.2.6
>
> This case seeks Minor Release Binding.
>
> 2. Technical issues
>
> 2.1. Key objects
>
> 2.1.1.1 mod_python Apache objects
> /usr/apache2/2.2/libexec/mod_python.so
>
> /usr/apache2/2.2/libexec/${ISAINFO}/mod_python.so
>
> 2.1.1.2 mod_python library objects
>
> /usr/lib/python2.4/site-packages/mod_python/testhandler.py
> /usr/lib/python2.4/site-packages/mod_python/Cookie.py
> /usr/lib/python2.4/site-packages/mod_python/publisher.py
> /usr/lib/python2.4/site-packages/mod_python/__init__.py
> /usr/lib/python2.4/site-packages/mod_python/util.py
> /usr/lib/python2.4/site-packages/mod_python/cgihandler.py
> /usr/lib/python2.4/site-packages/mod_python/apache.py
> /usr/lib/python2.4/site-packages/mod_python/importer.py
> /usr/lib/python2.4/site-packages/mod_python/psp.py
> /usr/lib/python2.4/site-packages/mod_python/Session.py
> /usr/lib/python2.4/site-packages/mod_python/cache.py
> /usr/lib/python2.4/site-packages/mod_python/python22.py
> /usr/lib/python2.4/site-packages/mod_python/_psp.so
> /usr/lib/python2.4/site-packages/mod_python/${ISAINFO}/_psp.so
> /usr/lib/python2.4/site-packages/mod_python/testhandler.pyc
> /usr/lib/python2.4/site-packages/mod_python/Cookie.pyc
> /usr/lib/python2.4/site-packages/mod_python/publisher.pyc
> /usr/lib/python2.4/site-packages/mod_python/__init__.pyc
> /usr/lib/python2.4/site-packages/mod_python/util.pyc
> /usr/lib/python2.4/site-packages/mod_python/cgihandler.pyc
> /usr/lib/python2.4/site-packages/mod_python/apache.pyc
> /usr/lib/python2.4/site-packages/mod_python/importer.pyc
> /usr/lib/python2.4/site-packages/mod_python/psp.pyc
> /usr/lib/python2.4/site-packages/mod_python/Session.pyc
> /usr/lib/python2.4/site-packages/mod_python/cache.pyc
> /usr/lib/python2.4/site-packages/mod_python/python22.pyc
> /usr/lib/python2.4/site-packages/mod_python/testhandler.pyo
> /usr/lib/python2.4/site-packages/mod_python/Cookie.pyo
> /usr/lib/python2.4/site-packages/mod_python/publisher.pyo
> /usr/lib/python2.4/site-packages/mod_python/__init__.pyo
> /usr/lib/python2.4/site-packages/mod_python/util.pyo
> /usr/lib/python2.4/site-packages/mod_python/cgihandler.pyo
> /usr/lib/python2.4/site-packages/mod_python/apache.pyo
> /usr/lib/python2.4/site-packages/mod_python/importer.pyo
> /usr/lib/python2.4/site-packages/mod_python/psp.pyo
> /usr/lib/python2.4/site-packages/mod_python/Session.pyo
> /usr/lib/python2.4/site-packages/mod_python/cache.pyo
> /usr/lib/python2.4/site-packages/mod_python/python22.pyo
>
> 2.1.2.1 mod_ruby Apache objects
>
> /usr/apache2/2.2/libexec/mod_ruby.so
> /usr/apache2/2.2/libexec/${ISAINFO}/mod_ruby.so
>
> 2.1.2.2 mod_ruby library objects
>
> /usr/ruby/1.8/lib/ruby/1.8/apache/ruby-run.rb
> /usr/ruby/1.8/lib/ruby/1.8/apache/registry.rb
> /usr/ruby/1.8/lib/ruby/1.8/apache/eruby-run.rb
> /usr/ruby/1.8/lib/ruby/1.8/apache/erb-run.rb
> /usr/ruby/1.8/lib/ruby/1.8/apache/rd2html.rb
> /usr/ruby/1.8/lib/ruby/1.8/apache/ruby-debug.rb
> /usr/ruby/1.8/lib/ruby/1.8/apache/eruby-debug.rb
> /usr/ruby/1.8/lib/ruby/1.8/apache/ruby-profile.rb
> /usr/ruby/1.8/lib/ruby/1.8/apache/rails-dispatcher.rb
> /usr/ruby/1.8/lib/ruby/1.8/apache/query.rb
>
> 2.2 Versioning
>
> mod_python and mod_ruby have a single active 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).
>
> The scriping language libraries are made available under the
> standard location for their respective languages.
>
> 3. Documentation
>
> The modules mod_python and mod_ruby 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 modpython.org[1] and modruby.net[2]. A list of external apache
> modules that has been added and their corresponding sites will be part
> of the release document.
>
> 4. Packaging and Delivery
>
> The modules will be split into two parts. One the apache part which
> consists of modules loadable into apache, and another the scripting
> library part.
>
> The apache modules will be delivered under the cluster SUNWCapch22m.
> This cluster will carry SUNWapch22m-python and SUNWapch22m-ruby.
>
> The scripting library part of mod_python will be delivered under
> SUNWPython-apache.
>
> The scripting library part of mod_ruby will be delivered under
> SUNWruby18-apache.
>
> 5. Interfaces
>
> 5.1. Interface Stability
>
> The interface stability of both of these modules are Volatile as
> these are controlled by external organisations over which Sun has
> no control. The specific researches regarding stability of each
> module are captured below.
>
> 5.1.1 mod_python
> "X.Y.Z to X.Y.Z+n would generally aim to be compatible. X.Y to
> X.Y+n or X to X+n probably aren't going to be compatible except for where
> you are using possibly some core subset of mod_python functionality."
> The complete list of directives are presented as Addendum 1. The
> complete list of all directives APIs and their explanations as
> provided by modpython.org is available as modpython.pdf
>
>
> 5.1.2 mod_ruby
> There were no commitments from mod_ruby developers in this
> regard. The project has not had a release after 2006. The interface of
> mod_ruby (its configuration options) is presented as Addendum 2. The
> complete list of APIs and their explanation as provided by modruby.net
> is available as mod_ruby_classes.en.rd and mod_ruby_directives.en.rd
> (both are plain text files in ruby rdoc format.)
>
> 5.2. Imported Interfaces
>
> These Apache modules imports interfaces from
>
> NAME STABILITY NOTES
> ------------------------------------------------------------
> Apache2 Uncommitted PSARC/2007/586/
> SUNWPython External PSARC/2005/532/
> SUNWruby18u Uncommitted PSARC/2007/600/
>
>
> 5.3. Exported Interfaces
>
> NAME STABILITY
> ---------------------------------------------------------------
> /usr/apache2/2.2/libexec/mod_python.so Volatile
> /usr/apache2/2.2/libexec/mod_ruby.so Volatile
> /usr/apache2/2.2/libexec/${ISAINFO}/mod_python.so Volatile
> /usr/apache2/2.2/libexec/${ISAINFO}/mod_ruby.so Volatile
>
> /usr/lib/python2.4/site-packages/mod_python/testhandler.py Volatile
> /usr/lib/python2.4/site-packages/mod_python/Cookie.py Volatile
> /usr/lib/python2.4/site-packages/mod_python/publisher.py Volatile
> /usr/lib/python2.4/site-packages/mod_python/__init__.py Volatile
> /usr/lib/python2.4/site-packages/mod_python/util.py Volatile
> /usr/lib/python2.4/site-packages/mod_python/cgihandler.py Volatile
> /usr/lib/python2.4/site-packages/mod_python/apache.py Volatile
> /usr/lib/python2.4/site-packages/mod_python/importer.py Volatile
> /usr/lib/python2.4/site-packages/mod_python/psp.py Volatile
> /usr/lib/python2.4/site-packages/mod_python/Session.py Volatile
> /usr/lib/python2.4/site-packages/mod_python/cache.py Volatile
> /usr/lib/python2.4/site-packages/mod_python/python22.py Volatile
> /usr/lib/python2.4/site-packages/mod_python/_psp.so Volatile
> /usr/lib/python2.4/site-packages/mod_python/${ISAINFO}/_psp.so Volatile
> /usr/lib/python2.4/site-packages/mod_python/testhandler.pyc Volatile
> /usr/lib/python2.4/site-packages/mod_python/Cookie.pyc Volatile
> /usr/lib/python2.4/site-packages/mod_python/publisher.pyc Volatile
> /usr/lib/python2.4/site-packages/mod_python/__init__.pyc Volatile
> /usr/lib/python2.4/site-packages/mod_python/util.pyc Volatile
> /usr/lib/python2.4/site-packages/mod_python/cgihandler.pyc Volatile
> /usr/lib/python2.4/site-packages/mod_python/apache.pyc Volatile
> /usr/lib/python2.4/site-packages/mod_python/importer.pyc Volatile
> /usr/lib/python2.4/site-packages/mod_python/psp.pyc Volatile
> /usr/lib/python2.4/site-packages/mod_python/Session.pyc Volatile
> /usr/lib/python2.4/site-packages/mod_python/cache.pyc Volatile
> /usr/lib/python2.4/site-packages/mod_python/python22.pyc Volatile
> /usr/lib/python2.4/site-packages/mod_python/testhandler.pyo Volatile
> /usr/lib/python2.4/site-packages/mod_python/Cookie.pyo Volatile
> /usr/lib/python2.4/site-packages/mod_python/publisher.pyo Volatile
> /usr/lib/python2.4/site-packages/mod_python/__init__.pyo Volatile
> /usr/lib/python2.4/site-packages/mod_python/util.pyo Volatile
> /usr/lib/python2.4/site-packages/mod_python/cgihandler.pyo Volatile
> /usr/lib/python2.4/site-packages/mod_python/apache.pyo Volatile
> /usr/lib/python2.4/site-packages/mod_python/importer.pyo Volatile
> /usr/lib/python2.4/site-packages/mod_python/psp.pyo Volatile
> /usr/lib/python2.4/site-packages/mod_python/Session.pyo Volatile
> /usr/lib/python2.4/site-packages/mod_python/cache.pyo Volatile
> /usr/lib/python2.4/site-packages/mod_python/python22.pyo Volatile
>
> /usr/ruby/1.8/lib/ruby/1.8/apache/ruby-run.rb Volatile
> /usr/ruby/1.8/lib/ruby/1.8/apache/registry.rb Volatile
> /usr/ruby/1.8/lib/ruby/1.8/apache/eruby-run.rb Volatile
> /usr/ruby/1.8/lib/ruby/1.8/apache/erb-run.rb Volatile
> /usr/ruby/1.8/lib/ruby/1.8/apache/rd2html.rb Volatile
> /usr/ruby/1.8/lib/ruby/1.8/apache/ruby-debug.rb Volatile
> /usr/ruby/1.8/lib/ruby/1.8/apache/eruby-debug.rb Volatile
> /usr/ruby/1.8/lib/ruby/1.8/apache/ruby-profile.rb Volatile
> /usr/ruby/1.8/lib/ruby/1.8/apache/rails-dispatcher.rb Volatile
> /usr/ruby/1.8/lib/ruby/1.8/apache/query.rb Volatile
>
>
>
> 6. References
>
> 1. http://www.modpython.org/
> 2. http://www.modruby.net/
>
>
> ==============================================================================
>
> Addendum 1
> ----------
> mod_python interfaces:
> Configuration Directives
> Request Handlers
> PythonPostReadRequestHandler
> PythonTransHandler
> PythonHeaderParserHandler
> PythonInitHandler
> PythonAccessHandler
> PythonAuthenHandler
> PythonAuthzHandler
> PythonTypeHandler
> PythonFixupHandler
> PythonHandler
> PythonLogHandler
> PythonCleanupHandler
> Filters
> PythonInputFilter
> PythonOutputFilter
> Connection Handler
> PythonConnectionHandler
> Other Directives
> PythonEnablePdb
> PythonDebug
> PythonImport
> PythonInterpPerDirectory
> PythonInterpPerDirective
> PythonInterpreter
> PythonHandlerModule
> PythonAutoReload
> PythonOptimize
> PythonOption
> PythonPath
>
> ==============================================================================
>
> Addendum 2
> ----------
> mod_ruby interfaces:
>
> Configuration Directives
> Request Handlers
> RubyTransHandler
> RubyAuthenHandler
> RubyAuthzHandler
> RubyAccessHandler
> RubyTypeHandler
> RubyFixupHandler
> RubyLogHandler
> RubyHeaderParserHandler
> RubyPostReadRequestHandler
> RubyInitHandler
> RubyCleanupHandler
> Other Directives
> RubyPassEnv
> RubySetEnv
> RubyTimeOut
> RubySafeLevel
> RubyOutputMode
> RubyKanjiCode
> RubyRestrictDirectives
> RubyGcPerRequest
>
>
>
> (The modpython.pdf file and mod_ruby*.rd files are not attached.)
>
>
> _______________________________________________
>
>
> webstack-discuss mailing list
> webstack-discuss at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/webstack-discuss
>