Project

General

Profile

AwstatConfig » History » Revision 6

Revision 5 (Amministratore Truelite, 01/07/2008 06:49 PM) → Revision 6/19 (Amministratore Truelite, 01/07/2008 07:29 PM)

[[TracNav(TOC)]] 
 == Configurare AWStats == 

 Uno dei programmi più interessanti per la gestione delle statistiche dei siti 
 web è [http://awstats.sourceforge.net/ AWStats], che su una Debian può essere 
 installato semplicemente con: 
 {{{ 
 apt-get install awstats 
 }}} 

 Una volta installato la configurazione deve essere effettuata con i file 
 presenti in {{{/etc/awstats}}}. Il pacchetto Debian installa già un suo 
 {{{awstats.conf}}} che viene utilizzato di default, ed è sufficiente qualora 
 si abbia un singolo sito da tenere sotto controllo.  

 Se però si hanno vari ''virtual host'' es si gestiscono più siti per ciascuna 
 macchine si deve usare un file di configurazione per ogni sito che si vuole 
 tenere sotto osservazione. Per gestire questa configurazione il pacchetto 
 Debian fornisce alcuni script di ausilio, ma questi richiedono che detti file 
 abbiano un nome nella forma ''awstats.www.dominio.it.conf'' (ad esempio 
 {{{awstats.www.fountainpen.it.conf}}}). 

 All'interno di ciascuno di questi file occorrerà specificare dove si trovano 
 le statistiche e per quale sito esse sono raccolte, per quanto riguarda le 
 statistiche occorre specificare in quale file sono mantenuti log di accesso ad 
 Apache per il sito voluto con la direttiva {{{LogFile}}}, con qualcosa del 
 tipo:  
 {{{  
 LogFile="/var/log/apache2/fountainpen.it-access.log"  
 }}} 
 dove il file dei log deve essere stato opportunamente generato in maniera 
 separata per il sito in questione, ad esempio inserendo la riga seguente 
 nella definizione del relativo virtual host di Apache: 
 {{{ 
 CustomLog /var/log/apache2/fountainpen.it-access.log combined 
 }}} 

 


 La seconda direttiva è da utilizzare è {{{SiteDomain}}} che indica il nome di 
 dominio per il sito in questione, che andrà impostata con qualcosa del tipo: 
 {{{ 
 SiteDomain="www.fountainpen.it" 
 }}} 

  


 Si tenga conto che il programma è pensato per aggiornare le statistiche in 
 maniera incrementale, esso cioè legge dal file di log solo le voci relativi ad 
 accessi più recenti rispetto agli ultimi che ha classificato. Questo significa 
 che il programma deve essere fatto eseguire periodicamente tramite ''cron'', 
 in modo da aggiornare le statistiche.  

 Il pacchetto Debian installa già uno script per AWStats in 
 {{{/etc/cron.d/awstats}}}, che lancia lo script in modalità di aggiornamento, 
 ma il default lo esegue solo per un singolo sito. Con Debian viene però 
 distribuito anche uno script che consente di effettuare la stessa operazione 
 per una serie di siti, posto che si siano create le rispettive configurazione 
 con la convenzione esposta in precedenza. Il file si trova sotto 
 {{{/usr/share/doc/awstats/examples/awstats-update}}}, ma conviene copiarselo 
 altrove (ad esempio sotto {{{/usr/local/bin}}}), dopo di che si dovrà 
 ritoccare il precedente script di cron per renderlo qualcosa del tipo: 
 {{{ 
 0,10,20,30,40,50 * * * * www-data /usr/local/bin/awstats-update 
 }}} 

 Si deve inoltre avere cura di far sì che i file di log siano leggibili dal 
 programma, che essendo uno script CGI gira con i privilegi del server web, 
 mentre in genere i log non sono leggibili da esso, per questo occorrerà 
 aggiustarne i permessi, ed assicurarsi che tali restno nella loro rotazione, 
 per questo sarà opportuno modificare in {{{/etc/logrotate.d/apache2}}} la riga 
 seguente: 
 {{{ 
 create 640 root www-data 
 }}} 

 Qualora si vogliano ottenere le statistiche per un sito che era già attivo 
 prima dell'installazione di AWStats le cose si complicano, dato che questo 
 gestisce gli aggiornamenti in maniera incrementale, per cui leggerà solo dal 
 log corrente e non da quelli che sono stati routati in precedenza.  

 Per risolvere questa situazione si può utilizzare un altro script fornito con 
 il pacchetto Debian, {{{/usr/share/doc/awstats/examples/logresolvemerge.pl}}} 
 (su Etch il file è codificato in DOS, occorre eseguire una conversione con il 
 comando {{{fromdos}}} del pacchetto {{{tofrodos}}} (o a mano con {{{tr}}}). In 
 questo caso ci si potrà generare un singolo file contenente tutti i dati 
 ordinati correttamente con qualcosa del tipo: 
 {{{ 
 cd /usr/share/doc/awstats/examples/ 
 ./logresolvemerge.pl /var/log/apache2/fountainpen.it-access.* > /root/access.log 
 }}} 

 A questo punto si potranno importare tutti i dati correttamente correggendo il 
 file di configurazione per utilizzare questo file, inserendovi temporaneamente 
 la direttiva: 
 {{{ 
 LogFile="/root/access.log"  
 }}} 
 ed eseguendo a mano il comando: 
 {{{ 
 /usr/lib/cgi-bin/awstats.pl -config=www.fountainpen.it -update  
 }}} 
 si ricordi di ripristinare il valore corretto della direttiva {{{LogFile}}} 
 una volta importati i dati.  

 Si tenga presente però che se per sbaglio è stato tentato un update prima di 
 questa operazione, AWStats avrà già registrato alcuni dati statistici, e 
 siccome lo script funziona sempre in modalità di aggiornamento, il precedente 
 comando non aggiungerà i dati risalenti ad accessi anteriori a quelli già 
 presenti nelle statistiche. Per risolvere questo inconveniente sarà necessario 
 rimuovere i file creati sotto {{{/var/lib/awstats}}} che contengono la storia 
 delle statistiche, e rigenerarli dal file completo creato con la procedura 
 appena illustrata. Questi sono con nomi nella forma 
 {{{awstatsMMYYYY.www.sito.it.txt}}}