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 !