AwstatConfig » Cronologia » Versione 18
Simone Piccardi, 22-12-2010 13:41
1 | 1 | Amministratore Truelite | h2. Configurare AWStats |
---|---|---|---|
2 | 14 | Amministratore Truelite | |
3 | 15 | Simone Piccardi | Uno dei programmi più interessanti per la gestione delle statistiche dei siti web è "AWStats":http://awstats.sourceforge.net/, che su una _Debian_ può essere installato semplicemente con: |
4 | 14 | Amministratore Truelite | |
5 | 1 | Amministratore Truelite | <pre> |
6 | apt-get install awstats |
||
7 | 14 | Amministratore Truelite | </pre> |
8 | 15 | Simone Piccardi | |
9 | 14 | Amministratore Truelite | oltre a questo comunque, per poter utilizzare i plugin più interessanti, occorrerà anche installare i seguenti pacchetti: |
10 | 15 | Simone Piccardi | |
11 | 1 | Amministratore Truelite | <pre> |
12 | 14 | Amministratore Truelite | apt-get install libgeo-ipfree-perl liburi-perl libnet-xwhois-perl |
13 | 1 | Amministratore Truelite | </pre> |
14 | |||
15 | 15 | Simone Piccardi | Con la configurazione di default si potranno raggiungere le statistiche all'indirizzo web @http://www.sito.it/cgi-bin/awstats.pl@, si tenga presente però che per una visualizzazione corretta delle varie icone ed immagini usate dal programma (che sono sotto @/usr/share/awstats/icon/@) occorre definire un opportuno alias nella configurazione di Apache, inserendo una riga come la seguente nella configurazione dei virtual host dei siti che lo utilizzano: |
16 | |||
17 | 1 | Amministratore Truelite | <pre> |
18 | 7 | Amministratore Truelite | Alias /awstats-icon/ /usr/share/awstats/icon/ |
19 | 1 | Amministratore Truelite | </pre> |
20 | 14 | Amministratore Truelite | |
21 | 15 | Simone Piccardi | 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. |
22 | 1 | Amministratore Truelite | |
23 | 17 | Simone Piccardi | 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.sito.it.conf@ (ad esempio per il sito http://www.fountainpen.it si dovrà creare il file @awstats.www.fountainpen.it.conf@). |
24 | 1 | Amministratore Truelite | |
25 | 15 | Simone Piccardi | 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 Apache per il sito voluto con la direttiva @LogFile@, con qualcosa del tipo: |
26 | |||
27 | 14 | Amministratore Truelite | <pre> |
28 | 15 | Simone Piccardi | LogFile="/var/log/apache2/fountainpen.it-access.log" |
29 | 2 | Amministratore Truelite | </pre> |
30 | 15 | Simone Piccardi | |
31 | 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: |
||
32 | |||
33 | 14 | Amministratore Truelite | <pre> |
34 | 15 | Simone Piccardi | CustomLog /var/log/apache2/fountainpen.it-access.log combined |
35 | 1 | Amministratore Truelite | </pre> |
36 | 14 | Amministratore Truelite | |
37 | 15 | Simone Piccardi | La seconda direttiva è da utilizzare è @SiteDomain@ che indica il nome di dominio per il sito in questione, che andrà impostata con qualcosa del tipo: |
38 | |||
39 | 14 | Amministratore Truelite | <pre> |
40 | 15 | Simone Piccardi | SiteDomain="www.fountainpen.it" |
41 | 1 | Amministratore Truelite | </pre> |
42 | 14 | Amministratore Truelite | |
43 | 15 | Simone Piccardi | 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. |
44 | 6 | Amministratore Truelite | |
45 | 15 | Simone Piccardi | 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: |
46 | |||
47 | 6 | Amministratore Truelite | <pre> |
48 | 0,10,20,30,40,50 * * * * www-data /usr/local/bin/awstats-update |
||
49 | 14 | Amministratore Truelite | </pre> |
50 | 6 | Amministratore Truelite | |
51 | 18 | Simone Piccardi | 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 restino nella loro rotazione, per questo sarà opportuno modificare in @/etc/logrotate.d/apache2@ la riga seguente: |
52 | 15 | Simone Piccardi | |
53 | 6 | Amministratore Truelite | <pre> |
54 | 14 | Amministratore Truelite | create 640 root www-data |
55 | 6 | Amministratore Truelite | </pre> |
56 | |||
57 | 15 | Simone Piccardi | 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 ruotati in precedenza. |
58 | 6 | Amministratore Truelite | |
59 | 15 | Simone Piccardi | 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: |
60 | |||
61 | 6 | Amministratore Truelite | <pre> |
62 | 14 | Amministratore Truelite | cd /usr/share/doc/awstats/examples/ |
63 | ./logresolvemerge.pl /var/log/apache2/fountainpen.it-access.* > /root/access.log |
||
64 | </pre> |
||
65 | 6 | Amministratore Truelite | |
66 | 15 | Simone Piccardi | A questo punto si potranno importare tutti i dati correttamente correggendo il file di configurazione per utilizzare questo file, inserendovi temporaneamente la direttiva: |
67 | |||
68 | 14 | Amministratore Truelite | <pre> |
69 | 15 | Simone Piccardi | LogFile="/root/access.log" |
70 | 6 | Amministratore Truelite | </pre> |
71 | 15 | Simone Piccardi | |
72 | 6 | Amministratore Truelite | ed eseguendo a mano il comando: |
73 | 15 | Simone Piccardi | |
74 | 6 | Amministratore Truelite | <pre> |
75 | /usr/lib/cgi-bin/awstats.pl -config=www.fountainpen.it -update |
||
76 | </pre> |
||
77 | 14 | Amministratore Truelite | |
78 | 15 | Simone Piccardi | si ricordi di ripristinare il valore corretto della direttiva @LogFile@ una volta importati i dati. |
79 | |||
80 | 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 file sono con nomi nella forma @awstatsMMYYYY.www.sito.it.txt@ nella directory indicata. |