## 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:Unknown-Date
#acl -All:write Default
#format wiki
#language pt

''' Como integrar o seu wiki com a configuração de Apache existente '''

Existem actualmente 5 formas de correr um [[WikiMoinMoin|MoinMoin]]: Utilizar CGI, FastCGI, Mod Python, servidor Standalone ou servidor Twisted. As opções mais avançadas são FastCGI, cuja licença é restrita, e Mod Python, que necessita de muita RAM. O FastCGI e o Mod Python não estão disponíveis para todas as plataformas e são conhecidas pelos problemas de configuração. A solução seguinte é correr os servidores Twisted ou Standalone, which que são muito mais rápidos que o CGI e mais fáceis de configurar.

No entanto, muitas pessoas já corriam servidores web e disponibilizavam páginas estáticas ou outras aplicações, e querem adicionar um wiki à configuração actual. Para elas, a melhor opção é executar o [[WikiMoinMoin|MoinMoin]] com proxy de um servidor Standalone ou Twisted por trás do seu servidor web de Apache existente. Isto funciona noutros casos menos habituais com configurações simples.

No exemplo de configuração em baixo, vamos integrar um [[WikiMoinMoin|MoinMoin]] no nosso sítio http://www.example.com/exwiki/.


<<TableOfContents>>

= Requisitos =

 1. Instalação já existente do servidor web Apache 1 ou Apache 2
 1. Instalação já existente do servidor Standalone ou Twisted como explicamos no tópico AjudaNaInstalação.

= Integrar com Apache 2 =

== Configuração Standalone ou Twisted ==

Se quiser utilizar o Twisted, edite o ficheiro {{{mointwisted.py}}} e defina estas opções:
{{{
    port = 8000
    interfaces = ['localhost']
}}}

Se quiser utilizar o Standalone, edite o ficheiro {{{standalone.py}}} e defina estas opções:
{{{
    port = 8000
    interface = 'localhost'
}}}

Agora execute o seu servidor do moin e verifique se funciona em http://localhost:8000.

== Configuração do Apache 2 ==

Esta configuração requer o mod_proxy e o mod_headers. Certifique-se de que são instalados e carregados antes de continuar.

Edite o seu ficheiro de configuração do Apache, ou o `httpd.conf` ou um ficheiro de configuração incluído:
{{{
# Pode ser off para reverse proxying, mais seguro
ProxyRequests Off

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

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

Agora reinicie o Apache e teste o seu wiki no http://localhost/exwiki/ ou http://www.example.com/exwiki/

Esta configuração foi testada em Mac OS X.

Em Debian Sarge, a configuração de Apache por omissão nega o acesso a qualquer proxy. Por esse motivo, deve adicionar pelo menos o seguinte:
{{{
<Proxy http://localhost:8080/>
  Order deny, allow
  Allow from all
</Proxy>
}}}

 /!\ Se alguma vez alterar o valor do cabeçalho `X-Moin-Location`, terá de eliminar manualmente os dados em cache da alteração para surgir nas páginas do wiki. Para mais detalhes, consulte o tópico MoinMoin:MoinMoinBugs/SiteLocationIgnoredOnEditPage.


= Integrar com Apache 1 =

== Configuração Standalone ou Twisted ==

Se quiser utilizar o Twisted, edite o ficheiro {{{mointwisted.py}}} e defina estas opções:
{{{
    properties = {'script_name': '/mywiki', 'http_host': 'yourdomain'}
    port = 8000
    interfaces = ['localhost']
}}}

Se quiser utilizar o Standalone, edite o ficheiro {{{standalone.py}}} e defina estas opções:
{{{
    properties = {'script_name': '/mywiki', 'http_host': 'yourdomain'}
    port = 8000
    interface = 'localhost'
}}}

 (!) Uma solução alternativa seria utilizar a poção de configuração url_mapping.

== Configuração do Apache 1 ==

Esta configuração requer o mod_proxy. Certifique-se de que é instalado e carregado antes de continuar.

Edite o seu ficheiro de configuração do Apache, ou o `httpd.conf` ou um ficheiro de configuração incluído:
{{{
# Pode ser off para reverse proxying, mais seguro
ProxyRequests Off

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

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

Agora reinicie o Apache e teste o seu wiki em http://www.example.com/exwiki/

 (!) Repare que o seu wiki não funcionará correctamente a partir do http://localhost:8000 com esta configuração.

 <!> Testado com o Apache 2, deve também funcionar no Apache 1.

= Configuração de Farms =

Ao correr o Twisted ou Standalone sem um proxy, o url do wiki contém o nome do servidor (e algumas vezes também o porto) e o nome da página. Por exemplo: `localhost:8000/nomedapágina`.

No entanto, ao correr com um proxy, o url do wiki contém o servidor do proxy, não o nome do servidor, e pode incluir um "script_name". Neste caso, o wiki que for executado no `localhost:8000` pode ter um url como `www.example.com/exwiki/nomedapágina` quando acede através do proxy, e `localhost:8000/nomedapágina` quando acede localmente.

Se quiser utilizar o mesmo ficheiro de configuração para o acesso local e geral, utilize definições como esta no seu ficheiro `farmconfig.py`:
{{{
wikis = [('exwiki', r'^(localhost:8000|www.example.com/exwiki).*')]
}}}

Se quiser uma configuração diferente para acesso local e geral:
{{{
wikis = [('exwiki_local', r'^localhost:8000.*'),
         ('exwiki_world', r'^www.example.com/exwiki.*'),]
}}}

= Desactivar reescrever do servidor =

Se quiser desactivar o novo reescrever transparente do servidor, sobreponha o `http_host` no script do seu servidor:
{{{
    properties = {'http_host': 'hostname'}
}}}
