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:
Se o WikiMoinMoin ainda não estiver instalado, faça uma ../InstalaçãoBásica
Crie uma instância do wiki como descrevemos na ../CriaçãoDeInstânciasDoWiki
Copie o moin.py para a sua directoria wiki, onde se encontra o seu wikiconfig.py
Se instalou com a opção --prefix, é necessário editar o moin.py e configurar a docs no caminho correcto.
Execute o moin.py
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:
Tenha um moin.py a funcionar como explicamos em cima
Copie o ficheiro prefix/share/moin/server/moin para a directoria do seu wiki.
- 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