Pesquise...

Últimos Posts

Arquivo de Posts

2017 - 2016 - 2015 - 2014 - 2013 - 2012

Postagens Populares

Vem Comigo!

         
  •  
  •  
  •  
  •  
  • Tecnologia do Blogger.

    Boletim Informativo?

    * obrigatório

    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 já foi um projeto unicamente CGI.
    Mais precisamente, o PHP era um conjunto de scripts Perl.

    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