##master-page:HelpTemplate
##master-date:Unknown-Date
#format wiki
#language pt

<<TableOfContents>>

/!\ O Voodoo não é para principiantes!

Esta página fornece alguns truques, para a instalação Apache do moin, interessantes mas avançados. As directivas nesta página assumem que tem conhecimentos sobre a configuração do Apache. Os principiantes deve ficar apenas com a instalação básica.


= Wiki Apache Root =

/!\ Isto requer o módulo "mod_rewrite" do Apache (deve ser standard)

Um wiki Apache root é simples, mas tem as suas limitações. Uma vez que o moin necessita de aceder a determinados ficheiros estáticos (imagens, css, etc.), intercepta uma parte do namespace do NomeDeWiki possível.

 1. Instale o moin normalmente.
 1. Adicione as seguintes linhas à configuração do seu VirtualHost:
  {{{
  RewriteEngine On
  RewriteLogLevel 0
  
  # Aponte para os ficheiros estáticos partilhados - DEPENDE DA VERSÃo DO MOIN!
  RewriteRule ^/moin_static160/(.*)$ /prefix/share/moin/htdocs/$1 [last]
  
  # Mapeie tudo o resto para o script cgi do moin
  RewriteRule ^(.*)$ /path/to/moin.cgi$1 [type=application/x-httpd-cgi]
  
  # Configuração para FastCGI
  ##RewriteRule ^(.*)$ /path/to/moin.fcg$1 [type=application/x-httpd-fcgi]
}}}

A RewriteRule para Fast''''''CGI não funciona para mim: {{{
[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*
}}}

Como alternativa utilizei isto: {{{
  RewriteRule ^/?(.*) /_Wikiscript_/moin.fcg/$1
  RewriteRule ^/_Wikiscript_/(.*) /home/apache/moin/wiki/share/moin/pw/$1 [last]
}}}


= Wiki Root em Mac OSX =
/!\ Esta configuração intercepta todos os URLs userfolder como ''`http://127.0.0.1/~oseunome/`'' e mostra uma página wiki em branco em seu lugar, por isso estas instruções são apenas um exercício. Pode existir forma de contornar este problema, mas não sabemos qual.

Se utilizar a informação anterior na instalação do moin em OS X, resulta num bloco assim:
{{{
<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> 
}}}
Remova as directivas `<IfModule mod_alias.c>` seguintes adicionada nesta página [[AjudaNaInstalação/ApacheEmMacOsx|this page]], uma vez que agora são redundantes:
{{{
    Alias /moin_static160/ "/moinwiki/share/moin/htdocs/"
    ScriptAlias /mywiki "/moinwiki/share/moin/mywiki/moin.cgi"
}}}
Agora reinicie o Apache. Deve conseguir abri um endereço como http://127.0.0.1/AjudaNaInstalação/ApacheEmMacOsx


= Wiki Root com receita do mod python =

Ao utilizar o exemplo anterior, funciona da seguinte forma:

 1. Instale o moin normalmente e crie uma instância
 1. Utilize esta configuração em httpd.conf
  {{{
NameVirtualHost 192.115.134.51:80
<VirtualHost 192.115.134.51:80>
    ServerName wiki.nirs.dyndns.org
    ServerAlias wiki
    
    # Reescreva os urls
    RewriteEngine On
    RewriteLogLevel 0
    # mapeie os ficheiros estáticos para htdocs
    RewriteRule ^/moin_static160/(.*)$ /usr/share/moin/htdocs/$1 [last]
    # mapeie tudo o resto para o script server
    RewriteRule ^(.*)$ /usr/share/moin/mywiki/moinmodpy.py$1

    <Directory "/usr/share/moin/mywiki">
        # Estes são copiados da directoria cgi-bin por omissão
        AllowOverride None
        Options None
        Order allow,deny
        Allow from all

        # coisas de Modpy
        AddHandler python-program .py
        # Adicione o caminho para a directoria do wiki, onde se encontram os 
        # ficheiros moinmodpy.py e wikiconfig.py.
        PythonPath "['/usr/share/moin/mywiki'] + sys.path"
        PythonHandler moinmodpy
        PythonDebug On 
    </Directory>
</VirtualHost>
}}}

(!) Parece impossível conseguir um wiki root modpy sem utilizar o script moinmodpy wrapper.
