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