This site best when viewed with a modern standards-compliant browser. We recommend Firefox Get Firefox!.

Linux-HA project logo
Providing Open Source High-Availability Software for Linux and other OSes since 1999.

USA Flag UK Flag

Japanese Flag

Homepage

About Us

Contact Us

Legal Info

How To Contribute

Security Issues

This web page is no longer maintained. Information presented here exists only to avoid breaking historical links.
The Project stays maintained, and lives on: see the Linux-HA Reference Documentation.
To get rid of this notice, you may want to browse the old wiki instead.

1 February 2010 Hearbeat 3.0.2 released see the Release Notes

18 January 2009 Pacemaker 1.0.7 released see the Release Notes

16 November 2009 LINBIT new Heartbeat Steward see the Announcement

Last site update:
2017-12-15 01:16:10

Contents

  1. Apache Root Wiki
  2. Root wiki with mod python recipe

/!\ 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. Put all static files into one distinct path below your docroot. In this example we call it _static.

  3. Edit wikiconfig to reflect the place of the static files. This normally means to change url_prefix.

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

      RewriteEngine On
      RewriteLogLevel 0
      ## if URL starts with our static prefix, don't change and abort
      RewriteRule ^/_static - [last]
      ## static files are somewhere else? ok...
      # RewriteRule ^/_static(.*)$ /path/to/static$1 [last]
      ## map everything else to moin.cgi/moin.fcg
      RewriteRule ^(.*)$ /path/to/moin.cgi$1 [type=application/x-httpd-cgi]
      # 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.