Utilizzare Webalizer per avere le statistiche di Apache

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca

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)