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

## Descrição
'''Como fazer uma instalação básica do [[WikiMoinMoin|MoinMoin]] no seu sistema.'''

'''Conteúdos'''
<<TableOfContents>>

Antes de integrar o Moin``Moin no seu ambiente web, terá de instalar os ficheiros e dados e o código-fonte do [[WikiMoinMoin|MoinMoin]] utilizando o mecanismo ''distutils'' do Python standard (`setup.py`). Esta página explica os passos necessários para o fazer. Para mais informações sobre o processo de instalação ''distutils'', consulte o documento [[http://www.python.org/doc/current/inst/inst.html|Instalar Módulos de Python]] no seu pacote de documentação de Python.

A instalação é semelhante em Windows e em Linux (e noutros sistemas POSIX-type; para simplificar, apenas escrevemos "Linux" nos documentos).

 (!) Utilizamos texto como '''`> argumentos do comando`''' para mostrar o que tem de escrever na linha de comandos (também conhecida como shell, terminal, etc.). Nos nossos exemplos "`> `" é o cursos, não tem de o inserir, tem de escrever o que se segue. As linhas que não começam com "`> `" são as respostas aos comandos que escreveu. Leia-os cuidadosamente.

= Verifique se o Python está a funcionar =

O Moin``Moin necessita que de Python para funcionar. Assim, o primeiro passo deve ser verificar se tem instalada uma versão de Python utilizável, e se esta está correctamente configurada. Se não for este o caso, é necessário corrigir antes de prosseguir.

O ficheiro `CHANGES` no arquivo do Moin``Moin refere as versões suportadas. Python 2.3 é o requisito mínimo para o Moin``Moin 1.5, mas sugerimos que utilize a versão de Python mais recente.

Pode descarregar o Python na página [[http://www.python.org/download/]].

Se tem praticamente certeza de que tem uma versão de Python aceitável instalada, mas os comandos indicados em baixo não funcionam, pode ser que os seus ficheiros não estejam no ''search path'' (caminho de pesquisa). Este documento não diz como configurar o caminho de pesquisa. Por favor, peça ajuda no seu fórum de discussão de Python, Linux ou Windows favorido.

Se tem acesso shell, é muito fácil verificar se o Python está a funcionar. Basta escrever o comando seguinte, e ver o resultado:
{{{
> python -V
Python 2.4.3
}}}

Se não tem acesso shell, pode tentar utilizar este script `pythontest.cgi` (assume que está a utilizar um servidor Web do tipo Linux). Envie o script para a sua directoria `cgi-bin`, utilize `chmod a+rx pythontest.cgi` (ou um comando similar no seu programa FTP) para o tornar executável, e invoque-o utilizando o seu navegador Web.

{{attachment:pythontest.cgi}}

Se não aparecer "CGI scripts work", bem, então os scripts CGI não funcionam. Se não apresenta uma ou mais números de versões de Pyhton, então o Python não está correctamente instalado. Em ambos os casos, antes de prosseguir, tem de entrar em contacto com o administrador do servidor, para que os problemas possam ser corrigidos.

Leia o sub-tópico ../ApacheEmLinuxFtp depois de acabar o sub-tópico ../InstalaçãoBásica que tratamos aqui.

= Descarregar o MoinMoin =

Para descarregar o arquivo de distribuição, visite a [[http://sourceforge.net/project/showfiles.php?group_id=8482|área de ficheiros a descarregar]] e obtenha o arquivo mais recente.

O passo seguinte será extrair os ficheiros do arquivo de distribuição (o que já fez, se estiver a ler este texto a partir do seu disco rígido). Se está a ler o texto na Web, a distribuição contém uma versão do arquivo `.tar.gz`, que pode extrair como mostramos em baixo.

 * Em Windows
    * Pode utilizar versões recentes de programas como Win``Zip, Win``Rar, e Win``Ace, que lidam com os arquivos do tipo .tar.gz.
    * na linha de comandos, pode utilizar o [[http://gnuwin32.sourceforge.net/packages/gzip.htm|GNU gzip]] e [[http://gnuwin32.sourceforge.net/packages/tar.htm|GNU tar]] para Windows.
 * Em Linux
    * Pode utilizar o seu gestor de ficheiros favorito -- deve ser capaz de os extrair.
    * Em qualquer shell, pode utilizar o comando `tar`.

O arquivo de distribuição é sempre extraído para uma directoria chamada `moin-<versão>`, por exemplo `moin-1.6.0`.

Eis como extrairia o arquivo (utilizando GNU tar) e como abriria a directoria com os ficheiros do Moin``Moin:
{{{
> tar xzf moin-1.6.0.tar.gz
> cd moin-1.6.0
}}}

= Instalar o MoinMoin =

Pode instalar o Moin``Moin:
 * numa directoria de sistema (se tiver as permissões necessárias para o fazer -- em Linux necessita de ser root)
 * numa directoria específica, como a sua directoria home (Linux) ou `C:\moin` (Windows).

A instalação numa directoria de sistema é mais fácil, por isso, escolha-a se for possível.

/!\ Se tiver várias versões de Python instaladas, por favor, utilize a mesma versão para instalar e correr o wiki. Normalmente, com a versão de Pyhton mais recente irá obter os melhores resultados.

== Comando de instalação recomendado para Linux (e MacOs X) ==
Desta vez, como escolheu não utilizar um pacote pré-configurado para o seus sistema, é altamente recomendado que não instale o MoinMoin na directoria por omissão. Isto porque se o fizer e quiser instalar um pacote do moin da sua distribuição, este irá sobrepor a sua instalação existente. O caminho mais frequente para as suas instalações está localizada abaixo de {{{/usr/local}}} (a isto se chama PREFIX). Um comando que deve ser aceite pela maioria das distribuições de Linux e MacOS X é

{{{
> python setup.py install --prefix='/usr/local' --record=install.log
}}}

Este comando irá instalar os ficheiros partilhados na '/usr/local/share/moin' e o código do moin na `/usr/local/lib/python2.x/site-packages/MoinMoin/`.

== Corrigir falhas no processo de instalação ==

Se tem problemas com o passo da instalação do ficheiro `setup.py`, tente utilizar o comando:
{{{
> python -v setup.py --quiet install --record=install.log
}}}

O `-v` adicional deve dar-lhe mensagens verbose detalhadas para cada passo.

/!\ Em Linux, se obtiver um erro como `Invalid Python installation: cannot find /usr/lib/Python2.x/config/Makefile`, pode não ter o módulo '''`distutils`''' de Python instalado, faz geralmente parte da '''Python development libarary (`python-dev`)'''. Algumas distribuições de Linux podem não o ter instalado por omissão. Por exemplo, em Mandrake é necessário instalar o pacote '''`python-devel`''', em Debian chama-se '''`python-dev`'''.

== Instalar na directoria de sistema por omissão ==

{{{
> python setup.py --quiet install --record=install.log
}}}

Este comando instala o Moin``Moin na directoria de sistema por omissão (por exemplo em Linux, instala-se normalmente na directoria de Python, na `/usr/lib/python2.x/site-packages/MoinMoin` e `/usr/share/moin`). Veja o ficheiro `install.log` para ver o que foi instalado e onde.



== Instalar na directoria home ou outra directoria específica ==

Exemplo de Linux, instalação na directoria home:
{{{
> python setup.py --quiet install --prefix=$HOME --record=install.log
}}}

Exemplo de Windows, instalação na directoria `C:\moin`:
{{{
> python setup.py --quiet install --prefix="C:\moin" --record=install.log
}}}

Todos os ficheiros Moin``Moin serão instalados nessas directorias. Veja o ficheiro `install.log` para saber quais os ficheiros instalados e onde.

'''Nota:''' Provavelmente verá o seguinte aviso:

    `warning: install: modules installed to 'C:\moin\', which`<<BR>>
    `is not in Python's module search path (sys.path) -- you'll`<<BR>>
    `have to change the search path yourself`

Isto significa exactamente o que está escrito. É necessário adicionar a sua directoria install ao caminho da pesquisa do Python, ou o código Moin``Moin não será encontrado.

Por exemplo, se está a utilizar um servidor web e um CGI standard, edite o `moin.cgi` e adicione a sua directoria de instalação ao caminho de Python, assim:
{{{
import sys
sys.path.insert(0, 'C:/moin')
}}}

= Testar a instalação =

Como passo final, se tiver acesso à shell ou à linha de comandos, pode verificar se tudo está correctamente instalado e pronto a funcionar. Inicie o Python e digite `import MoinMoin`. Não deve existir resposta a este comando. Exemplo:

{{{
> python
Python 2.4.3 (...)
Para mais informações, digite "help", "copyright", "credits" ou "license".
>>> import MoinMoin
>>>
}}}

Se obtiver como resultado:

{{{
>>> import MoinMoin
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ImportError: No module named MoinMoin
>>>
}}}

terá de afinar a sua instalação. Experimente modificar o `sys.path`, como descrevemos em cima.

= O que foi instalado =

Agora, tem uma instalação do Moin``Moin pronta a funcionar. Parabéns! Antes de a configurar, dê uma olhada aos vários ficheiros e directorias que foram instalados.

/!\ É importante que compreenda as várias directorias utilizadas numa instalação do Moin``Moin, por isso, leia isto com atenção.

Nas descrições seguintes, o `PREFIX` é o que utilizou com o comando `setup.py`, ou uma directoria por omissão se não tiver utilizado a opção `--prefix`. (os valores por omissão habituais em Linux são `/usr` e `/usr/local`.) O `X.Y` é a versão do Python. Normalmente, é `2.3`, `2.4` ou `2.5`.

Veja o `install.log` para descobrir mais sobre as seguintes directorias importantes:

 * '''directoria `MoinMoin`''', normalmente `PREFIX/lib/pythonX.Y/site-packages/MoinMoin` -- é o local onde o ''código-fonte'' do Moin``Moin se encontra
 * '''directoria `share`''', normalmente `PREFIX/share/moin` - é o local onde os ''modelos'' se encontram
  * directoria '''`data`''' (páginas de wiki, utilizadores, etc.) - deve ser acedida apenas pelo Moin``Moin
  * directoria '''`underlay`''' (páginas de wiki) - deve ser acedida apenas pelo Moin``Moin
  * directoria '''`htdocs`''' com os ficheiro de suporte de html (imagens para os vários temas, etc.) - o servidor web vai precisar de aceder a essa directoria
  * '''`server`''' - ficheiros-exemplo do iniciar do Moin``Moin (como `moin.cgi` para CGI, e outros ficheiros para outros métodos de iniciar)
  * '''`config`''' - ficheiros-exemplo de configuração do Moin``Moin (como `wikiconfig.py`)
 * directoria '''`bin`'''  com alguns scripts que o ajudam a utilizar os comandos shell do Moin``Moin

Referimos os ''modelos'' na directoria `share` porque normalmente não utiliza esses ficheiros nessa directoria: copia-os para onde é necessário. Desta forma, pode instalar vários wikis sem problemas e actualizá-los facilmente com versões novas do Moin``Moin.
