# HG changeset patch # User Thomas De Schampheleire # Date 2019-05-10 19:05:21 # Node ID ee37a78c69509aae0c3d67323ccb8ff0eb23de1e # Parent d7bcdb6ba6dce0f2889d99377c1d847a3df5c8df docs: move Apache+mod_wsgi example code to the corresponding bullets The documentation about Apache+mod_wsgi has bullet points with inline snippets, yet the example WSGI dispatch script is placed at the bottom of the section instead of near its corresponding bullet. It seems more readable and more according to the logical setup flow to move the code next to its bullet. Due to the additional indentation required to 'attach' the code to the bullet, this commit is best viewed with the 'ignore whitespace changes' setting. diff --git a/docs/setup.rst b/docs/setup.rst --- a/docs/setup.rst +++ b/docs/setup.rst @@ -499,71 +499,68 @@ that, you'll need to: WSGIRestrictEmbedded On -- Create a wsgi dispatch script, like the one below. Make sure you +- Create a WSGI dispatch script, like the one below. Make sure you check that the paths correctly point to where you installed Kallithea 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. + + .. code-block:: python -Here is a sample excerpt from an Apache Virtual Host configuration file: + import os + os.environ['PYTHON_EGG_CACHE'] = '/srv/kallithea/.egg-cache' -.. code-block:: apache + # sometimes it's needed to set the current dir + os.chdir('/srv/kallithea/') - WSGIDaemonProcess kallithea processes=5 threads=1 maximum-requests=100 \ - python-home=/srv/kallithea/venv - WSGIProcessGroup kallithea - WSGIScriptAlias / /srv/kallithea/dispatch.wsgi - WSGIPassAuthorization On + import site + site.addsitedir("/srv/kallithea/venv/lib/python2.7/site-packages") -Or if using a dispatcher WSGI script with proper virtualenv activation: + ini = '/srv/kallithea/my.ini' + from logging.config import fileConfig + fileConfig(ini) + from paste.deploy import loadapp + application = loadapp('config:' + ini) -.. code-block:: apache + Or using proper virtualenv activation: - WSGIDaemonProcess kallithea processes=5 threads=1 maximum-requests=100 - WSGIProcessGroup kallithea - WSGIScriptAlias / /srv/kallithea/dispatch.wsgi - WSGIPassAuthorization On + .. code-block:: python -Apache will by default run as a special Apache user, on Linux systems -usually ``www-data`` or ``apache``. If you need to have the repositories -directory owned by a different user, use the user and group options to -WSGIDaemonProcess to set the name of the user and group. + activate_this = '/srv/kallithea/venv/bin/activate_this.py' + execfile(activate_this, dict(__file__=activate_this)) -Example WSGI dispatch script: + import os + os.environ['HOME'] = '/srv/kallithea' -.. code-block:: python - - import os - os.environ['PYTHON_EGG_CACHE'] = '/srv/kallithea/.egg-cache' + ini = '/srv/kallithea/kallithea.ini' + from logging.config import fileConfig + fileConfig(ini) + from paste.deploy import loadapp + application = loadapp('config:' + ini) - # sometimes it's needed to set the current dir - os.chdir('/srv/kallithea/') +- Enable the ``WSGIScriptAlias`` directive for the WSGI dispatch script, as in + the following example from an Apache Virtual Host configuration file. Once + again, check the paths are correctly specified. - import site - site.addsitedir("/srv/kallithea/venv/lib/python2.7/site-packages") + .. code-block:: apache - ini = '/srv/kallithea/my.ini' - from logging.config import fileConfig - fileConfig(ini) - from paste.deploy import loadapp - application = loadapp('config:' + ini) + WSGIDaemonProcess kallithea processes=5 threads=1 maximum-requests=100 \ + python-home=/srv/kallithea/venv + WSGIProcessGroup kallithea + WSGIScriptAlias / /srv/kallithea/dispatch.wsgi + WSGIPassAuthorization On -Or using proper virtualenv activation: + Or if using a dispatcher WSGI script with proper virtualenv activation: -.. code-block:: python + .. code-block:: apache - activate_this = '/srv/kallithea/venv/bin/activate_this.py' - execfile(activate_this, dict(__file__=activate_this)) - - import os - os.environ['HOME'] = '/srv/kallithea' + WSGIDaemonProcess kallithea processes=5 threads=1 maximum-requests=100 + WSGIProcessGroup kallithea + WSGIScriptAlias / /srv/kallithea/dispatch.wsgi + WSGIPassAuthorization On - ini = '/srv/kallithea/kallithea.ini' - from logging.config import fileConfig - fileConfig(ini) - from paste.deploy import loadapp - application = loadapp('config:' + ini) + Apache will by default run as a special Apache user, on Linux systems + usually ``www-data`` or ``apache``. If you need to have the repositories + directory owned by a different user, use the user and group options to + WSGIDaemonProcess to set the name of the user and group. Other configuration files