## Please edit system and help pages ONLY in the master wiki!
## For more information, please see MoinMoin:MoinDev/Translation.
##master-page:HelpOnConfiguration/ApacheVoodoo
##master-date:2007-09-16 22:19:06
#acl -All:write Default
#format wiki
#language it

<<TableOfContents>>

/!\ 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 [[NomeWiki|NomiWiki]].

 1. Installare moin normalmente.
 1. 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 [[HelpOnInstalling/ApacheOnMacOsx|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
 1. 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.
