Instalando o Apache no Linux e habilitando CGI

Instalando o Apache no Linux e habilitando CGI

O Apache, de longe, é o servidor web mais popular do mundo.

Na família Red Hat (Fedora, CentoOS) normalmente utilizamos o yum para instalação. O Apache é referenciado por httpd.

Na família Debian (Ubuntu) normalmente utilizamos o apt-get. O Apache é referenciado por apache2.

OBS: Quando for utilizar o Ubuntu antes dos comandos utilizem sudo (rodar com permissão de administrador).

# antes de instalar verifique se não tem atualizações para serem feitas.
apt-get update
# caso tenha atualização
apt-get upgrade
# instalando o apache
apt-get install apache2
# verificar se o apache está rodando 
systemctl status apache2

o resultado será esse:

Testando o apache no navegador

Rode esse comando para leitura de arquivos CGI

# Ubuntu
sudo a2enmod cgi
# Debian como root
a2enmod cgi

Por padrão no Debian Jessie há uma pasta que manda o http://localhost/cgi-bin/ para /usr/lib/cgi-bin , ou seja, se você pôr um arquivo cgi dentro de /usr/lib/cgi-bin automaticamente quando vc acessar seu http://localhost/cgi-bin/ ele irá acessar /usr/lib/cgi-bin.

Agora vamos recarregar as configurações do apache

# reiniciar o apache
systemctl restart apache2 

Vamos criar um arquivo teste, exemplo o que vou disponibilizar aqui abaixo, salvá-lo no diretório /usr/lib/cgi-bin e depois acessar o endereço http://localhost/cgi-bin/

vim /usr/lib/cgi-bin/teste.cgi
# caso seja Ubuntu coloque o sudo antes

Copie e Cole o arquivo de teste abaixo:

#!/bin/bash
  
echo "content-type: text/html"
echo
echo
echo "
  <html> <head> <meta charset='utf-8' /> <title> CGI script </title> </head>
  <body>
  <h1>Algumas informações sobre a máquina que o CGI está rodando:</h1>
  "
  
echo "<h4>uptime</h4>"
echo "<pre>$(uptime)</pre>"
  
echo "<h4>uname</h4>"
echo "<pre>$(uname -a)</pre>"
  
echo "<h4>/proc/cpuinfo</h4>"
echo "<pre>$(cat /proc/cpuinfo)</pre>"
  
echo "
  </body>
  </html>
  "

Após salvar o arquivo, não esqueça de dar permissão de visualização para ele

chmod a+x /usr/lib/cgi-bin/teste.cgi

Vamos testar nosso serviço CGI
no navegador digite a url http://localhost/cgi-bin/teste.cgi

Pronto nosso servidor apache com cgi já está rodando !