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

'''Come integrare il proprio wiki in una configurazione Apache esistente'''

Attualmente ci sono 5 possibilità di esecuzione di un wiki !MoinMoin: usando CGI, FastCGI, Mod Python, server Standalone e Twisted. Le funzioni più avanzate sono FastCGI, la cui licenza non è libera, e Mod Python, che richiede molta memoria RAM. FastCGI e Mod Python non sono disponibili su tutte le piattaforme e sono noti per avere problemi di configurazione. L'altra soluzione è l'esecuzione di Twisted o di Standalone, molto più veloci di CGI e più facili da configurare.

Molte persone hanno già in esecuzione un server web e forniscono pagine statiche o altre applicazioni e vogliono aggiungere un wiki. Per loro, la soluzione ideale è l'esecuzione di !MoinMoin nella versione Standalone o Twisted in proxy dietro il server web Apache. Questo funziona semplicemente senza troppe configurazioni.

Nell'esempio riportato in seguito, verrà integrato un wiki !MoinMoin all'interno del sito http://www.example.com/exwiki/.

<<TableOfContents>>

= Requisiti =

 1. Un'installazione esistente del server web Apache 1 o Apache 2
 1. Un'installazione esistente del server Standalone o Twisted come spiegato in AiutoSuInstallazione.

= Integrazione con Apache 2 =

== Configurazione Standalone o Twisted ==

Per usare Twisted, modificare `mointwisted.py` e impostare le seguenti opzioni: {{{
    port = 8000
    interfaces = ['localhost']
}}}

Per usare Standalone, modificare `standalone.py` e impostare le seguenti opzioni: {{{
    port = 8000
    interface = 'localhost'
}}}

Eseguire il server moin e controllare che funzioni all'indirizzo http://localhost:8000.

== Configurazione Apache 2 ==

Questa configurazione richiede mod_proxy e mod_headers. Assicurarsi che siano installati e caricati prima di continuare.

Modificare il file di configurazione di Apache, `httpd.conf` o quanto altro:
{{{
# Can be off for reverse proxying, more secure
ProxyRequests Off

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

<Location /exwiki/>
    ProxyPass http://localhost:8000/
    ProxyPassReverse http://localhost:8000/
    RequestHeader set X-Moin-Location /exwiki/
</Location>
}}}

Riavviare Apache e provare il wiki all'indirizzo http://localhost/exwiki/ o http://www.example.com/exwiki/

Questa configurazione è stata provata su Mac OS X.

Su Debian Sarge, la configurazione predefinita di Apache nega tutti gli accessi proxy, quindi è almeno necessario inserire quanto segue:
{{{
<Proxy http://localhost:8080/>
  Order deny, allow
  Allow from all
</Proxy>
}}}

 /!\ Se viene modificato il valore dell'header `X-Moin-Location`, potrebbe essere necessario cancellare manualmente i dati nella cache affinché le modifiche abbiano effetto. Per maggiori dettagli consultare MoinMoin:MoinMoinBugs/SiteLocationIgnoredOnEditPage.

= Integrazione con Apache 1 =

== Configurazione Standalone o Twisted ==

Per usare Twisted, modificare `mointwisted.py` e impostare le seguenti opzioni: {{{
    properties = {'script_name': '/mywiki', 'http_host': 'yourdomain'}
    port = 8000
    interfaces = ['localhost']
}}}

Per usare Standalone, modificare `standalone.py` e impostare le seguenti opzioni: {{{
    properties = {'script_name': '/mywiki', 'http_host': 'yourdomain'}
    port = 8000
    interface = 'localhost'
}}}

 (!) Un'altra soluzione potrebbe essere l'uso dell'opzione di configurazione `url_mapping`.

== Configurazione Apache 1 ==

Questa configurazione richiede mod_proxy. Assicurarsi che sia installato prima di continuare.

Modificare il file di configurazione di Apache, `httpd.conf` o quanto altro: {{{
# Can be off for reverse proxying, more secure
ProxyRequests Off

Alias /moin_static160/ "/usr/share/moin/htdocs/"

<Location /exwiki>
    ProxyPass http://localhost:8000/
    ProxyPassReverse http://localhost:8000/
</Location>
}}}

Riavviare Apache e provare il wiki all'indirizzo http://www.example.com/exwiki/

 (!) Il proprio wiki non funzionerà correttamente, in questa configurazione, usando l'URL http://localhost:8000

 <!> Provato con Apache 2, dovrebbe funzionare anche con Apache 1.

= Configurazione farm =

Quando viene eseguito il server Twisted o Standalone senza un proxy, l'URL del wiki contiene il nome del server (e solitamente anche la porta) e il nome della pagina. Per esempio: `localhost:8000/nomepagina`.

Quando in esecuzione dietro un proxy, l'URL del wiki contiene l'host proxy, non il nome del server, e potrebbe includere uno "script_name". In questo caso, il wiki in esecuzione su `localhost:8000` potrebbe avere un URL tipo `www.example.com/exwiki/nomepagina` quando si accede attraverso il proxy e `localhost:8000/nomepagina` quando vi si accede localmente.

Per usare lo stesso file di configurazione per l'accesso locale e globale, utilizzare una configurazione come la seguente nel file `farmconfig.py`: {{{
wikis = [('exwiki', r'^(localhost:8000|www.example.com/exwiki).*')]
}}}

Per avere diverse configurazioni: {{{
wikis = [('exwiki_local', r'^localhost:8000.*'),
         ('exwiki_world', r'^www.example.com/exwiki.*'),]
}}}

= Disabilitare l'host rewrite =

Per disabilitare l'host rewrite, "sovrascrivere" `http_host` nella configurazione del server:
{{{
    properties = {'http_host': 'hostname'}
}}}
