Installare e configurare awstats su CentOS/RHEL

By | Novembre 19, 2016

Awstats (Advanced Web Statistics) è un degli migliori strumenti opensource per generare statistiche e grafici di siti Web, FTP, Mail e tanto altro. Le statistiche vengono prelevate direttamente dai log generati dal servizio (apache, postfix, squid ecc) in modo da avere statistiche precise e dettagliate. Awstas è configurabile in molti server Web come Apache Web Server, IIS, Nginx ecc. Vediamo in questa guida come installare e configurare Awstats su Apache in CentOS/RHEL.

Il primo passo da fare è certamente installare Apache WebServer, se non lo avete ancora fatto potete installarlo con il comando:

# yum install httpd

Completata l’installazione abilitiamo i repository EPEL attraverso QUESTA guida, in modo tale da poter installare awstats direttamente con YUM.

Installiamo awstats con il comando:

# yum install awstats

awstats creerà in automatico il file di configurazione per apache:

# cat /etc/httpd/conf.d/awstats.conf
Alias /awstatsclasses "/usr/share/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/share/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/share/awstats/wwwroot/icon/"
ScriptAlias /awstats/ "/usr/share/awstats/wwwroot/cgi-bin/"
<Directory "/usr/share/awstats/wwwroot">
 DirectoryIndex awstats.pl
 Options ExecCGI
 order deny,allow
 allow from all
</Directory>
<IfModule mod_env.c>
 SetEnv PERL5LIB /usr/share/awstats/lib:/usr/share/awstats/plugins
</IfModule>

Creiamo il file di configurazione per il nostro sito Web basandoci sul file example:

# cp /etc/awstats/awstats.host.example.com.conf /etc/awstats/awstats.miosito.com.conf

Sostituendo miosito.com con il nome del vostro sito web. Modifichiamo il file appena copiato con il nostro editor preferito:

# vim /etc/awstats/awstats.miosito.com.conf

sostituiamo le direttive in questo modo:

LogFile="/var/log/httpd/miosito-access_log"
SiteDomain="miosito.com"
HostAliases="miosito2.com www.miosito.com"
  • LogFile: il path dove risiede il log di apache da analizzare
  • SiteDomain: il nome del vostro sito
  • HostAliases: il vostro dominio e alias tipo “www.miosito.com”

A questo punto salviamo il file di configurazione e riavviamo/avviamo apache:

# /etc/init.d/httpd restart

Ricordiamoci che i log di apache devono essere in “combined“. Di seguito un esempio di virtualhost di apache:

<VirtualHost *:80>
  ServerAdmin admin@miosito.com
  DocumentRoot "/srv/http/miosito.com/"
  ServerName miosito.com
  ServerAlias www.miosito.com
  ErrorLog "/var/log/httpd/error_log"
  CustomLog "/var/log/httpd/miosito.com-access_log" combined
</VirtualHost>

Scheduliamo la generazione delle statistiche in crontab ogni 5 minuti, in modo tale da avere statistiche sempre aggiornate. Per fare qesto editiamo il crontab con il comando:

# crontab -e

e aggiungiamo la riga:

*/5 * * * * /usr/bin/perl /usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=miosito.com -update

Sostituendo miosito.com con il nome del file di awstats awstats.miosito.com.conf.

Per generare la prima volta le statistiche basta lanciare manualmente il comando messo in crontab:

# perl /usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=miosito.com -update

noteremo un output simile a questo:

Create/Update database for config "/etc/awstats/awstats.miosito.com.conf" by AWStats version 7.2 (build 1.992)
From data in log file "/opt/log/miosito.com-access_log"...
Phase 1 : First bypass old records, searching new record...
Direct access after last parsed record (after line 126440)
Jumped lines in file: 1246440
 Found 1246440 already parsed records.
Parsed lines in file: 510
 Found 0 dropped records,
 Found 0 comments,
 Found 0 blank records,
 Found 0 corrupted records,
 Found 0 old records,
 Found 5134 new qualified records.

Apriamo il Browser all’indirizzo:

http://miosito.com/awstats/awstats.pl?config=miosito.com

SaveSave

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.