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}}} |