• Immutable Page
  • Info
  • Attachments

/!\ 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.
  2. 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 FastCGI 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 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
  2. 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.