Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

Locked History Actions

AjudaNaInstalling/ServidorStandalone

Instalar e configurar um servidor standalone

Veja também: AjudaNaConfiguração/IntegrarComApache

O servidor standalone foi feito especialmente para os wikis locais, por não necessitar de um servidor web instalado. São apenas necessários, o Python e o Moin!

Para instalar e executar o servidor standalone:

  1. Se o WikiMoinMoin ainda não estiver instalado, faça uma ../InstalaçãoBásica

  2. Crie uma instância do wiki como descrevemos na ../CriaçãoDeInstânciasDoWiki

  3. Copie o moin.py para a sua directoria wiki, onde se encontra o seu wikiconfig.py

  4. Se instalou com a opção --prefix, é necessário editar o moin.py e configurar a docs no caminho correcto.

  5. Execute o moin.py

  6. Aceda ao seu wiki em http://localhost:8000/

Na maioria dos casos, as definições por omissão são suficientes. Se quiser pode editar o moin.py e alterar algumas das opções, como as que descrevemos na secção seguinte.

Configurar o moin.py

Configuração do caminho de sistema

Se fez uma instalação standard, e não é um programador, deve saltar esta secção. Caso contrário, adicione o caminho para o poin e para o ficheiro config, assim:

import sys
sys.path.insert(0, '/caminho/para/moin')
sys.path.insert(0, '/caminho/para/wikiconfig')

Opções da classe Config

Opção

Por omissão

Comentário

name

'moin'

Nome do servidor, utilizado por omissão para ficheiros log e pid. (!) Novo na versão 1.5

docs

'/usr/share/moin/wiki/htdocs'

Caminho para os ficheiros do moin partilhados. Se utilizou a instalação --prefix, o caminho por omissão não funcionará, e terá de definir o caminho como 'PREFIX/share/moin/wiki/htdocs'.

user

'www-data'

Se executar como root, o servidor irá executar a partir deste utilizador

group

'www-data'

Se executar como root, o servidor irá executar a partir deste grupo

port

8000

Porto para receber. Para receber um porto privilegiado abaixo de 1024 terá de executar como root

interface

'localhost'

A interface a que o servidor prestará atenção. Por omissão, prestará atenção apenas ao localhost. Configure como '' para prestar atenção a todas.

logPath

name + '.log'

Ficheiro de acessos. O ficheiro por omissão é comentado.

serverClass

'ThreadPoolServer', 'ThreadingServer', 'ForkingServer', 'SimpleServer', 'SecureThreadPoolServer'

O tipo de servidor a utilizar. Veja os comentários no ficheiro moin.py. Por omissão é o 'ThreadPoolServer', que cria um conjunto de threads e reutiliza-os para novas ligações. (!) Novo na versão 1.3.5

threadLimit

10

Quantas threads a criar.

requestQueueSize

50

A contagem de pedidos de ligação por socket colocados em buffer pelo sistema operativo. (!) Novo na versão 1.3.5

properties

 {} 

Permite a sobreposição de qualquer propridade de pedido, definindo o valor neste dicionário. Por exemplo, properties = {'script_name': '/mywiki'}. (!) Novo na versão 1.5

ssl_privkey

 None 

Se utilizar o SecureThreadPoolServer, este terá de apontar para a chave privada do servidor (!) Novo na versão 1.6

ssl_certificate

 None 

Se utilizar o SecureThreadPoolServer, este terá de apontar para o certificado do servidor (!) Novo na versão 1.6

  • (!) Podem existir mais opções úteis para programadores do moin. Veja os comentários em moin.py

Utilizar o servidor standalone com segurança

(!) Novo na versão 1.6

O servidor standalone suporta SSL ao utilizar a classe do servidor SecureThreadPoolServer. O suporte SSL é fornecido pela TLSLite library. Todo o tráfego do wiki é forçado a passar pelo SSL ao utilizar o SecureThreadPoolServer.

São necessárias ainda duas opções de configuração adicionais ao utilizar o SecureThreadPoolServer. Em primeiro lugar, o ssl_privkey tem de apontar para a chave privada do servidor. Em segundo lugar, o ssl_certificate tem de apontar para o certificado do servidor.

/!\ O TLSLite não suporta uma senha protegida por uma chave privada sem que outras bibliotecas sejam utilizadas. Para mais informações, consulte a página web doTLSLite.

Normalmente, um certificado seria comprado a uma autoridade de certificados, como a Thawte (http://www.thawte.com). No entanto, uma vez que a utilização sugerida do servidor standalone é para uso pessoal, um certificado auto-assinado deve ser suficiente. Para mais informações sobre como gerar uma chave privada do servidor, e um certificado auto-assinado, consulte as páginas de HOWTO openssl.

Por exemplo, para criar a chave privada do servidor, execute o seguinte:

openssl genrsa -out privkey.pem 2048

Para criar um certificado auto-assinado para a nova chave privada criada, execute o seguinte:

openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095

O moin.py precisará então de tomar conhecimento da existência dos ficheiros privkey.pem e cacert.pem gerados. Para o exemplo em cima, é necessário acrescentar as seguintes linha ao moin.py:

    ssl_privkey = "/caminho/seguro/para/privkey.pem"
    ssl_certificate = "/caminho/seguro/para/cacert.pem"

/!\ Utilizar um certificado auto-assinado fará com que o seu navegador gere um aviso a dizer que não consegue verificar a identidade do servidor do wiki. Isto é porque o certificado não foi assinado por uma autoridade de certificados (CA) reconhecida. Para não ver este aviso, é necessário comprar um certificado a uma CA.

Configurar o wikiconfig.py

O ficheiro config de exemplo deve ser suficiente.

O valor do url_prefix_static por omissão é codificado no script do servidor standalone. Não o altere ou não funcionará!

Iniciar o servidor

Execute moin.py a partir da linha de comandos:

$ ./moin.py
Serving on localhost:8000

Teste o seu wiki em http://localhost:8000/

Em Windows, pode clicar duas vezes em moin.py para iniciar o servidor. Uma nova janela do terminal será aberta. Feche a janela ou pressione em Control + Pause para parar o servidor.

Em Unix, interrompa o servidor com Control + C para o desligar.

Porto 80 em Unix

Em GNU/Linux, Mac OS X ou outro sistema operativo do tipo Posix, pode ter o porto 80 standard utilizada para web serving, mas tem de executar como root para isto.

Defina o port como 80, e verifique que o user e o group existem no seu sistema. Se não, defina-os para um utilizador existente, destinado a web serving. Se necessário, faça chown à directoria do seu wiki para este utilizador e grupo.

Execute moin.py como root:

$ sudo moin.py
Password:
Serving on localhost:8000
Running as uid/gid 70/70

Teste o seu wiki em http://localhost/

Executar como daemon

Se executar em Unix, pode executar o moin.py como um processo de fundo:

  1. Tenha um moin.py a funcionar como explicamos em cima

  2. Copie o ficheiro prefix/share/moin/server/moin para a directoria do seu wiki.

  3. Inicie o servidor do moin:

./moin start

Para parar o servidor:

./moin stop

Para mais informações, execute o moin sem argumentos.

Se quiser iniciar o moin a partir de um script de iniciar de sistema, pode precisar de adicionar o caminho para o moin.py no topo do script:

# Adicione o caminho para a directoria moin.py 
import sys
sys.path.insert(0, '/path/to/moin')
  • (!) Novo na versão 1.5