Pesquise...

Últimos Posts

Arquivo de Posts

2024 - 2023 - 2022 - 2021 - 2020 - 2019 - 2018 - 2017 - 2016 - 2015 - 2014 - 2013 - 2012

Postagens Populares

Vem Comigo

     
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Tecnologia do Blogger.

Total de Acessos


Saudações,

Por muitas vezes nós nos deparamos com uma outra situação eu que precisamos adaptar e/ou criar funções, classes, objetos, etc no PHP para que o mesmo execute uma tarefa que "aos olhos" de outra linguagem se resolveria com poucas linhas de comando...

Neste ponto entra o poder do CGI - Common Gateway Interface.

CURIOSIDADE:
O PHP foi um simples conjunto de binários Common Gateway Interface (CGI) escrito em linguagem de programação C.

Eu mesmo já crie "trocentos" scripts CGI para ajudar na administração de um ou vários sistemas.

Lembro que um destes CGIs era bem peculiar. Era um CGI com bash e expect. O usuário, via web, podia reiniciar um voip remotamente sem ter que conhecer o comando telnet, usuário, senha e comandos de administração do voip.

NOTA:
A questão aqui não é definir quem é melhor em que. Mas, ajudar o programador para que ele não precise reinventar a roda.

Sendo assim, levando em consideração o pouco dito acima, eu gostaria de deixar a dica:

Ativando o suporte CGI no Lighttpd.


Com o Lighttpd instalado no seu Ubuntu, crie o seguinte link simbólico:

#ln -s /etc/lighttpd/conf-available/10-cgi.conf /etc/lighttpd/conf-available/

Edite o arquivo 10-cgi.conf:

#vim /etc/lighttpd/conf-available/10-cgi.conf

Deixe-o seu conteúdo como abaixo:

# /usr/share/doc/lighttpd-doc/cgi.txt

# ATIVANDO O MODULO CGI
server.modules += ( "mod_cgi" )

# LEBERANDO EXECUÇÃO SOMENTE PARA A PASTA CGI-BIN
$HTTP["url"] =~ "^/cgi-bin/" {
 cgi.assign = (
  ".pl" => "/usr/bin/perl",
  ".py" => "/usr/bin/python",
  ".lua" => "/usr/bin/lua",
 )
}

## Atencao! Risco de seguranca.
## As linhas abaixo permitem a execução
## de arquivos .pl e .py mesmo fora do diretório cgi-bin
#cgi.assign      = (
# ".pl"  => "/usr/bin/perl",
# ".py"  => "/usr/bin/python",
#)

Salve o aquivo e reinicie o Lighttpd.
#/etc/init.d/lighttpd restart

Para testes, crie os seguintes arquivos no seu diretório cgi-bin:

#vi ola.lua

Com o conteúdo:

#!/usr/bin/lua

io.write("Content-Type: text/plain\n\n")
io.write("Ola mundo Lua!!!")

#vi ola.pl

Com o conteúdo:

#!/usr/bin/perl

print "content-type: text/html \n\n";
print "Ola mundo Perl!!!";

#vi ola.py

Com o conteúdo:

#!/usr/bin/python

print "Content-Type: text/plain \n\n"
print "Ola mundo Python!!!"

Modifique a permissão dos 3 arquivos:

#chmod 540 ./ola.*

Modifique o dono dos arquivos:

#chown 33:33 ./ola.*

Agora acesse o seu navegador:

http://127.0.0.1/cgi-bin/ola.lua
http://127.0.0.1/cgi-bin/ola.pl
http://127.0.0.1/cgi-bin/ola.py


Pronto você acaba de habilitar o suporte CGI para seu web server e também criou 3 atribuições CGI. Uma para linguagem Lua, uma para a Perl e outra para a Python.

Mais informações acesse:
http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModCGI


Paz a todos!

0 comentários:

Postar um comentário