/!\ Voodoo non è per gli inesperti!

Questa pagina fornisce alcuni utili e avanzati consigli per una configurazione di moin con Apache. Le direttive presenti in questa pagina assumono una conoscenza della configurazione di Apache, gli utenti inesperti dovrebbero attenersi alle impostazioni di base.

Root wiki Apache

/!\ Richiede il modulo "mod_rewrite" di Apache (dovrebbe essere disponibile in modo predefinito)

Una root wiki con Apache è molto semplice, ma ha le sue limitazioni. Dato che moin necessita l'accesso ad alcuni file statici (immagini, css, etc...), intercetta una parte dei NomiWiki.

  1. Installare moin normalmente.
  2. Aggiungere le seguenti righe alla configurazione dell'host virtuale:

      RewriteEngine On
      RewriteLogLevel 0
      
      # Point to moin shared static files - DIPENDE DALLA VERSIONE DI MOIN!
      RewriteRule ^/moin_static160/(.*)$ /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]

La RewriteRule per FastCGI in alcuni casi non funziona:

[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*

Come possibile soluzione:

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

Root wiki su Mac OSX

/!\ Questa configurazione intercetta tutti gli URL delle cartelle degli utenti come http://127.0.0.1/~tuonome/ e presenta una pagina wiki vuota. Queste istruzioni sono solamente un esercizio.

Usando le informazioni precedenti per l'installazione di moin su OS X, si dovrebbe avere un host virtuale configurato come segue:

<VirtualHost *>
   ServerName Gnarlodious
   Alias /moin_static160/ /usr/local/share/moin/htdocs/
   ScriptAlias /mywiki /usr/local/share/moin/mywiki/moin.cgi
   RewriteEngine On
   RewriteRule ^/moin_static160/(.*)$ /usr/local/share/moin/htdocs/$1 [last]
   RewriteRule ^(.*)$ /usr/local/share/moin/mywiki/moin.cgi$1 [type=application/x-httpd-cgi]
</VirtualHost> 

Rimuovere le seguenti direttive <IfModule mod_alias.c>, aggiunte attraverso questa pagina, dato che ora sono ridondanti:

    Alias /moin_static160/ "/moinwiki/share/moin/htdocs/"
    ScriptAlias /mywiki "/moinwiki/share/moin/mywiki/moin.cgi"

Riavviare Apache. Dovrebbe essere possibile aprire un URL come: http://127.0.0.1/HelpOnInstalling/ApacheOnMacOsx

Root wiki con mod python

Usando l'esempio precedente, è possibile ottenerne una versione funzionante.

  1. Installare moin normalmente e creare un'istanza
  2. Usare questa configurazione 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 ^/moin_static160/(.*)$ /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>

(!) Sembra non essere possibile ottenere una root modpy senza utilizzare lo script moinmodpy.