Como instalar e configurar o AWStats no Windows 2000/2003.

Índice de conteúdo

Como instalar e configurar o AWStats no Windows.

Introdução

O AWStats é um gerador de estatísticas muito bom, capaz de analizar e gerar relatórios
estatísticas para servidores Web, FTP e servidores de emails.
Possui diversos plugins para fornecer maiores detalhes sobre os dados processados.

Abaixo, vou tentar passar os passos para ter um sistema bacana de estatísticas para sites
hospedados em Windows 2000/2003 com IIS como webserver.

Instalação e configuração

Como o AWStats é todo escrito em Perl, vamos precisar do interpretador instalado
e configurado para rodar no webserver.

Baixe o instalador do ActivePerl para Windows no site da ActiveState.
Instale o programa, normalmente Next, Next, Finish (Padrão Windows :-).

O próprio instalador do ActivePerl se encarrega de configurar o IIS para aceitar
a extensão de arquivos .pl.

* OBS: No Windows 2003, é preciso liberar as extensões do Perl
através do item “Web Server Extensions” do IIS.

Após instalar o ActivePerl, vamos configurar o formato dos logs gerados pelo IIS,
para isso siga o seguinte procedimento:

1- Abra o IIS, selecione seu site (ou o site Default e altere todos),
clique com o botão direito e vá em Propriedades.

site_properties.png Propriedades do Site

2- Na janela principal das propriedades, no item “Formato de log ativo”, selecione a opção
“Formato do arquivo de log estendido do W3C” e clique no botão Propriedades.

3- Selecione a aba “Propriedades Estendidas” e habilite a opção de mesmo nome.
Em seguida, marque as seguintes opções:

date
time
c-ip
cs-username
cs-method
cs-uri-stem
cs-uri-query
sc-status
sc-bytes
cs-version
cs(User-Agent)
cs(Referer)

site_properties_extend.png Configurações estendidas de logs

Caso tenham outras opções marcadas, mantenha, mas, essas tem que estar habilitadas.
Maiores detalhes sobre essa operação também podem ser vistos aqui.
Agora que já temos o Perl instalado e os logs corretamente configurados, chegou a
hora de baixar e instalar o AWStats, através do site.
Esse também segue o conceito Next, Next, Finish.
No final na instalação, será aberto um assistente de configuração no prompt de comando.

Primeiramente será pedido o nome de seu site, vou usar como exemplo teste.com.br,
digite o nome de seu site (no meu caso teste.com.br) e aperte Enter.
Em seguida, será solicitado o caminho para o servidor web Apache, como vamos
usar IIS, digite apenas ‘none’ e aperte Enter.

Será pedido para criar um novo arquivo de configração, selecione ‘Y’ e Enter.
Será solicitado novamente o nome do site usado, digite de novo o nome do site
(eu de novo teste.com.br) e em seguida pressione Enter.

Pronto, instalação concluida e com isso acho que já temos tudo que precisamos
instalado em nosso servidor.

Agora, vamos por a mão na massa!!

Colocando a mão na massa

Acesse o diretório do AWStats, no meu caso está em “C:\Arquivos de programas\AWStats\”,
e vá no diretório wwwroot\cgi-bin. Dentro desse diretório você deve ter (pelo menos) os seguintes arquivos:

awstats.model.conf
awstats.pl
awstats.teste.com.br.conf
...

Vamos a uma breve descrição agora.

- awstats.model.conf: modelo básico de configuração do awstats.
- awstats.pl: script principal, que faz praticamente tudo.
- awstats.teste.com.br.conf: arquivo de configuração do site teste.com.br.

O awstats por padrão, exige que você tenha os arquivos nesse formato, awstats.nome_site.conf,
para que ele identifique diretamente no nome do arquivo, quem é o site que ele está analisando.

Ok, agora vamos editar o arquivo de configuração awstats.teste.com.br.conf.
Use seu editor de textos favorito e mãos a obra 😉

Todas as linhas que iniciam com # são comentários (como na maioria dos casos).
Antes de cada opção existe um resumo do que cada uma faz e exemplos de como
configura-las, já aviso que não vou explicar tudo em detalhes, pelo menos não agora.

Vou passar somente as opções que vamos alterar:

LogFile

A primeira linha que não é comentário que temos que configurar é o parametro, LogFile.
Esse parametro informa ao awstats qual o local do arquivo de log e seu formato de nome.
Vou colocar o caminho do log, que pode ser visto nas propriedades dos sites no IIS.

No meu caso vai ficar assim:

LogFile="C:/WINDOWS/system32/Logfiles/W3SVC1/ex%YY-0%MM-0%DD-0.log"

