Relatório de sistema via browser (shell script + CGI)

Um bom administrador de redes tem que estar atento aos detalhes provenientes do seu servidor Linux. Uma forma simples e fácil é pelo uso eficaz de relatórios de sistema. Aqui vou mostrar uma forma de fazer um relatório com shell script + CGI, podendo ser visualizado remotamente via internet através de seu servidor web.

[ Hits: 54.581 ]

Por: William França em 06/10/2006


Configuração



Primeiramente as pendências da vida. Vou considerar que você já tem um servidor Apache instalado, então basta dar uma analisada no seu httpd.conf verificando se o módulo CGI está descomentado ("#"), caso contrário descomente as seguintes linhas:

LoadModule cgi_module /usr/lib/apache/1.3/mod_cgi.so

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AddHandler cgi-script .cgi .sh .pl
Ops! Só mais um detalhe, o seu Ifmodule tem que estar assim:

<IfModule mod_dir.c>
      DirectoryIndex index.html index.htm index.shtml index.cgi
</IfModule>

Em outras palavras, o LoadModule carrega o mod_cgi.so, o ScriptAlias define o diretório aonde você guardará o script CGI, que no caso ficará por medida de segurança em /usr/lib/cgi-bin, isso não impede que você defina outro diretório para guardar os seus CGI's, não se esquecendo é claro de definir isso no seu httpd.conf da seguinte maneira:

<Directory /home/william/site-da-empresa/cgi-bin/>
   Options +ExecCGI
</Directory>
    Próxima página

Páginas do artigo
   1. Configuração
   2. Entendendo o CGI e preparando o terreno
   3. Lógica do relatório e dependências
   4. relatorio.cgi
   5. Segurança do CGI e considerações finais
Outros artigos deste autor

Simples sistema de backup com acesso remoto

Leitura recomendada

Ingressando estações de trabalho Ubuntu no AD com Closed In Directory

Aviso de queda de Internet via Sendxmpp

Backup automatizado com HD externo

Script de firewall completíssimo

Shell Script como serviço no Windows

  
Comentários
[1] Comentário enviado por pacman em 06/10/2006 - 18:22h

Fazer CGI-BIN em Bash é muito divertido :)

Sugestão: para evitar 4750834750345 echo "...." pode ser feito algo assim

cat <<EOF
Content-type: text/html

<html> <head> <title> Exemplo de CGI </title> </head>
...
EOF

Abraço

[2] Comentário enviado por coffani em 06/10/2006 - 18:48h

Excelente artigo Wilian, vou usar nos meus servers, tenhos uns mais saum separados pra cada serviço esse ai apesar de simples é bem funcional.. Parabéns.

[3] Comentário enviado por balani em 08/10/2006 - 01:19h

Cara muito bom seu artigo, parabens, sera muito util para mim, vlw

[4] Comentário enviado por williamcrazy em 17/10/2006 - 21:58h

Obrigado, fico feliz em saber que ajudei de alguma forma alguem, pois é muito importante temos o efetivo controle de nossos servidores para manter a casa em ordem, pois o linux é uam excelente plataforma e bem segura, mais o linux só será isso tudo se por de trás tiver um hacker preparado e disposto a aprender cada vez mais, do contrário o linux pode ser uma brecha para dor de cabeça sua e da empresa que você trabalha, e nada melhor do que usar estes tipos de soluções para estar a par do que circula na sua rede.

[5] Comentário enviado por cleitão em 05/12/2006 - 15:23h

Cara bem legal mesmo da pra fazer o cgi funcionar de forma simples e rápida....

Valeu!!!!!!!!!

[6] Comentário enviado por dtux em 28/02/2007 - 23:53h

BOA CARA!!!!!!!!!!!!!!!!

[7] Comentário enviado por coffani em 09/06/2008 - 23:18h

kra... muito bacana seu artigo... muito bem feito, parabens.. vai pro meu favoritos..

[8] Comentário enviado por removido em 12/06/2008 - 03:09h

Parabéns...

[9] Comentário enviado por wagner_guitar em 26/11/2008 - 18:20h

eu instalei o apache , mas nao tem esse arquivo httpd.conf,
sabe o que acontece?????
e ai,o que faco???

desde ja agradeco!!!!!!!

[10] Comentário enviado por williamcrazy em 27/11/2008 - 12:56h

Prezado Wagner Guitar,
o arquivo httpd.conf está presente na pasta que quarda as configurações do seu webserver Apache, dependendo da distro ou da pré-configuração de instalação, podemos encontralo em diferentes lugares.
Na maioria das instalações encontramos ele na pasta /etc/apache ou /etc/apache2 (OBS: Se você está usando o Apache 2, o arquivo que você deve editar é o apache2.conf [ /etc/apache2/apache2.conf], embora exista um httpd.conf, o mesmo serve para outros própositos.) Na dúvida leia o arquivo README, logo no inicio ele indica o arquivo de configuração default (padrão)
Se nada resolver, execulte o seguinte comando: find / -name httpd.conf
E sairá na tela uma gama de resultados com os possiveis diretórios pelos quais seu httpd.conf poderá estar presente, se não resolver tente find / -name apache2.conf

O comando dará um retorno parecido com o seguinte:
/etc/apache/httpd.conf
/etc/apache2/httpd.conf
/var/www/downloads/httpd.conf
/var/www/secreto/confs/httpd.conf

/usr/share/doc/apache/examples/httpd.conf
/usr/share/apache/default-configs/apache-perl/httpd.conf
/usr/share/apache/default-configs/apache-ssl/httpd.conf
/usr/share/apache/default-configs/apache/httpd.conf
/home/www/secreto/httpd.conf

A primeira linha do retorno dá o caminho a ser seguido. Conte conosco!!!

Atenciosamente,
William França (SLACKWARE ATÉ A MORTE)

[11] Comentário enviado por cardelli em 13/04/2010 - 10:54h

Já utilizei cgi.... mas com o apache2 não esta rolando...



como faço para adicionar o modulo do cgi no arquivo apache2.conf?

[12] Comentário enviado por joaopaulobrinate em 11/09/2010 - 09:53h

Cara parabens pelo material viu mto bom mesmo... rapaz talvez vc possa me ajudar!!! veja so o que estou precisando. " TO PRECISANDO CADASTRAR USUARIOS NO PPTPD VIA CGI, E EU NAO SEI NADA DE CGI SE VC PUDER ME DAR UMA FORÇA OBRIGADO VIU" QUAL O SEU MSN?

[13] Comentário enviado por nielsenyuri em 15/02/2011 - 16:50h

material muito bom mesmo,ja estou testando


Contribuir com comentário