Instalando e configurando o AWSTATS no Linux (ótimo relatório para web site)

postado por nightnux – uma dica de Pablo Santos

AWStats é uma ótima ferramenta para gerar estatísticas avançadas sobre o acesso à servidores FTP, HTTP e Servidores de e-mail. Com essa ferramenta é possível analisar os logs de vários Servidores, como Apache (NCSA combined/XLF/ELF ou common/CLF), WebStar, IIS (W3C) e muitos outros.

Para maiores detalhes sobre essa ferramenta, acesse o http://awstats.sf.netA instalação a seguir foi feita em um Servidor com Red Hat 6.2. Todos so comandos foram executados com o usuário root. Em primeiro lugar vamos fazer o download do pacote do awstats.

Como sempre, eu gosto de trabalhar no diretório /tmp (você não é obrigado a utilizar esse diretório, pode utilizar o diretório onde o awstats será instalado), portanto vamos baixar o pacote e descompactá-lo com os comandos a seguir:

# cd /tmp
# wget http://ovh.dl.sourceforge.net/sourceforge/awstats/awstats­7.0.tar.gz
# tar xzvf awstats-7.0.tar.gz
# cd awstats­-7.0

Agora vamos criar o diretório, onde o awstats será instalado e em seguida vamos copiar os arquivos descompactados para o diretório

# mkdir /usr/local/awstats
# cp -r * /usr/local/awstats/

Após a cópia dos arquivos, vamos executar o script de configuração localizado dentro do diretório tools

# cd /usr/local/awstats/tools
# perl awstats_configure.pl

O script de configuração irá fazer várias perguntas, são bem simples de serem respondidas (ou configuradas). Vejamos:

1 – Enter full config file path of your Web server.
Informe o arquivo de configuração do Apache, nesse caso como o sistema operacional é um Red Hat 6.2.

# cd /usr/local/awstats/tools
# perl awstats_configure.pl

2 – “Do you want me to setup Apache to write ‘combined’ log files”
Dependendo da configuração do Apache, os logs podem ser armazenados em vários arquivos, por exemplo: log de erro vai para o arquivo de erro error.log, o log de acesso vai para access.log, etc., “Fique atento, pois algumas opções podem não ser geradas no relatório.”

3 – Do you want me to build a new AWStats config/profile file (required if first install) [y/N] ?
Caso queira criar um arquivo de configuração escolha Y, caso contrário N — escolha “Y”

4 – Your web site, virtual server or profile name:
Escolha um nome para os logs “em um mesmo servidor eu posso ter vários sites hospedados, nesse passo informaremos apenas um. Este servirá de base para os outros sites.”

domain.com.br

5 – Directory path to store config file(s) (Enter for default):
Informe onde os arquivos de configuração deverão ser salvos

/etc/awstats

Feito isso a configuração já está quase pronta! Agora, vamos criar o diretório, onde o awstats irá armazenar uma espécie de Banco de Dados. Para isso utilizamos o comando abaixo.

# mkdir -­p /var/lib/awstats

Nesse exemplo, o relatório deverá ser gerado para páginas acessadas em um Servidor Web Apache. Para isso devemos alterar no mínimo 3 parâmetros dentro do arquivo de configuração para o domínio. Vamos editar e alterar os parâmetros.

# vim /etc/awstats/awstats.dominio.com.br

1. LogFile -> devemos especifcar o arquivo de log gerado pelo apache. Por exemplo: /var/log/apache/access_log
2. LogFormat -> o valor deve ser alterado para 4 (para maiores detalhes, veja a documentação do sistema).
3. SiteDomain -> faça uma “breve” descrição do relatório. Ex: dominio.com.br

Ufa! Agora podemos gerar o relatório. Para isso, vamos executar o comando:

# perl /usr/local/awstats/wwwroot/cgi­bin/awstats.pl ­update ­config=dominio.com.br

Agora basta acessar o relatório através do endereço abaixo.

http://localhost/awstats/awstats.pl?config=domain.com.br

Caso você necessite criar relatórios de outros sites (domínios) basta copiar o arquivo de configuração e alterar os parâmetros LogFile e SiteDomain

# cp /etc/awstats/awstats.dominio.com.br /etc/awstats/awstats.dominio2.com.br

Além disso é necessário alterar o endereço

http://localhost/awstats/awstats.pl?config=domain.com.br

para

http://localhost/awstats/awstats.pl?config=domain2.com.br

That’s all!

Instalando um certificado SSL

