Pular para o conteúdo

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.
William França williamcrazy
Hits: 59.134 Categoria: Shell Script Subcategoria: Avançado
  • Indicar
  • Impressora
  • Denunciar

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>
   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

Simples sistema de backup com acesso remoto

ShellBot - Crie Bots para Telegram em Shell Script

Aviso de queda de Internet via Sendxmpp

Alta disponibilidade de links

Backup automatizado com HD externo

Shell Script como serviço no Windows

#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

Entre na sua conta para comentar.