Configurando o Apache para executar CGIs em Kylix

Configurar o Apache para executar CGIs desenvolvidos em Kylix não é uma tarefa difícil, mas a documentação não ajuda muito e pode compilcar a vida de desenvolvedores que não tenham experiência com Linux. Este tutorial também procura ajudar quem quer fazer o deploy dos CGI para provedores de Internet.

[ Hits: 39.882 ]

Por: Josir Cardoso Gomes em 12/02/2004


Configurando o Apache para executar o CGI



O primeiro passo é indicar que todo arquivo que tenha extensão .cgi poderá ser executado pelo Apache. Pode parecer estupidez, mas para o Apache um executável pode ter uma extensão chamada xuxu. Você tem a liberdade de dizer qual a extensão que vai querer. Você também verá mais a frente que o Kylix também permite que você altere a extensão do arquivo.

Ainda logado como root, modifique o arquivo de configuração do Apache httpd.conf, que normalmente está localizado em /usr/local/apache/conf, /usr/httpd/conf ou /etc/httpd/conf.

Assim, abra o arquivo com algum editor de texto. Se você não conhece bem o Linux e utiliza o KDE, uma opção é utilizar o "Editor de Texto do KDE". Para tal, chame o Konqueror, digite o diretório e dê um clique da direita sobre o arquivo httpd.conf. Vai aparecer um popup menu e aí escolha a opção "Open With" ou "Abrir Com" e selecione um dos editores de textos disponíveis.

Procure pela string "AddHandler cgi-script .cgi". Se houver um # no início da linha (que indica um comentário), retire-o. A linha tem que ficar desta forma:

AddHandler cgi-script .cgi

Ainda neste arquivo, adicione no final do texto o comando:

SetEnv LD_LIBRARY_PATH /home/web/scripts

Esta última linha indica para o Apache onde ele deve procurar as bibliotecas necessárias para o CGI funcionar. A documentação do Kylix neste ponto diz para você colocar o diretório "bin" do Kylix, mas se pensarmos que iremos copiar os arquivos para um provedor no futuro, essa instrução só iria funcionar se instalássemos o Kylix no provedor, o que não é muito prático, concordam?

Colocando o LD_LIBRARY_PATH no diretório scripts, você terá que copiar as bibliotecas para o mesmo diretório onde estão os seus CGIs. Diferentemente do RWindows, o fato de uma biblioteca (que equivale a uma DLL) estar no mesmo diretório do EXE não significa que ela poderá ser acessada. No Linux, você deve sempre explicitar onde você vai buscar as bibliotecas.

Por fim, vamos criar um alias para apontar para o nosso diretório. Aí existe um problema: para algumas distribuições, o arquivo que deve ser alterado é o httpd.conf, para outras (como o Mandrake) é o arquivo commonhttpd.conf. Assim, se no diretório httpd/conf/ existir o arquivo commonhttpd.conf, altere este. Caso contrário, procure por um arquivo que contenha a string "DocumentRoot". Adicione no fim do arquivo as linhas:

Alias /scripts /home/web/scripts

<Directory /home/web/scripts>
   AllowOverride Nome
   Options Indexes FollowSymLinks MultiViews ExecCGI
   Order allow,deny
   Allow from all
</Directory>

Certifique-se que os arquivos de configuração estão salvos.

Para que estas alterações tenham efeito, vamos reiniciar o Apache com os comandos:

# apachectl graceful
ou
# /etc/rc.d/init.d/httpd restart

Se o comando não der a mensagem de [ Ok ], então o servidor não foi iniciado corretamente. Reveja os passos anteriores, pois algo deu errado :(

Na sequência, vamos chamar o Kylix e compilar um CGI no diretório que acabamos de criar.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Configurando o Apache para executar o CGI
   3. Compilando o CGI no Kylix
   4. CGIs com shared library
Outros artigos deste autor

Porque os projetos open-source não são anunciados na mídia?

Leitura recomendada

Pascal para Web com CGI - Parte II

Pascal para Web com CGI - Parte I

Como imprimir diretamente na porta de impressão

Criando uma aplicação Kylix com PostgreSQL usando Zeos (parte 3)

Criando uma aplicação que mostra os processos em execução

  
Comentários
[1] Comentário enviado por fabio em 12/02/2004 - 00:46h

Muito bom o artigo, parabéns!

[2] Comentário enviado por _simmons_ em 12/02/2004 - 09:50h

Parabéns pelo artigo ! Eu gostaria de saber se você tem ou sabe algum lugar que tenha material explicando como instalar suporte a db no Kylix Open ?

[3] Comentário enviado por AValle em 13/02/2004 - 13:27h

Não tem muito o que falar.
Nota 10!

[4] Comentário enviado por josir em 13/02/2004 - 13:59h

Obrigado pelos comentários!
Simon, o melhor tutorial que eu achei para instalar o suporte a db foi no ClubeKylix. Veja em:

http://www.clubekylix.com.br/txt.php?id=7

[5] Comentário enviado por josir em 19/02/2005 - 13:56h

Olá Simon,

como o Clube Kylix saiu do ar, segue um link para um tutorial que fiz sobre a instalação das bibliotecas do Open Edition.

www.jsk.com.br/kylix-mandrake.html

[6] Comentário enviado por anderson_souza em 25/11/2005 - 11:42h

Adorei o artigo, estou justamente tentando implantar um CGI em Kylix no Apache Linux.

Concordo com fato do Delphi/Kylix ser uma linguagem excelente, de fato programadores experientes vão preferir um CGI (não necessáriamente em Delphi/Kylix) do que um ASP ou PHP.

[7] Comentário enviado por coxinha_loko em 04/06/2007 - 09:17h

Parabens pelo Artigo, Mas se puder me ajudar.
Gostaria de saber como compilar Delphi em Linux?
Abrigado!

[8] Comentário enviado por josir em 04/06/2007 - 10:05h

Olá coxinha,
Vc tem que instalar o Kylix Open Edition, abrir os fontes que vc tem e mandar compilar. Repare que vc terá que instalar várias bibliotecas e converter várias partes do seu programa em Delphi. Não é tarefa fácil.
Depois de 3 anos usando Kylix, posso te afirmar que é trabalho jogado fora: não vale a pena.
É mais produtivo converter o seu sistema para Java ou outra linguagem do que ficar batendo cabeça com o Kylix. Entretanto se vc quer manter o Pascal, tente o Lazarus/Free Pascal.
Boa Sorte,


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts