Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Webalizer: miniguida all'uso e all'installazione

Come installare, configurare e usare Webalizer, il software di analisi di log per Apache
Come installare, configurare e usare Webalizer, il software di analisi di log per Apache
Link copiato negli appunti

Nei precedenti articoli sulla registrazione degli accessi di Apache e sulla gestione degli errori di Apache, abbiamo analizzato la struttura dei file di log che Apache produce nel suo infaticabile lavoro e abbiamo imparato a leggere le informazioni codificate in ciascuna riga. Benissimo, ma alla domanda: "quanti visitatori unici abbiamo avuto questo mese?" avremmo forse qualche difficoltà a rispondere.

Niente paura, esistono svariati programmi che ci permettono in un attimo (o quasi) di reperire questa ed altre utili informazioni. Sto parlando di quei software che, a partire dal file di registrazione degli accessi, generano dei report di semplice lettura in forma tabellare e grafica.

In quest'articolo prenderemo in considerazione The Webalizer la cui versione stabile corrente è 2.01-10. Il programma genera statistiche d'utilizzo in formato HTML consultabili mediante un qualsiasi browser. Fornisce dati annuali, mensili, giornalieri ed orari, dati d'accesso per sito, per URL, per referrer, user agent e paese, ovviamente se tali informazioni sono state registrate nei file di log. Per i dettagli sulle informazioni registrabili rimando al già citato articolo

Il programma non è aggiornatissimo, malgrado ciò presenta alcune caratteristiche interessanti:

  • è scritto in C per essere maggiormente veloce e portabile;
  • è distribuito sia in formato sorgente che binario per varie piattaforme (Linux, Windows, Mac OS X);
  • supporta svariate lingue tra cui l'italiano;
  • analizza log in Common Log Format e Combined Log Format (non solo);
  • può essere personalizzato mediante l'utilizzo di un semplice file di configurazione;
  • è possibile utilizzare più file di configurazione uno per ciascun sito;
  • può essere utilizzato anche in presenza di un sistema di rotazione dei log;
  • è gratuito e distribuito con licenza GNU General Public License.

L'elenco non è completo, ma se tutto questo basta ad attirare la vostra attenzione, proseguite nella lettura.

Considerazioni preliminari

Webalizer richiede come prerequisito che le librerie grafiche GD siano presenti e funzionanti sul nostro sistema. Verificatelo e se non le avete sarà necessario scaricarle e installarle. 

Procederemo installando Webalizer a partire dai sorgenti per poter personalizzare alcune opzioni e soprattutto, per migliorare la generazione di statistiche geografiche rispetto al metodo standard, useremo una patch, Geolizer, di Stanislaw Pusep.  Tale patch si basa sulla libreria GeoIP di MaxMind che, oltre alla distribuzione commerciale, mette a disposizione una versione liberamente e gratuitamente utilizzabile chiamata GeoLite. Per maggiori informazioni vi rimando alla relativa documentazione ufficiale. Noi utilizzeremo le GeoIP C API che sono open source e includono il GeoLite Country database.

In breve dobbiamo scaricare i tre sorgenti:

Le indicazioni di seguito riportate si riferiscono ad un'installazione su Fedora Core 4 anche se possono essere facilmente adattate ad altre distribuzioni. La shell usata sarà bash. Consiglio comunque ai meno frettolosi un'attenta lettura della documentazione di ciascuno dei tre software prima di passare alla fase operativa onde evitare possibili "intoppi" già noti.

Cominciamo scompattando i file appena prelevati nella directory /usr/src, in modo da ottenere le tre directory GeoIP-1.3.15, geolizer_2.01-10-patch e webalizer-2.01-10.

Installazione

GeoIP

Dopo esserci loggati come root spostiamoci nella directory relativa a GeoIP e al prompt digitiamo:

# ./configure
# make
# make install

Naturalmente ciascuno step dell'operazione fornirà numerosi messaggi che dobbiamo verificare per essere sicuri che non ci siano problemi. Se non specifichiamo opzioni, l'installazione avverrà di default nelle directory /usr/local/bin/usr/local/man e così via.

Geolizer

Passiamo ora ad applicare la patch:

# cd /usr/src
# patch -p0 < geolizer_2.01-10-patch/geolizer.patch

Se tutto è andato come si deve possiamo procedere con il passo successivo.

Webalizer

Occupiamoci d'installare il pacchetto principale con le necessarie opzioni per utilizzare GeoIP e per impostare la lingua italiana:

# cd /usr/src/webalizer-2.01-10/
# ./configure --enable-geoip --with-language=italian
# make
# make install

Di default il programma verrà installato in /usr/local/bin ed un file di configurazione di esempio, webalizer.conf.sample, sarà creato in /etc.

Personalmente mi si è presentato un unico inconveniente (a parte la mancanza del componente gd-devel che ho dovuto installare): alla prima esecuzione ho ricevuto il messaggio d'errore di seguito riportato.

webalizer: error while loading shared libraries: libGeoIP.so.1: cannot open shared object file: No such file or directory

È risultato solo un problema di path, peraltro descritto nella documentazione di Geolizer. In pratica mancava /usr/local/lib in /etc/ld.so.conf. È bastato aggiungere al file una riga con il percorso ed eseguire ldconfig -v controllando nell'output "verboso" che fosse presente libGeoIP.so.1.

