Artigos 18 nov 2006 11:49 am
Instalando o AWStats na Dreamhost
O AWStats é um excelente software para análise de logs e geração de estatísticas. Ele trabalha muito bem com os principais web servers (principalmente o Apache) e também pode ser usado para analisar logs de ftp, e deservidores de e-mail segundo informação dos desenvolvedores.
Na empresa onde trabalho, utilizamos o AWStats junto com outras soluções como extreme tracking e google analytics, porém acho o AWStats o mais objetivo de todos no sentido de apresentar as estatísticas coletadas do log.
Essa semana resolvi instalar o AWStats na minha conta da DreamHost, uma vez que eu não gostei muito do Analog que eles disponibilizam e além do mais eu já instalei o AWStats antes, então agora não devo encontrar dificuldades.
Para facillitar o processo, dei uma olhada no Wiki da DreamHost e achei um passo a passo de como instalar o AWStats.
O AWStats pode funcionar de 2 formas: com páginas estaticas ou através do cgi. Particularmente eu prefiro utilizar como CGI pois possibilita a atualização dos dados apartir do browser. No Wiki da DreamHost esse método é chamado de rápido (Quick).
Instalação
O procedimento de instalação é fácil e basicamente se resume em descompactar o AWStats e criar alguns links simbólicos para alguns diretórios. Adaptei o passo a passo de forma a criar uma estrutura genérica para facilitar adições futuras de novos domínios.
# ssh domainname.com -l login
# cd /home/login/
# wget http://prdownloads.sourceforge.net/awstats/awstats-6.5.tar.gz
# tar xzvf awstats-6.5.tar.gz
# mv awstats-6.5 awstats
Novamente é possível escolher entre 2 opções: criar um subdomínio para o AWStats ou criar uma pasta dentro do domínio em questão. No meu caso eu preferi criar um subdomínio chamado awstats, porém os passos a seguir devem ser alterados para o diretório diretório criado dentro do domínio se for o caso.
# mkdir -p domainname.com/awstats # cd domainname.com/awstats ou # cd awstats.domainname.com # ln -s /home/login/awstats/{cgi-bin,icon,js,css} . (É um ponto no final da linha) # mkdir data # chmod 775 data
Configuração
A configuração do AWStats é bem simples e se resume em criar uma cópia do arquivo de configuração base e alterar algumas poucas linhas.
# cd /home/login/awstats.domainname.com/cgi-bin # cp awstats.model.conf awstats.domainname.com.conf # vi awstats.domainname.com (ou o editor de sua preferência) LogFile="/home/login/logs/domainname.com/http/access.log" LogFormat="%host %other %other %time1 %methodurl %code %bytesd %refererquot %uaquot" SiteDomain="domainname.com" HostAliases="www.domainname.com" DirData="/home/login/awstats.domainname.com/data/" (É recomendável desligar a resolução de nomes pois torna o processamento bem mais lento) DNSLookup=0 (Descomente a linha abaixo para verificar o país de origem dos IPs. Necessita do móduloPERLGeo::IPfree) LoadPlugin="geoipfree" (Caso seja usado um diretório dentro do domínio altere também os parâmetros abaixo) DirCgi="/awstats/cgi-bin" DirIcons="/awstats/icon" (Caso deseje atualizar através do browser) AllowToUpdateStatsFromBrowser=1
Diversas outras opções compoem o arquivo no entanto as principais são as mencionadas acima. No arquivo de configuração já é possível ter uma boa idéia do que cada opção faz e o manual online complementa as informações.
Testando
Já é possível acessar o AWStats através da url http://awstats.domainname.com/cgi-bin/awstats.pl?config=domainname.com ou http://www.domainname.com/awstats/cgi-bin/awstats.pl?config=domainname.com no entanto, nenhuma estatistica foi processada ainda. Caso tenha sido habilitada a opção para atualizar pelo browser é possível clicar em “Update now” no topo da página para processar o log. Caso prefira fazê-lo pelo shell também é possível.
# perl /home/login/awstats/cgi-bin/awstats.pl -config=domainname.com -update
Cron
A menos que você não tenha nada mais o que fazer, ou talvez se o seu site não tiver nenhum acesso, você vai preferir que o awstats atualize as estatísticas automaticamente. Com o cron isso é possível, basta programar para executar o comando acima diariamente ou de hora em hora, ou no período que você desejar.
# crontab -e
0 * * * * /usr/local/bin/perl /home/login/awstats/cgi-bin/awstats.pl \
-config=domainname.com -update > /dev/null
A \ (barra) indica quebra de linha no texto devido a limtação de tamanho. As 2 linhas devem ser tratadas como 1 só.
Segurança
Nesse momento o AWStats está 100% funcional e coletando informações, no entanto, todas as suas estatísticas estão disponíveis para o mundo. É claro que a pessoa tem que imaginar que você está usando AWStats e adivinhar a estrutura que você montou, mas caso seja utilizado padrão, fica bem mais fácil de achar. Poucas linhas no .htaccess resolvem o problema definindo logins que podem acessar o serviço.
# cd /home/login/awstats.domainname.com
# vi .htaccess
AuthType Basic
AuthName "Entre com o usuário e a senha para o AWStats"
AuthUserFile /home/login/awstats.domainname.com/.htpasswd
Satisfy All
Require valid-user
Adicione os usuários no arquivo com o comando htpasswd
# htpasswd -c .htpasswd login (A opção-cé usada para criar o arquivo.htpasswd) New password: Re-type new password: Adding password for user login
Pronto, agora só as pessoas que você autorizar terão acesso.
Para tornar o acesso mais fácil/prático é possível criar um pequeno arquivo php que redirecione para o endereço correto.
# cd /home/login/awstats.domainname.com
# vi index.php
<?php
header( "Location: /cgi-bin/awstats.pl?config=domainname.com");
?>
Referências
- http://wiki.dreamhost.com/index.php/AWStats
- http://httpd.apache.org/docs/1.3/mod/mod_auth.html
- http://awstats.sourceforge.net/docs/
Posts Relacionados:
Related posts brought to you by Yet Another Related Posts Plugin.