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