Please note: This is the read-only master18 wiki for moin 1.8.x content. For moin 1.9.x content, please see the same page in master19 wiki.

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/.

Requisiti

  1. Un'installazione esistente del server web Apache 1 o Apache 2
  2. 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>

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'

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/

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'}

MoinMaster: AiutoSuConfigurazione/IntegrazioneConApache (last edited 2008-06-08 14:27:08 by localhost)