| [FrontPage] [TitleIndex] [WordIndex]

# HelpOnConfiguration/ApacheVoodoo

Contents

Voodoo is not for newbies!

This page gives some nice but advanced tricks for a moin apache setup. The directives on this page assume that you have knowledge about apache configuration, newbies should stick to the basic setup.

# Apache Root Wiki

This requires an apache including mod_rewrite (which should be standard)

An apache root wiki is a easy thing, but it has its 'edges': cause moin needs to access certain static files (images, css, etc.) its steals a part of the possible WikiName namespace.

1. Install moin as normal.

2. Set `url_prefix` in your `wikiconfig.py`:

   -         url_prefix = '/_static'

3. Add the following lines to your apache (vhost?) config:

   -       RewriteEngine On
           RewriteLogLevel 0

           # Point to moin shared static files
           RewriteRule ^/_static/(.*)$ /prefix/share/moin/htdocs/$1 [last]

           # Map everything else to moin cgi script
           RewriteRule ^(.*)$ /path/to/moin.cgi$1 [type=application/x-httpd-cgi]

           # Setting for FastCGI
           ##RewriteRule ^(.*)$ /path/to/moin.fcg$1 [type=application/x-httpd-fcgi]

The RewriteRule for FastCGI here does not work for me:

    [Wed Jan 05 01:43:41 2005] [error] [client 10.0.0.1] File does not exist: /home/apache/moin/wiki/share/moin/pw/moin.fcg/RecentChanges, referer: http://moin.dahoam/StartSeite
    duplo:/home/danielt# ls /home/apache/moin/wiki/share/moin/pw/moin.fcg
    -rwxr-xr-x  1 root  www  1088 Jan  4 23:35 /home/apache/moin/wiki/share/moin/pw/moin.fcg*

As a workaround I use this:

      RewriteRule ^/?(.*) /_Wikiscript_/moin.fcg/$1
      RewriteRule ^/_Wikiscript_/(.*) /home/apache/moin/wiki/share/moin/pw/$1 [last]

# Root wiki with mod python recipe

Using the previous example, I got this working like this:

1. Install moin as usual and create instance
2. Use this config in httpd.conf

   -     NameVirtualHost 192.115.134.51:80
         <VirtualHost 192.115.134.51:80>
             ServerName wiki.nirs.dyndns.org
             ServerAlias wiki

             # Rewrite urls
             RewriteEngine On
             RewriteLogLevel 0
             # map static files to htdocs
             RewriteRule ^/wiki/(.*)$ /usr/share/moin/htdocs/$1 [last]
             # map everything else to server script
             RewriteRule ^(.*)$ /usr/share/moin/mywiki/moinmodpy.py$1

             <Directory "/usr/share/moin/mywiki">
                 # These are copied from the default cgi-bin directory
                 AllowOverride None
                 Options None
                 Order allow,deny
                 Allow from all

                 # Modpy stuff
                 AddHandler python-program .py
                 # Add the path to the wiki directory, where moinmodpy.py and
                 # wikiconfig.py are located.
                 PythonPath "['/usr/share/moin/mywiki'] + sys.path"
                 PythonHandler moinmodpy
                 PythonDebug On
             </Directory>
         </VirtualHost>

It seems to be impossible to get a root modpy wiki without using the moinmodpy wrapper script.

2007-07-30 15:45