[FrontPage] [TitleIndex] [WordIndex

1. Why use mod_wsgi?

See the mod_wsgi homepage.

(!) Please note that its "daemon mode" should be the preferred way to use it (and this is the reason to prefer mod_wsgi over mod_python).

2. Basic configuring

  1. Install mod_wsgi
  2. Set up a wiki instance
  3. Edit wikiconfig.py

  4. Changes to Apache configuration
  5. Restart Apache


2.1. Install mod_wsgi

Most people will just add a mod_wsgi package to their current operating system installation. If you are building from source then you should consult the mod_wsgi documentation (it is rather easy if you have a development environment installed).

Make sure you have this line in your apache configuration or mod_wsgi will not work:

LoadModule wsgi_module modules/mod_wsgi.so

After this restart Apache and make sure that it starts successfully (also check the the error log).

2.2. Set up a wiki instance

This is done as shown in WikiInstanceCreation. Its recommended to first configure the wiki with cgi and check that it works, then change the configuratin to use mod_wsgi. This allows you be sure that any problems are in the mod_wsgi transition rather than the basic MoinMoin installation.

  1. Copy moin.cgi into your wiki directory
  2. Configure httpd.conf as cgi first (Alias shown is for 1.7.0, for other versions please change it):

    • Alias /moin_static170/ "/usr/share/moin/htdocs/"

Restart Apache and make test that your wiki works.

2.3. Edit `wikiconfig.py`

Make sure you use only absolute paths:


Test that the wiki works after this change.

2.4. Changes to Apache configuration




Add this to the same virtualhost definition (Alias shown is for 1.7.0, for other versions please change it):

    # this is for icons, css, js (and must match url_prefix from wiki config):
    Alias /moin_static170/ /usr/share/moin/htdocs/

    # this is the URL http://servername/mywiki/ you will use later to invoke moin:

    # in case you want your wiki under the root url (http://servername/), use this instead:

    # create some wsgi daemons - use someuser.somegroup same as your data_dir:
    # for mod_wsgi >= 2.0 you can append this to have a nice ps aux display:
    # display-name=wsgi-moin

    # use the daemons we defined above to process requests!
    WSGIProcessGroup moin


Restart Apache - everything should now work correctly.

2018-04-20 12:04