# HG changeset patch # User Augusto Herrmann # Date 1318467695 10800 # Node ID 662173ba1846fc8c1a494e5da9c8cf265dc54352 # Parent 6f468ba37650450e612892fb488e90f8992b9439 Improvements to mod_wsgi setup documentation. diff -r 6f468ba37650 -r 662173ba1846 docs/setup.rst --- a/docs/setup.rst Wed Oct 12 14:43:46 2011 +0200 +++ b/docs/setup.rst Wed Oct 12 22:01:35 2011 -0300 @@ -443,8 +443,8 @@ In order to not have the statics served by the application. This improves speed. -Apache virtual host example ---------------------------- +Apache virtual host reverse proxy example +----------------------------------------- Here is a sample configuration file for apache using proxy:: @@ -503,6 +503,27 @@ Apache's WSGI config -------------------- +Alternatively, RhodeCode can be set up with Apache under mod_wsgi. For +that, you'll need to: + +- Install mod_wsgi. If using a Debian-based distro, you can install + the package libapache2-mod-wsgi:: + aptitude install libapache2-mod-wsgi +- Enable mod_wsgi:: + a2enmod wsgi +- Create a wsgi dispatch script, like the one below. Make sure you + check the paths correctly point to where you installed RhodeCode + and its Python Virtual Environment. +- Enable the WSGIScriptAlias directive for the wsgi dispatch script, + as in the following example. Once again, check the paths are + correctly specified. + +Here is a sample excerpt from an Apache Virtual Host configuration file:: + + WSGIDaemonProcess pylons user=www-data group=www-data processes=1 \ + threads=4 \ + python-path=/home/web/rhodecode/pyenv/lib/python2.6/site-packages + WSGIScriptAlias / /home/web/rhodecode/dispatch.wsgi Example wsgi dispatch script:: @@ -512,6 +533,9 @@ # sometimes it's needed to set the curent dir os.chdir('/home/web/rhodecode/') + + import site + site.addsitedir("/home/web/rhodecode/pyenv/lib/python2.6/site-packages") from paste.deploy import loadapp from paste.script.util.logging_config import fileConfig @@ -519,6 +543,10 @@ fileConfig('/home/web/rhodecode/production.ini') application = loadapp('config:/home/web/rhodecode/production.ini') +Note: when using mod_wsgi you'll need to install the same version of +Mercurial that's inside RhodeCode's virtualenv also on the system's Python +environment. + Other configuration files -------------------------