Gerando e recuperando estatísticas com o Awstats
Nos posts anteriores mostrei como fazer o upgrade da versão do WordPress para a mais nova. Agora vem uma parte complementar mas muito importante: as estatísticas. O software que mais gosto de usar para este fim é o Awstats. Ele faz um parse nos arquivos de log do servidor web e gera um arquivo na forma de uma base de dados com tudo o que foi coletado nos logs. Estes dados são acessados posteriores para montar a interface web e seus gráficos.
Estou considerando aqui o fato de que este site é hospedado no Dreamhost, mas o mesmo pode ser feito em praticamente qualquer outro servidor com acesso SSH. Se não tiver, faça tudo no seu computador e depois envie para seu servidor. O Awstats é constituído por um conjunto de scripts escritos em Perl, logo será necessário fazer com que o servidor web execute estes programas, ativando o CGI ou mod_perl, no caso do Apache. Outra detalhe muito importante que também falarei aqui é sobre como agregar dados de arquivos de log antigos para a base de dados coletados.
Existem duas formas de usar o Awstats: estaticamente e dinamicamente. No primeiro caso, precisamos agendar uma tarefa para coletar as estatísticas e gerar arquivos .html estáticos. Na segunda só precisamos agendar a coleta dos dados, pois a página de relatório é gerada dinamicamente quando acessamos seu endereço. É possível também ativar a coleta pela interface web, mas a melhor forma é mesmo agendar um job para isto através do cron.
Script de Instalação
O Awstats pode ser instalado de várias formas. Na que escolhi, o diretório com os arquivos ficarão dentro do diretório visível pelo servidor web, com as páginas sendo geradas dinamicamente, como mencionei acima. Abaixo segue um script para automatizar o processo (certifique-se de modificar a variável local com o seu domínio). Copie este código em um arquivo dentro do seu servidor (inst_awstats.sh, por exemplo), dê a ele privilégio de execução (chmod +x inst_awstats.sh) e execute-o (./inst_awstats.sh).
#!/bin/bash
DOMAIN=hypercast.info
cd
cd $DOMAIN
wget http://awstats.sourceforge.net/files/awstats-6.7.tar.gz
tar -xzvf awstats-6.7.tar.gz
rm -rf awstats-6.7.tar.gz
mv awstats-6.7 awstats
cd awstats
rm -rf README.TXT
rm -rf docs
mv wwwroot/* .
rm -rf wwwroot
cd cgi-bin
CONFIG=awstats.$DOMAIN.conf
echo “LogFile=\”/home/$USER/$DOMAIN/awstats/tools/logresolvemerge.pl /home/$USER/logs/$DOMAIN/http/access*.* |\”" > $CONFIG
echo “LogFormat=\”%host %other %other %time1 %methodurl %code %bytesd %refererquot %uaquot\”" >> $CONFIG
echo “SiteDomain=\”$DOMAIN\”" >> $CONFIG
echo “HostAliases=\”localhost 127.0.0.1 REGEX[hypercast\.info$]\”" >> $CONFIG
echo “DirData=\”/home/$USER/$DOMAIN/awstats\”" >> $CONFIG
echo “DirIcons=\”/awstats/icon\”" >> $CONFIG
echo “AllowToUpdateStatsFromBrowser=1″ >> $CONFIG
echo “LoadPlugin=\”geoipfree\”" >> $CONFIG
~/$DOMAIN/awstats/cgi-bin/awstats.pl -config=$DOMAIN -update
cat awstats.hypercast.info.conf | grep -v “LogFile” > arq.conf
echo “LogFile=\”/home/$USER/logs/$DOMAIN/http/access.log\”" > $CONFIG
cat arq.conf >> $CONFIG
rm arq.conf
cd ..
echo “<?php header(\”Location: /awstats/cgi-bin/awstats.pl?config=$DOMAIN\”); ?>” > index.php
Este script shell já faz todo o trabalho, instalando o awstats, gerando um arquivo de configuração para o seu domínio, coletando os dados anteriores e deixando no final uma URL mais simples de acessar:
http://DOMAIN/awstats/
Agora só falta agendar o trabalho de coleta dos dados no cron. Digite no terminal crontab -e para editar seus jobs e coloque a seguinte linha:
0 * * * * /usr/local/bin/perl /home/$USER/$DOMAIN/awstats/cgi-bin/awstats.pl -config=$DOMAIN -update > /dev/null
Substitua as variáveis pelos seu login e seu domínio. Esta configuração fará com que os dados sejam atualizados de hora em hora. Caso queira algo mais granular, substitua o zero (representa os minutos) pelo que preferir (0,20,40 seria um exemplo). Está tudo pronto. Se preferir, pode proteger suas estatíscas com recursos básicos de autenticação do Apache. Basta usar os seguintes comandos:
cd ~/$DOMAIN/awstats
echo “AuthType Basic” > .htaccess
echo “AuthName \”$DOMAIN awstats\”" >> .htaccess
echo “AuthUserFile /home/$USER/$DOMAIN/awstats/.htpasswd” >> .htaccess
echo “Require valid-user” >> .htaccess
htpasswd -c -m .htaccess $USER
Forneça sua senha de acesso e pronto. Suas estatísticas agora estão prontas e protegidas.
Artigos Relacionados:
Sobre este artigo
You’re currently reading “Gerando e recuperando estatísticas com o Awstats,” an entry on Hypercast
- Published:
- 03.12.08 / 8am
- Category:
- Uncategorized
2 Comments
Jump to comment form | comments rss [?] | trackback uri [?]