Ho deciso quindi di estendere tali funzionalità e di mettere in funzione un sistema un po' più dettagliato. Per fare questo userme i software webalizer.
Questa mini-guida descrive come intsllare e rendere operativo un sistema di statistiche basato su apache2 su una debian 3.1 con installato VHCS2 v2.4.7.1 intsallato tramite apt-get.
Prima di tutto installiamo il software per leggere in formato web i log di apache:
apt-get install webalizer
Recatevi su /var/www/vhcs2 e salvate il seguente file nominandolo vhcs2-get-domaine.pl (dandogli i permessi di esecuzione) che ci servirà per scrivere in un file tutti i domini virtuali:
#!/usr/bin/perl -w
require '/var/www/vhcs2/engine/vhcs2_common_code.pl';
use strict;
use warnings;
&return_all_domains;
sub return_all_domains {
#initializing vars
my $sql;
my ($rs, $rdata) = (undef, undef);
$sql = "select domain_name from domain";
($rs, $rdata) = doSQL($sql);
my $dmn_count = @$rdata;
# open the file to write all domains in
open(FILE, '>/etc/webalizer/domains.txt') or die("Acc
if ($dmn_count > 0) {
foreach (@$rdata) {
my $row = $_;
print FILE @$row[0]."\n";
}
}
close FILE;
}
Ora nel file vhcs2-dmn-mngr sempre in /var/www/vhcs2/engine aggiungete le seguenti righe sostituendo
$rs = make_dir(
"$www_dir/$dmn_name/htdocs/
$sys_user,
$httpd_gid,
0770
);
return $rs if ($rs != 0);
Bene ora recatevi in /etc/webalizer creandola se non dovesse esserci, e crate il file vuoto domains.txt con i diritti di accesso. Inoltre create il file webalizer.cron che come facilmente avrete intuito serve per automazizzare il processo di generazione delle statistiche e digitate al duo interno:
#!/bin/bash
/var/www/vhcs2/engine/vhcs2-get-domaine.pl
for domain in `cat /etc/webalizer/domains.txt`
do
webalizer /var/www/virtual/$domain/logs/$domain-access.log -o /var/www/virtual/$domain/htdocs/
done
Ci siamo quasi. aggiungete nel crontab:
## Lancia le statistiche ##
1 0 * * * /etc/webalizer/webalizer.cron > /dev/null
ed abbiamo finito... Ogni giorno alle 00.01 verranno generate le nuove statisctiche per i domini virtuali presenti.
Alla prossima e buone statistiche..