Estatísticas Web · 5 min read · Nov 26, 2025

Gerando Estatísticas de Sites com AWStats e JAWStats no Debian Lenny

Gerando Estatísticas de Sites com AWStats e JAWStats no Debian Lenny

Versão 1.0
Autor: Falko Timme
Siga-me no Twitter

Este tutorial explica como você pode gerar estatísticas para o seu site com AWStats e JAWStats em um servidor web Debian Lenny. AWStats é uma ferramenta poderosa e gratuita que gera estatísticas avançadas de servidores web. JAWStats funciona em conjunto com AWStats e produz gráficos, tabelas e diagramas claros e informativos sobre os visitantes do seu site. O AWStats é capaz de criar páginas web gráficas para as estatísticas, mas o JAWStats apresenta esses dados de uma maneira muito mais agradável - é muito melhor organizado e faz uso de Ajax e Flash.

Não dou nenhuma garantia de que isso funcionará para você!

1 Nota Preliminar

Neste tutorial, eu tenho um site www.example.com (com os aliases example.com, www.example.net e example.net) com o diretório raiz /var/www/www.example.com/web.

2 Instalando e Configurando o AWStats

O AWStats pode ser instalado da seguinte forma:

aptitude install awstats

Sua configuração está localizada no diretório /etc/awstats/. Para cada host virtual, precisamos ter um arquivo de configuração chamado awstats..conf nesse diretório (ou seja, para o nosso site www.example.com, precisamos do arquivo de configuração awstats.www.example.com.conf). Podemos usar o arquivo /etc/awstats/awstats.conf como um modelo:

cd /etc/awstats/
cp awstats.conf awstats.www.example.com.conf
vi awstats.www.example.com.conf

Modifique as seguintes configurações:

| [...] LogFile="/var/log/apache2/access.log" [...] LogFormat=1 [...] SiteDomain="www.example.com" [...] HostAliases="example.com www.example.net example.net" [...] |

LogFile deve conter o caminho para o log de acesso do Apache do seu host virtual ou o log de acesso geral do Apache (o que é para todos os sites; o AWStats é capaz de filtrar os registros que não pertencem ao seu site). Se você tiver um nome de arquivo dinâmico (por exemplo, porque contém uma data, por exemplo, porque seu log de acesso é criado pelo cronolog ou vlogger), você pode usar marcadores, por exemplo, assim:

LogFile="/var/log/httpd/access.log_%YYYY-0_%MM-0_%DD-0"

Isso é explicado nos comentários no arquivo de configuração do AWStats da seguinte forma:

“LogFile” contém o arquivo de log do servidor web, ftp ou de e-mail a ser analisado.
Valores possíveis: Um caminho completo, ou um caminho relativo do diretório awstats.pl.
Exemplo: “/var/log/apache/access.log”
Exemplo: “../logs/mycombinedlog.log”
Você também pode usar tags neste nome de arquivo se precisar de um nome de arquivo dinâmico dependendo da data ou hora (a substituição é feita pelo AWStats no início de sua execução).
Essas são as tags disponíveis:
%YYYY-n é substituído pelo ano de 4 dígitos que estávamos n horas atrás
%YY-n é substituído pelo ano de 2 dígitos que estávamos n horas atrás
%MM-n é substituído pelo mês de 2 dígitos que estávamos n horas atrás
%MO-n é substituído pelo mês de 3 letras que estávamos n horas atrás
%DD-n é substituído pelo dia que estávamos n horas atrás
%HH-n é substituído pela hora que estávamos n horas atrás
%NS-n é substituído pelo número de segundos às 00:00 desde 1970
%WM-n é substituído pelo número da semana no mês (1-5)
%Wm-n é substituído pelo número da semana no mês (0-4)
%WY-n é substituído pelo número da semana no ano (01-52)
%Wy-n é substituído pelo número da semana no ano (00-51)
%DW-n é substituído pelo número do dia na semana (1-7, 1=domingo)
use n=24 se você precisar (1-7, 1=segunda)
%Dw-n é substituído pelo número do dia na semana (0-6, 0=domingo)
use n=24 se você precisar (0-6, 0=segunda)
Use 0 para n se você precisar do ano, mês, dia, hora atuais…
Exemplo: “/var/log/access_log.%YYYY-0%MM-0%DD-0.log”
Exemplo: “C:/WINNT/system32/LogFiles/W3SVC1/ex%YY-24%MM-24%DD-24.log”
Você também pode usar um pipe se o arquivo de log vier de um pipe:
Exemplo: “gzip -d Se houver vários arquivos de log de servidores de balanceamento de carga:
Exemplo: “/pathtotools/logresolvemerge.pl *.log |”

