sábado, 15 de agosto de 2015

Python - No Web Server Lighttpd

Não tenho absolutamente nada contra o Apache, consideremos que, só vezes, o utilizamos como "um canhão para matar um mosquito",  então que tal voltarmos a boa "Raquete Elétrica". O Lighttpd é um Servidor Web que foi criado como o objetivo de baixo consumo de memória. Toda sua configuração é com base em Expressões Regulares ao estilo Perl. Este levíssimo servidor tornou-se o preferido na Comunidade do Ruby on Rails, mas aqui vamos utilizá-lo com outra linguagem: Python.

Obs. Como sempre, todos os comandos utilizados são para Ubuntu 15.04. Porém acredito que possam ser portados facilmente para outros ambientes. Tudo pode ser realizado de modo gráfico (por exemplo, na Loja de Aplicativos basta procurar por lighttpd), aqui usaremos o terminal.

Digitar o seguinte comando no terminal para proceder a instalação do Lighttpd:
$ sudo apt-get install lighttpd
O servidor já foi instalado e deve estar funcionando corretamente, basta digitar em um navegador:
http://localhost
E como resposta teremos a seguinte página:


Configuração para rodar o Python


Vamos agora editar o arquivo de configuração do Lighttpd através do seguinte comando:
$ sudo nano /etc/lighttpd/lighttpd.conf
Alterar a seção server.modules para a seguinte configuração:
server.modules = (
        "mod_access",
        "mod_alias",
        "mod_compress",
        "mod_redirect",
        "mod_cgi",
        "mod_rewrite",
)
Adicionar, ao final do arquivo, as seguintes linhas que permitem executar Scripts em Python:
$HTTP["url"] =~ "^/python/" {
  cgi.assign = (".py" => "/usr/bin/python")
}
Salve (com CTRL+X) esta configuração.

Este próximo passo é totalmente opcional. Prefiro utilizar uma pasta local do meu usuário para poder criar e modificar arquivos sem ter que usar o superusuário para tal. Sendo assim, no raiz do seu usuário criar as seguintes pastas:
$ cd ~
$ mkdir lighttpd
$ cd lighttpd
$ mkdir python
Copiar a página inicial do Lighttpd (se desejar) para a pasta raiz:
$ sudo cp /var/www/html/ .
Editar o arquivo de configuração:
$ sudo nano /etc/lighttpd/lighttpd.conf
Alterar o caminho da pasta padrão:
server.document-root        = "/home/<seu_usuario>/lighttpd"
Modificar o usuário e grupo padrão:
server.username             = "<seu_usuario>"
server.groupname            = "<seu_usuario>"
Salve (com CTRL+X) esta configuração.

Reiniciar o servidor:
$ sudo service lighttpd restart
Pronto. Já está tudo funcionando. Podemos sair do terminal e com um editor (recomendo o PyCharm) criar um arquivo de teste (por exemplo: hello.py) na pasta ~/lighttpd/python com a seguinte codificação:
#!/usr/bin/python
print('Content-Type: text/html\n')
print('<html><head>')
print('<title>Primeiro Script</title></head>')
print('<body><h1>Script Python em Lighttpd</h1>')
for count in range(1,50):
   print('Python Ativado ')
print('</body></html>')
Acesse novamente o navegador e digitar o seguinte endereço http://localhost/python/hello.py e obtemos a seguinte imagem:

Tudo pronto e já podemos criar nossos sites utilizando o poder do Python.

Obrigado e até a próxima
Fernando Anselmo

0 comentários:

Postar um comentário