##master-page:HelpTemplate ##master-date:Unknown-Date #format wiki #language pt '''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 1. Crie uma instância do wiki como descrevemos na ../CriaçãoDeInstânciasDoWiki 1. Copie o {{{moin.py}}} para a sua directoria wiki, onde se encontra o seu {{{wikiconfig.py}}} 1. Se instalou com a opção `--prefix`, é necessário editar o moin.py e configurar a `docs` no caminho correcto. 1. Execute o {{{moin.py}}} 1. 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 [[http://trevp.net/tlslite/|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 [[http://www.openssl.org/docs/HOWTO/|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 1. Copie o ficheiro {{{prefix/share/moin/server/moin}}} para a directoria do seu wiki. 1. 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