Você provavelmente está usando o formato de log combinado do Apache, então você deve usar LogFormat=1 (novamente, dê uma olhada nos comentários no arquivo para descobrir o formato correto, mas na maioria dos casos você está usando o formato de log combinado do Apache).

SiteDomain: Especifique o domínio principal do seu site (www.example.com neste caso).

HostAliases: Especifique todos os outros domínios/subdomínios usados para acessar seu site (example.com, www.example.net, example.net neste exemplo).

Em seguida, criamos um trabalho cron para executar o AWStats a cada nove minutos:

crontab -e  

| 9,19,29,39,49,59 * * * * /usr/lib/cgi-bin/awstats.pl -config=www.example.com -update >/dev/null |

(Se você tiver um log de acesso dinâmico, como criado pelo cronolog ou vlogger, é uma boa ideia incluir o minuto 59 no trabalho cron para que o AWStats possa processar o log de acesso atual às 23:59h antes que um novo log de acesso seja criado às 0:00h - assim, você apenas perde o minuto entre 23:59h e 0:00h em suas estatísticas.)

3 Instalando e Configurando o JAWStats

Vá para http://www.jawstats.com/download, baixe a versão mais recente do JAWStats, descompacte-a em seu PC e faça o upload para um diretório dentro do seu site www.example.com, por exemplo, com FTP. Neste tutorial, eu faço o upload para o diretório /var/www/www.example.com/web/jawstats.

Depois, devemos renomear config.dist.php para config.php e modificá-lo:

mv /var/www/www.example.com/web/jawstats/config.dist.php /var/www/www.example.com/web/jawstats/config.php
vi /var/www/www.example.com/web/jawstats/config.php

| "/var/lib/awstats/", "updatepath" => "/usr/lib/cgi-bin/", "siteurl" => "http://www.example.com", "sitename" => "Meu Site Exemplo.com", "theme" => "default", "fadespeed" => 250, "password" => "secret", "includes" => "", "language" => "en-gb" ); ?> |

Se você quiser remover o link “mudar site”, mude $bConfigChangeSites para false.

Se você não quiser que seus usuários possam atualizar as estatísticas por conta própria, defina $bConfigUpdateSites como false.

Depois disso, temos o array $aConfig[“site1”] - renomeie-o para que tenha o nome do seu site ($aConfig[“www.example.com”]). Defina statspath como /var/lib/awstats/ (não se esqueça da barra no final!), updatepath como /usr/lib/cgi-bin/, siteurl como http://www.example.com, e especifique o nome do seu site sob sitename. Uma senha é necessária apenas se você tiver definido $bConfigUpdateSites como true (se você permitir que seus usuários atualizem as estatísticas pelo navegador, eles terão que digitar essa senha).

É isso - depois que o trabalho cron do AWStats for executado pela primeira vez (o que pode demorar muito para sites com muito tráfego, então tenha paciência), você pode acessar suas estatísticas em http://www.example.com/jawstats.

Aqui estão algumas capturas de tela de como pode parecer:

4 Proteger por Senha o Diretório de Saída do JAWStats (Opcional)

Agora é uma boa ideia proteger por senha o diretório /var/www/www.example.com/web/jawstats, a menos que você queira que todos possam acessar as estatísticas do seu site.

Para fazer isso, criamos um arquivo .htaccess em /var/www/www.example.com/web/jawstats:

vi /var/www/www.example.com/web/jawstats/.htaccess

| AuthType Basic AuthName "Apenas Membros" AuthUserFile /var/www/www.example.com/.htpasswd require valid-user |

Em seguida, devemos criar o arquivo de senha /var/www/www.example.com/.htpasswd. Queremos fazer login com o nome de usuário admin, então fazemos isso:

htpasswd -c /var/www/www.example.com/.htpasswd admin

Digite uma senha para admin, e você está feito!

5 Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.