Pascal para Web com CGI - Parte I
Vamos ver como é fácil programar para Web com Pascal através de CGI. Recomendo àqueles que curtem a linguagem e nunca se viram programando para Web com ela, ou gostariam de aproveitar seu conhecimento para atuar com aplicações Web e/ou sites.
Parte 2: Preparando o ambiente
Nosso ambiente precisa estar preparado para rodar as aplicações CGI que vamos construir com Pascal. Para seguir os passos de configuração e instalação a seguir, é necessário que você tenha acesso como root, ou tenha permissão através do sudo, às pastas e arquivos que vamos alterar e para instalar as aplicações necessárias.
A distro escolhida para os testes foi o Ubuntu 12.04 (mas pode ser qualquer outra variante Debian). Se você usa outra distro ou quer usar um outro servidor, o Viva o Linux é um ótimo lugar para procurar como se configura a sua combinação distro / server.
Instalando o Apache:
sudo apt-get install apache2
Aguarde finalizar e veja se o servidor subiu corretamente (sem erros). Para ter certeza de que tudo está OK, abra seu navegador e tente acessar o endereço:
Deve retornar uma mensagem de que está funcionando.
Configurando a pasta dos sites e dos scripts CGI:
sudo nano /etc/apache2/sites-enabled/000-default
Altere a linha:
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
Para:
E a linha:
<Directory "/usr/lib/cgi-bin">
Para:
Você também pode alterar o DocumentRoot de /var/www para outro diretório - eu uso como /home/meu_usuário/Sites - pode fazer como for melhor para você, desde que não se esqueça de alterar as linhas referentes ao CGI também.
Feito isso, é hora de reiniciar o Apache com:
sudo /etc/init.d/apache2 restart
Se não deu erro nenhum, é hora de partir para o próximo passo. Se algo der errado, reveja os passos anteriores.
Como neste artigo estamos usando Ubuntu (32 bits), vamos baixar os pacotes .deb disponíveis e, após descompactar, instalar com:
cd pasta_onde_estao_os_pacotes
$ sudo dpkg -i *.deb
O Ubuntu reclama de algumas dependências e para saná-las, basta utilizar:
sudo apt-get install -f
Tanto o Lazarus quanto o Free Pascal, devem estar funcionais e acessíveis neste momento.
Existem outras, como o FreeSpider, PSP (Pascal Server Pages)... mas optei por usar a solução padrão que também está disponível junto com o Lazarus para outros sistemas operacionais.
Abra o Lazarus e vá em: Packages -> Install / Uninstall Packages:
Na janela que será exibida, selecione o item "weblaz 0.0", na coluna da direita e clique em "Install Selection", e depois em "Save and Rebuild IDE".
Aguarde enquanto a IDE se recompila. Ela deve retornar automaticamente após isso. Se depois de algum tempo ela não abrir sozinha, acesse-a pelo menu de aplicações.
* Nota importante: Algumas versões dos pacotes .deb disponíveis no SourceForge, não continham as bibliotecas do Weblaz (fcl-web). Mas é simples corrigir isso se você não estiver conseguindo instalar o pacote:
- Baixe os pacotes para outra distro, ou para Mac, e pegue dentro do pacote a pasta completa, dentro de "components", com o nome "fcl-web". Copie para algum lugar no seu HD e indique o caminho para instalar o componente através de:
Packages -> Open package file (.lpk)
Configurando o servidor Web
Vamos usar o Apache como nosso servidor Web. A escolha se deve porque ele está presente na maioria dos servidores de hospedagem já com a execução de CGI habilitado, e segundo porque é fácil de instalar e configurar no ambiente local.A distro escolhida para os testes foi o Ubuntu 12.04 (mas pode ser qualquer outra variante Debian). Se você usa outra distro ou quer usar um outro servidor, o Viva o Linux é um ótimo lugar para procurar como se configura a sua combinação distro / server.
Instalando o Apache:
sudo apt-get install apache2
Aguarde finalizar e veja se o servidor subiu corretamente (sem erros). Para ter certeza de que tudo está OK, abra seu navegador e tente acessar o endereço:
- http://127.0.0.1
Deve retornar uma mensagem de que está funcionando.
Configurando a pasta dos sites e dos scripts CGI:
sudo nano /etc/apache2/sites-enabled/000-default
Altere a linha:
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
Para:
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
E a linha:
<Directory "/usr/lib/cgi-bin">
Para:
<Directory "/var/www/cgi-bin">
Você também pode alterar o DocumentRoot de /var/www para outro diretório - eu uso como /home/meu_usuário/Sites - pode fazer como for melhor para você, desde que não se esqueça de alterar as linhas referentes ao CGI também.
Feito isso, é hora de reiniciar o Apache com:
sudo /etc/init.d/apache2 restart
Se não deu erro nenhum, é hora de partir para o próximo passo. Se algo der errado, reveja os passos anteriores.
Baixando e configurando o Free Pascal e o Lazarus
Apesar de estarem disponíveis nos repositórios oficiais do Ubuntu, tanto o Free Pascal quanto o Lazarus, recebem atualizações constantes. A melhor forma de obter a versão mais atual para a sua distribuição (no momento deste artigo, é o "Lazarus 0.9.30.4" e o "Free Pascal 2.6.0") é através do link oficial no SourceForge:Como neste artigo estamos usando Ubuntu (32 bits), vamos baixar os pacotes .deb disponíveis e, após descompactar, instalar com:
cd pasta_onde_estao_os_pacotes
$ sudo dpkg -i *.deb
O Ubuntu reclama de algumas dependências e para saná-las, basta utilizar:
sudo apt-get install -f
Tanto o Lazarus quanto o Free Pascal, devem estar funcionais e acessíveis neste momento.
Configurando o Lazarus
Precisamos agora fazer com que o Lazarus nos dê alguma facilidade para trabalhar com CGI, e para isso vamos instalar o componente WebLaz. Este componente, na verdade, nos permite utilizar a biblioteca Fcl-Web, que é a padrão do Free Pascal para desenvolvimento Web.Existem outras, como o FreeSpider, PSP (Pascal Server Pages)... mas optei por usar a solução padrão que também está disponível junto com o Lazarus para outros sistemas operacionais.
Abra o Lazarus e vá em: Packages -> Install / Uninstall Packages:

* Nota importante: Algumas versões dos pacotes .deb disponíveis no SourceForge, não continham as bibliotecas do Weblaz (fcl-web). Mas é simples corrigir isso se você não estiver conseguindo instalar o pacote:
- Baixe os pacotes para outra distro, ou para Mac, e pegue dentro do pacote a pasta completa, dentro de "components", com o nome "fcl-web". Copie para algum lugar no seu HD e indique o caminho para instalar o componente através de:
Packages -> Open package file (.lpk)
BELA POSTAGEM....