Statistiques hMailServer avec AWStats

Classé dans : Messagerie | Aucun commentaire

mardi 22 décembre 2009

Je vous propose aujourd'hui l'installation d'AWStats pour obtenir des statistiques détaillées sur votre serveur de mail hMailServer.

::TOC::

Prérequis

  • Un serveur hMailServer fonctionnel (4.4.1-B273)
  • PERL (via la distribution ActivePerl, par exemple (5.8.8))
  • AWStats (téléchargez la version zip sur http://awstats.sourceforge.net/) (6.95)
  • Un serveur Web (II6)

Activation des logs AWStats dans hMailServer

hMailserver dispose d'une option qui permet de générer des logs au format AWStats, il suffit simplement de l'activer.

Pour cela, allez dans Paramètres / Logs pour hMailServer 4 et Settings / Logging pour hMailServer 5 et cochez la case AWStats comme ci-dessous :

N'oubliez pas d'enregistrer pour prendre en compte les modifs.
Cette option génère le fichier suivant :
C:\Program Files\hMailServer2\Logs\hmailserver_awstats.log

Configuration de IIS

Assurez-vous que IIS autorise l'exécution des CGI Perl.
Apparemment, ActivePerl configure IIS correctement (extension de service + mappage des extensions).

Il ne reste plus qu'à autoriser l'extension PERL CGI dans la console de gestion de IIS :



Installation et configuration d'AWStats

Installation

Décompressez l'archive zip dans un dossier temporaire.

Copiez le contenu du dossier wwwroot dans un dossier accessible par IIS (ex : C:\inetpub\wwwroot\awstats).

Configuration

Créez un dossier data dans votre dossier AWStats.

Dans le dossier cgi-bin, créez un fichier awstats.hmailserver.conf et récupérez la configuration suivante :
Configuration AWStats pour HMailServer

(adaptez les chemins des logs hMailServer et du dossier DirData).

Lancez ensuite, dans le dossier cgi-bin la commande suivante :
perl awstats.pl -config=hmailserver -update

Consultation des statistiques par le web

Entrez simplement dans votre navigateur l'adresse suivante :
http://<ip_du_serveur>/awstats/cgi-bin/awstats.pl?config=hmailserver

Mise à jour des statistiques AWStats

Pour mettre à jour les stats, il y a 2 possibilités :

Mise à jour automatique

Il suffit de planifier la commande lancée au début toutes les nuits par exemple.
Cette méthode est la méthode recommandée par AWStats car c'est la plus performante.

Mise à jour manuelle

Il faut cliquer sur le lien "Mise à jour immédiate" dans l'interface Web.
Cette méthode est moins performante (CGI oblige) et nécessite de donner les droits en écriture sur le dossier Data à l'utilisateur IUSR.

Compléments d'information

Documentation AWStats

Cette installation est une utilisation de base d'AWStats.
Je vous invite à lire la documentation officielle d'AWStats pour plus d'options sur la configuration des stats de mails :
http://awstats.sourceforge.net/docs/awstats_faq.html#MAIL

Purger le fichier de logs d'hMailServer

Il existe 2 options d'AWStats qui permettent de purger le fichier hmailserver_awstats.log pour éviter qu'il ne devienne vite trop gros :
PurgeLogFile=1
ArchiveLogRecords=%YYYY%MM
PurgeLog indique à AWstats qu'il doit vider le fichier de log.
ArchiveLogRecords indique qu'il faut conserver une copie des logs dans le dossier data.
Ici, on garde des archives mensuelles, mais on peut le paramétrer pour conserver des archives journalières (%YYYY%MM%DD), annuelles (%YYYY),...

Installer AWStats sur Apache 2.2 sous Windows

Il faut pour cela autoriser l'exécution des scripts CGI dans Apache :
  • Editez le fichier httpd.conf et ajoutez ou modifiez à la balise document de votre site les options suivantes :
Options FollowSymLinks ExecCGI
  • Ajoutez (ou décommentez) la ligne suivante :
AddHandler cgi-script .pl
  • Redémarrez Apache.
  • Faites un test pour vérifier que tout fonctionne bien avec le script suivant :
#!c:\perl\bin\perl.exe
# ^^^ this must be the first line of the script! ^^^
# start code
use strict;
use CGI;
my $q = new CGI;
# print header and start the markup output
print $q->header( "text/html" ),$q->start_html( "hello from perl cgi!" );print $q->h2("Hello World!");
print $q->end_html;
# end code
  • Modifiez le shebang (1ere ligne du fichier) du fichier AWStats.pl et remplacez la par :
#!c:\perl\bin\perl.exe

Normalement tout devrait fonctionner.