Come usare Webalizer

La sintassi basilare è la seguente:

# webalizer [opzioni] [log_file]

Per l'elenco delle opzioni disponibili possiamo ricorrere ai comandi webalizer -hman webalizer. Un esempio potrebbe essere il seguente:

# webalizer /var/log/httpd/access_log

L'effetto sarà la creazione nella directory corrente di pagine HTML riportanti le statistiche (in forma grafica e tabellare) ottenute dall'analisi del log file indicato. Tali dati saranno consultabili a partire da una pagina index.html che riporta i valori riepilogativi mensili ed i link ai relativi approfondimenti rappresentati da pagine del tipo usage_yyyymm.html.

In alternativa possiamo predisporre un file testuale di configurazione indicando al programma la sua posizione perchè possa leggerlo:

# webalizer -c miofile.conf

Il file di configurazione dovrà specificare, tra le altre cose, la posizione del file di registrazione degli accessi e la directory in cui verranno create le pagine con le statistiche. Per acquisire familiarità con questa modalità operativa basterà consultare il file webalizer.conf.sample abbondantemente commentato.

La configurazione

Analizziamo ora le principali opzioni di configurazione, ribadendo, a rischio di risultare noiosi, come il file webalizer.conf.sample riporti per ciascuna di esse parecchie linee di spiegazione semplificando la vita a chi abbia la pazienza di scorrerlo con attenzione. Ciascuna direttiva, se preceduta dal simbolo #, risulta commentata si noti però come la maggior parte delle opzioni abbia un valore di default che verrà comunque applicato.

LogFile        /percorso_del_file_di_log/access_log
OutputDir      /percorso_del_www/stats
ReportTitle    Statistiche del dominio
HostName       www.miosito.it

La prima opzione specifica dove trovare l'access_log, la seconda la directory in cui generare le pagine. È prassi comune creare una directory "stats" o simile all'interno della Document Root del nostro sito, magari proteggendola da occhi indiscreti mediante un .htaccess

ReportTitle e HostName sono d'immediata comprensione si noti come il titolo delle pagine risulterà "Statistiche del dominio www.miosito.it".

HistoryName     /var/lib/webalizer/miosito.hist

Il file miosito.hist, sopra specificato, conterrà i dati totali dei mesi precedenti utilizzati dalla pagina principale, index.html, per costruire il sommario. Il valore di default è webalizer.hist che verrebbe creato nella directory definita mediante la direttiva OutputDir.

Incremental     yes
IncrementalName /var/lib/webalizer/miosito.current

La prima direttiva abilita la funzione incrementale che ci permette di ruotare i log senza che webalizer perda informazioni. Ciò si ottiene salvando in un file lo stato delle elaborazioni tra un'analisi e la successiva e poi recuperandolo in modo che il programma riparta da dov'era arrivato. La seconda direttiva ci permette di specificare il nome del file usato per il salvataggio dei dati incrementali.

GeoIP   yes
GeoIPDatabase   /usr/local/share/GeoIP/GeoIP.dat

Le ultime due direttive che prendiamo in considerazione permettono di abilitare GeoIP e specificare la posizione del database geografico. Accenno solo alla possibilità tramite il file di configurazione d'influire anche sul layout HTML delle pagine prodotte.

Webalizer in pratica

Nell'amministrare un server web ci si trova solitamente a gestire più domini, per ciascuno dei quali si dovranno produrre statistiche degli accessi. Partendo dal presupposto che Apache sia stato configurato per generare log separati per ciascun host virtuale, creiamo una directory /etc/webalizer. All'interno di tale directory inseriamo i file di configurazione sito1.conf, sito2.conf, e così via uno per ciascun dominio debitamente personalizzati. Creiamo la directory /var/lib/webalizer in cui andranno i file .hist e .current, se attiviamo la modalità incrementale.

A questo punto per automatizzare la generazione delle statistiche possiamo creare un piccolo script bash del tipo:

#! /bin/bash
for i in /etc/webalizer/*.conf; do /usr/local/bin/webalizer -c $i; done
exit 0

Esso, mediante un ciclo, passa in rassegna tutti i file con estensione conf contenuti nella directory /usr/local/bin/webalizer. Inserendo poi lo script testè realizzato in /etc/cron.daily, imposteremo con scadenza giornaliera la sua esecuzione. 

Una piccola nota: se decidete di utilizzare il metodo incrementale, fate attenzione a non modificare le opzioni di configurazione tra un'esecuzione e la successiva. Questo potrebbe determinare l'inconsistenza dei dati salvati. Se necessario è meglio agire nel passaggio da un mese all'altro, dopo l'elaborazione del mese corrente e prima dell'elaborazione del mese successivo.

Conclusioni

Dalla lettura di queste pagine dovreste aver colto le informazioni principali necessarie all'installazione ed alla configurazione di Webalizer. Eventuali approfondimenti potrete trovarli nella documentazione che accompagna i software analizzati. Ribadisco come il programma risulti un po' datato, ma presenti altri vantaggi in termini di semplicità e personalizzazione. Inoltre essendo open source ed avendo voglia e tempo è sempre possibile modificarlo a proprio piacimento. Il passo successivo sarà interpretare i risultati prodotti, ovvero cosa si intenda per contatti, visite, file e via dicendo, e valutarne il grado di attendibilità. 

Ti consigliamo anche