Esse é o caminho default usado pelo Windows para guardar os logs, e o formato é
o formato para gerar dinamicamente o nome do arquivo de log, algo como ex070121.log.
Sendo 07 o ano de 2007, 01 o mês de Janeiro e 21 o dia do mês.

LogType

O Awstats pode gerar estatísticas para servidores de Streeming (LogType=S),
de EMAIL (LogType=M), servidores de FTP (LogType=F) e servidores Web (LogType=W).

Vamos usar o padrão mesmo: LogType=W

LogFormat

Esse é um dos parametros mais importantes para que a geração correta dos dados,
onde vamos especificar o formato dos logs que o AWStats irá analizar.

O awstats possui configurações padrão para os vários tipos de servidores web e também,
opção de personalização dos logs.

Apesar do arquivo de configuração dizer que deixando como 2 o awstats vai trabalhar
com o formato do IIS, vamos personalizar nossa linha de LogFormat, para usar o formato
de logs extendido do IIS que configuramos anteriormente.

Para isso, até o diretório dos logs de seu site e abra o último log que foi gerado pelo IIS para seu site.
você terá no inicio do arquivo (ou após cada reinicio do IIS) os cabecalhos do log, que
são textos iniciados por # (cerquilha).
Um dos campos do cabeçalho é “#Fields:” que contem os campos usados no log.
Copie o conteudo dessa linha, no meu caso:

#Fields: date time cs-method cs-uri-stem cs-uri-query cs-username c-ip cs-version cs(User-Agent) cs(Referer) sc-status sc-bytes

E cole no arquivo de configuração do awstats da seguinte forma:

LogFormat=”date time cs-method cs-uri-stem cs-uri-query cs-username c-ip cs-version cs(User-Agent) cs(Referer) sc-status sc-bytes”

SiteDomain

Em “SiteDomain” coloque o nome do seu site, em geral, o mesmo que está no
nome do arquivo, no meu caso:

SiteDomain=”teste.com.br”

HostAliases

Parecido com SiteDomain, mas com outra função, o parametro “HostAliases” deve
conter a lista de nomes pelo qual é possível acessar seu site, por exemplo o endereço
nome com e sem WWW (se for o caso), IP, se for fixo, etc.. O meu ficou assim:

HostAliases="teste.com.br www.teste.com.br 127.0.0.1 localhost"

DNSLookup

Vamos deixar o parametro DNSLookup como 1.
Dessa forma, sempre será feito lookup dos ips, para identificar de qual país pertence, etc..
Lembrando que isso lentifica a geração das estatísticas, esse inclusive, é dos passos mais
lentos do processo 🙁

Então: DNSLookup=1

DirData

O parametro DirData informa o diretório onde o AWStats irá armazenar as informações já
processadas. Normalmente crio um diretório “data” dentro do awstats.
Então, no meu caso fica:

DirData="C:/arquivos de programas/AWStats/data"

DirCgi

Esse é o caminho relativo a sua raiz do Awstats, vamos colocar assim:
Vamos deixar como abaixo, depois explico melhor porque.

DirCgi="/awstats/cgi-bin"

DirIcons

Assim como o DirCgi, o DirIcons busca o caminho relativo do diretório icon que fica dentro
do diretório de instalação do AWStats.
Vamos deixar da seguinte forma:

DirIcons="/awstats/icon"

AllowFullYearView

Essa opção serve para permitir a visualiação e também que possamos selecionar o Ano que
está sendo exibido na página de estatísticas. Vamos deixar o valor desse parametro como 3,
para que possamos ver e alterar o Ano que queremos visualizar na página.

AllowFullYearView=3

DNSStaticCacheFile

Esse é o arquivo de cache de DNS. Com ajuda do conteúdo desse arquivo, a geração das estatísticas
é bem mais rápida, pois, exatamente como disse acima, a parte mais lenta é o lookup dos IPs.
Normalmente, eu mantenho um cache para cada site, da seguinte forma:

DNSStaticCacheFile="teste.com.br_dnscache.txt"

E o mesmo para a opção seguinte:

DNSLastUpdateCacheFile

DNSLastUpdateCacheFile="teste.com.br_dnscachelastupdate.txt"

Finish!!! Salve o arquivo e já temos o site configurado.

Pronto, você já tem quase tudo ok, vamos fazer o seguinte, testar 🙂

Testando

Abra um prompt de comando, para isso vá no menu Iniciar, Executar, digite cmd e ENTER.

Em seguida, acesse o diretório onde está o awstats.pl:

cd c:\arquivos de programas\awstats\wwwroot\cgi-bin

Depois, execute o seguinte comando:

awstats.pl -LogFile=C:/WINDOWS/system32/Logfiles/W3SVC1/ex070121.log -config=teste.com.br -update

