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ódulo PERL Geo::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

Compartilhe:

  • Print
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Add to favorites
  • email
  • LinkedIn
  • Netvibes
  • PDF
  • Rec6
  • Reddit
  • RSS
  • Slashdot
  • StumbleUpon
  • Twitter
  • Yahoo! Bookmarks

Posts Relacionados:

Related posts brought to you by Yet Another Related Posts Plugin.

Comments are closed.

Trackback This Post |