Utilizzare Webalizer per avere le statistiche di Apache
Introduzione
Webalizer è un programma di analisi dei log dei server web.
Webalizer è stato progettato per analizzare file di log di server web in vari formati e per produrre statistiche d'uso in formato HTML da vedersi con un browser. Webalizer produce statistiche annuali, mensili, giornaliere e orarie. Nei rapporti mensili possono essere prodotte diverse statistiche per mostrare l'uso totale, l'uso giornaliero e orario, l'uso in base ai siti visitati, URL, user agent (navigatore), referrer e nazione. Webalizer è altamente configurabile grazie all'uso di opzioni a riga di comando oppure di un file di configurazione, permettendo al programma di essere adattato facilmente alle singole esigenze.
Prerequisiti
L'unico prerequisito per il funzionamento di Webalizer è - ovviamente - quello di avere installato sul nostro server un server web: Installare un ambiente LAMP: Linux, Apache2, SSL, MySQL, PHP5
Installazione
Per installare Webalizer bastano pochi attimi:
# apt-get update # apt-get upgrade --show-upgraded # apt-get install webalizer
Disabilitare i siti di Apache non utilizzati (opzionale)
Per impostazione predefinità Webalizer creerà un file di configurazione per il sito di default di Apache2.
Se sul vostro server state utilizzando i Virtual Host di Apache2 e non vi interessa utilizzare il sito di default lo potete disabilitare:
# a2dissite default # a2dissite default-ssl # /etc/init.d/apache2 reload
Configurazione di Webalizer per i Virtual Host
Questa sezione dà per scontato che sul server ci sia installato almeno un Virtual Host. Per configurare i virtual host di Apache2 potete seguire ad esempio questa guida: Apache e Virtual Hosts: configurare Apache2 per ospitare più siti web
Webalizer può generare statistiche distinte per ogni virtual host configurato, utilizzando la command line del server con gli argomenti appropriati:
# webalizer -n hostname -o /path/to/webalizer/output /path/to/logfile.log
Per processare diversi virtual host possiamo crearci uno script:
# nano /opt/webalizerScript.sh
con contenuto simile al seguente:
#!/bin/sh webalizer -n tunahoagie -o /var/www/tunahoagie.com/www/webalizer /var/www/tunahoagie.com/logs/access.log >/dev/null 2>&1 webalizer -n tofuhoagie -o /var/www/tofuhoagie.com/www/webalizer /var/www/tofuhoagie.com/logs/access.log >/dev/null 2>&1 webalizer -n fuzzyshambler -o /var/www/fuzzyshambler.com/www/webalizer /var/www/fuzzyshambler.com/logs/access.log >/dev/null 2>&1 Make the script executable:
Rendiamolo quindi eseguibile:
# chmod +x /opt/webalizerScript.sh
A questo punto dobbiamo creare le directory Webalizer per ogni virtual host:
# mkdir -p /var/www/tunahoagie.com/www/webalizer # mkdir -p /var/www/tofuhoagie.com/www/webalizer # mkdir -p /var/www/fuzzyshambler.com/www/webalizer
Rendere sicure le directory di Webalizer
Per prevenire accessi non autorizzati alla directory di Webalizer è opportuno configurare un meccanismo di autenticazione per limitare gli accessi. Un punto di partenza può essere la seguente guida: Apache2: proteggere directory mediante autenticazione
Automatizzare la raccolta delle statistiche
A questo punto possiamo automatizzare la raccolta delle statistiche di Webalizer facendo ad esempio partire lo script creato in precedenza una volta al giorno:
# rm /etc/cron.daily/webalizer # cd /etc/cron.daily # ln -s /opt/webalizerScript.sh
Recandoci all'indirizzo http://
--Ferdybassi 12:18, 16 apr 2011 (CEST)