Progetto

Generale

Profilo

AwstatConfig » Cronologia » Versione 6

Amministratore Truelite, 07-01-2008 19:29

1 3 Amministratore Truelite
[[TracNav(TOC)]]
2 5 Amministratore Truelite
== Configurare AWStats ==
3 3 Amministratore Truelite
4 1 Amministratore Truelite
Uno dei programmi più interessanti per la gestione delle statistiche dei siti
5
web è [http://awstats.sourceforge.net/ AWStats], che su una Debian può essere
6
installato semplicemente con:
7
{{{
8
apt-get install awstats
9
}}}
10 2 Amministratore Truelite
11
Una volta installato la configurazione deve essere effettuata con i file
12
presenti in {{{/etc/awstats}}}. Il pacchetto Debian installa già un suo
13
{{{awstats.conf}}} che viene utilizzato di default, ed è sufficiente qualora
14
si abbia un singolo sito da tenere sotto controllo. 
15
16
Se però si hanno vari ''virtual host'' es si gestiscono più siti per ciascuna
17
macchine si deve usare un file di configurazione per ogni sito che si vuole
18
tenere sotto osservazione. Per gestire questa configurazione il pacchetto
19
Debian fornisce alcuni script di ausilio, ma questi richiedono che detti file
20
abbiano un nome nella forma ''awstats.www.dominio.it.conf'' (ad esempio
21
{{{awstats.www.fountainpen.it.conf}}}).
22
23
All'interno di ciascuno di questi file occorrerà specificare dove si trovano
24
le statistiche e per quale sito esse sono raccolte, per quanto riguarda le
25
statistiche occorre specificare in quale file sono mantenuti log di accesso ad
26
Apache per il sito voluto con la direttiva {{{LogFile}}}, con qualcosa del
27
tipo: 
28
{{{ 
29
LogFile="/var/log/apache2/fountainpen.it-access.log" 
30
}}}
31
dove il file dei log deve essere stato opportunamente generato in maniera
32
separata per il sito in questione, ad esempio inserendo la riga seguente
33
nella definizione del relativo virtual host di Apache:
34
{{{
35
CustomLog /var/log/apache2/fountainpen.it-access.log combined
36
}}}
37
38 1 Amministratore Truelite
La seconda direttiva è da utilizzare è {{{SiteDomain}}} che indica il nome di
39 6 Amministratore Truelite
dominio per il sito in questione, che andrà impostata con qualcosa del tipo:
40
{{{
41
SiteDomain="www.fountainpen.it"
42
}}}
43 2 Amministratore Truelite
44
Si tenga conto che il programma è pensato per aggiornare le statistiche in
45
maniera incrementale, esso cioè legge dal file di log solo le voci relativi ad
46 1 Amministratore Truelite
accessi più recenti rispetto agli ultimi che ha classificato. Questo significa
47
che il programma deve essere fatto eseguire periodicamente tramite ''cron'',
48
in modo da aggiornare le statistiche. 
49 6 Amministratore Truelite
50
Il pacchetto Debian installa già uno script per AWStats in
51
{{{/etc/cron.d/awstats}}}, che lancia lo script in modalità di aggiornamento,
52
ma il default lo esegue solo per un singolo sito. Con Debian viene però
53
distribuito anche uno script che consente di effettuare la stessa operazione
54
per una serie di siti, posto che si siano create le rispettive configurazione
55
con la convenzione esposta in precedenza. Il file si trova sotto
56
{{{/usr/share/doc/awstats/examples/awstats-update}}}, ma conviene copiarselo
57
altrove (ad esempio sotto {{{/usr/local/bin}}}), dopo di che si dovrà
58
ritoccare il precedente script di cron per renderlo qualcosa del tipo:
59
{{{
60
0,10,20,30,40,50 * * * * www-data /usr/local/bin/awstats-update
61
}}}
62
63
Si deve inoltre avere cura di far sì che i file di log siano leggibili dal
64
programma, che essendo uno script CGI gira con i privilegi del server web,
65
mentre in genere i log non sono leggibili da esso, per questo occorrerà
66
aggiustarne i permessi, ed assicurarsi che tali restno nella loro rotazione,
67
per questo sarà opportuno modificare in {{{/etc/logrotate.d/apache2}}} la riga
68
seguente:
69
{{{
70
create 640 root www-data
71
}}}
72
73
Qualora si vogliano ottenere le statistiche per un sito che era già attivo
74
prima dell'installazione di AWStats le cose si complicano, dato che questo
75
gestisce gli aggiornamenti in maniera incrementale, per cui leggerà solo dal
76
log corrente e non da quelli che sono stati routati in precedenza. 
77
78
Per risolvere questa situazione si può utilizzare un altro script fornito con
79
il pacchetto Debian, {{{/usr/share/doc/awstats/examples/logresolvemerge.pl}}}
80
(su Etch il file è codificato in DOS, occorre eseguire una conversione con il
81
comando {{{fromdos}}} del pacchetto {{{tofrodos}}} (o a mano con {{{tr}}}). In
82
questo caso ci si potrà generare un singolo file contenente tutti i dati
83
ordinati correttamente con qualcosa del tipo:
84
{{{
85
cd /usr/share/doc/awstats/examples/
86
./logresolvemerge.pl /var/log/apache2/fountainpen.it-access.* > /root/access.log
87
}}}
88
89
A questo punto si potranno importare tutti i dati correttamente correggendo il
90
file di configurazione per utilizzare questo file, inserendovi temporaneamente
91
la direttiva:
92
{{{
93
LogFile="/root/access.log" 
94
}}}
95
ed eseguendo a mano il comando:
96
{{{
97
/usr/lib/cgi-bin/awstats.pl -config=www.fountainpen.it -update 
98
}}}
99
si ricordi di ripristinare il valore corretto della direttiva {{{LogFile}}}
100
una volta importati i dati. 
101
102
Si tenga presente però che se per sbaglio è stato tentato un update prima di
103
questa operazione, AWStats avrà già registrato alcuni dati statistici, e
104
siccome lo script funziona sempre in modalità di aggiornamento, il precedente
105
comando non aggiungerà i dati risalenti ad accessi anteriori a quelli già
106
presenti nelle statistiche. Per risolvere questo inconveniente sarà necessario
107
rimuovere i file creati sotto {{{/var/lib/awstats}}} che contengono la storia
108
delle statistiche, e rigenerarli dal file completo creato con la procedura
109
appena illustrata. Questi sono con nomi nella forma
110
{{{awstatsMMYYYY.www.sito.it.txt}}}