Progetto

Generale

Profilo

AwstatConfig » Cronologia » Versione 13

Amministratore Truelite, 30-07-2010 02:06

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