Você pode adquirir um Certificado SSL de uma certificadora como Verisign ou Thawte. Essas empresas oferecem excelentes documentações e instruções sobre como instalar o certificado em seu website.

Abaixo eu incluí um screenshot do processo de instalação do certificado no arquivo keystore.

Jbssl2.png

Atenção! Podemos ter uma importação pura e simples de um certificado, onde somente a chave pública é enviada ao servidor; no exemplo abaixo, procedimento para a importação de um certificado emitido pelo SERASA:

$ keytool -import -alias serasa -file serasa.cer

Será requisitado que você entre com uma password… essa password será a chave privada da keystore; ele só servirá para abrir o certificado do SERASA (serasa.jks), onde contém a chave publica.

Enter keystore password:
Re-enter new password:

Após a password, ele mostrará qual chain root foi importada…

Owner: CN=Autoridade Certificadora Raiz Brasileira, ST=DF, L=Brasilia, OU=Instituto Nacional de Tecnologia da Informacao - ITI, O=ICP-Brasil, C=BR
Issuer: CN=Autoridade Certificadora Raiz Brasileira, ST=DF, L=Brasilia, OU=Instituto Nacional de Tecnologia da Informacao - ITI, O=ICP-Brasil, C=BR Serial number: 4 Valid from: Fri Nov 30 10:58:00 BRST 2001 until: Wed Nov 30 21:59:00 BRST 2011 Certificate fingerprints:
         MD5:  96:89:7D:61:D1:55:2B:27:E2:5A:39:B4:2A:6C:44:6F
         SHA1: 8E:FD:CA:BC:93:E6:1E:92:5D:4D:1D:ED:18:1A:43:20:A4:67:A1:39
         Signature algorithm name: SHA1withRSA
         Version: 3
Extensions: #1: ObjectId: 2.5.29.15 Criticality=true KeyUsage [
 Key_CertSign
 Crl_Sign
#2: ObjectId: 2.5.29.19 Criticality=true BasicConstraints:[
 CA:true
 PathLen:2147483647
#3: ObjectId: 2.5.29.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: 8A FA F1 57 84 11 13 35 90 42 FA 57 49 54 69 0D ...W...5.B.WITi. 0010: A4 C4 F0 37 ...7 #4: ObjectId: 2.5.29.31 Criticality=false CRLDistributionPoints [
 [DistributionPoint:
    [URIName: http://acraiz.icpbrasil.gov.br/LCRacraiz.crl]
#5: ObjectId: 2.5.29.32 Criticality=false CertificatePolicies [
 [CertificatePolicyId: [2.16.76.1.1.0]
[PolicyQualifierInfo: [
 qualifierID: 1.3.6.1.5.5.7.2.1
 qualifier: 0000: 16 2C 68 74 74 70 3A 2F   2F 61 63 72 61 69 7A 2E  .,http://acraiz.
0010: 69 63 70 62 72 61 73 69 6C 2E 67 6F 76 2E 62 72 icpbrasil.gov.br 0020: 2F 44 50 43 61 63 72 61 69 7A 2E 70 64 66 /DPCacraiz.pdf ]] ]   Trust this certificate? [no]: yes
Certificate was added to keystore

Para listar a chave importada…

keytool -list

Será requisitada a password e posterior listagem… neste ponto, a keystore se encontra em $HOME/.keystore

Enter keystore password:
Keystore type: JKS Keystore provider: SUN Your keystore contains 1 entry serasa, 18/02/2008, trustedCertEntry,
Certificate fingerprint (MD5): 96:89:7D:61:D1:55:2B:27:E2:5A:39:B4:2A:6C:44:6F

Melhor renomear a .keystore para um nome que se entenda… como:

mv ../../.keystore serasa.jks

Usaremos entao como keystore serasa.jks

Dica: No Windows a keystore fica armazena no userdir, e.g., C:\Documents and Settings\ccsilva.

Mais tem um detalhe…

Obviamente você já deve ter percebido que precisará da senha da keystore, criptografada, para depois abrir o certificado e retirar a assinatura; ela não pode aparecer em plain-text e sim num properties, como abaixo:

user.jks=gHUrtR3FCQbigUmFOY/eXKxOtcajYEhp+g==RO6SyDLaAQ==

Então, para criptografar uma senha, você vai precisar de um pequeno aplicativo, disponível aqui; veja abaixo screenshot CriptografaSenha.png

  • Execute:
$ java -jar criptografia.jar

Have fun!