Altere o caminho do LogFile acima para o log que voce deseja processar.
Se tudo estiver ok, você deverá ter uma resposta de que foi tudo ok 🙂
Agora, vamos ao último passo, fazer você acessar as estatísticas.

Abra o IIS, clique com o botão direito em seu site e vá na opção Novo > Diretório virtual.

Será aberto o Wizard, clique em Next e coloque no nome do site diretório “awstats”.
Clique em Next e informe o caminho para o dir wwwroot do awstats, no meu ficou
“c:\arquivos de programas\awstats\wwwroot”, NEXT.
Marque para que o diretório tenha permissão de executar Scripts, NEXT. FINISH.

Ok, agora, podemos acessar as estatísticas que geramos através do endereço:

http://teste.com.br/awstats/cgi-bin/awstats.pl?config=teste.com.br

Simples não?

Não?? bem, vc ainda pode criar um diretório virtual, por exemplo “stats” (óbvio não?)
e, depois de criado, entrar nas configurações e o invés de aponta-lo para um diretório,
aponte diretamente para o endereço

"http://teste.com.br/awstats/cgi-bin/awstats.pl?config=teste.com.br"

Pronto, quando você acessar agora teste.com.br/stats, será redirecionado automaticamente para

http://teste.com.br/awstats/cgi-bin/awstats.pl?config=teste.com.br.

Automatizando

Para fazer com que fique mais simples e pratico para o administrador a geração das estatísticas,
é necessário que essa seja feita de forma automatizada.
Para tando, fiz um pequeno script que pode ser agendado diretamente no Task Manager do Windows,
para ser executado quantas vezes sejam necessárias no dia, mes, etc..

Já que o AWStats foi escrito em Perl, fiz o script na mesma linguagem.

Primeiro, baixo o script gera_awstats.pl e grave em um
diretório de sua preferência.

Em seguida, baixo o arquivo banco_awstats.txt, que será o seu “banco de dados”,
contendo o nome do site e o diretório de logs do mesmo, a ser analizado.

Edite o arquivo banco_awstats.txt e altere a linha:

site.com.br::d:\logfiles\W3SVC1

Para o nome de seu site, separado por “::” (dois pontos, dois pontos) e o diretório de logs do site.

Finish !!!

Tente executar agora o gera_awstats.pl e veja se as estatísticas de seu site serão geradas corretamente.

Você pode usar o Agendador de Tarefas do Windows para que esse programa rode todos os dias
deixando você livre para resolver outras coisas 🙂

Bem, por hoje é só.

[]’s e até a próxima!

Comentários

Esta publicação atualmente tem 5respostas

  • Adriano, desculpe a demora. Liguei o Akismet pois tinha muito spam e não vi as suas mensagens.

    Bem, acho que você já resolveu, mas vamos lá!

    Descomente a linha 39 do gera_awstats.pl, para ver se o comando está indo certinho. A linha é :

    print “\”$AWSTATS -update -LogFile=$dir\\$logfile -config=$domain\”\n”;

    Se não estiver errado, reveja seu arquivo awstats.dominio.conf para ver se não tem erros nele.

    [] s

  • Consegui descobri era uma barra no final do caminho do diretorio do log. Eu executei o comando, mas não deu em nada e não gerou arquivos na pasta “data” do awstats, executando o comando manualmente igual no seu exemplo, funciona, mas no seu script não funcionou. O que pode ser ?

  • Tiago,

    Está dando a mensagem pra mim no seu arquivo da cron “Não foi possível abrir o diretorio”. Mas os caminhos estão tudo certo. O que eu faço ?

  • Fabio, olá!

    Se você agendou a execução do Script através do Agendador de Tarefas do Windows, veja se o status desse agendamento retorna 0x0 (ou somente 0).
    Se estiver diferente, pode ser somente a senha do usuário que foi usado para criar o agendamento.

    Se não for isso, vale a pena rodar o script no prompt de comandos para ver se ele está sendo executado corretamente. Esse seria meu primeiro teste.
    Dessa forma você verá se ocorreu algum erro na geração das estatísticas.
    Se você ver que está tudo ok, tente o seguinte:

    Abra o script gera_awstats.pl, e descomente a linha 40, deixando-a assim:

    print “\”$AWSTATS -update -LogFile=$dir\\$logfile -config=$domain\”\n”;

    Execute o script novamente e você terá na tela a linha que é executada no loop do programa.
    Tente executa-la sozinha através do prompt.

    Se tiver erros, me envie que posso lhe ajudar.

    [] s

    Tiago

  • Tiago,

    O que pode ser quando os logs são gerados mas as estatisticas deixaram de ser atualizadas?

    []´s

    Fabio

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Barra lateral