Configurer awstats pour utilisation avec tous les vhost d’un serveur apache

Configuration : les paramétrages pour utiliser awstats avec tous les virtuals hosts d’un serveur apache sur une machine sous Linux Debian 8 (Jessie).

, par clem

Sur une installation "standard" d’awstats (version 7.1) réalisée selon l’indispensable tutoriel proposé par http://technique.arscenic.org/monitoring/awstats/article/installation-et-configuration-de, on souhaite que tous les virtuals hosts aient accès à leurs statistiques awstats avec une url de la forme : http://mon-domaine.tld/awstats/

Configuration générale : fichier /etc/apache2/apache2.conf

Le ScriptAlias et la directive Directory pour envoyer l’URL /awstats/ du vhost vers le script awstats.pl et protéger son accès par mot de passe

  1. ScriptAliasMatch ^/awstats(.*) /usr/lib/cgi-bin/awstats.pl
  2.  
  3. <Directory "/usr/lib/cgi-bin">
  4.         AllowOverride None
  5.         Order allow,deny
  6.         Allow from all
  7.  
  8.         AuthUserFile /etc/awstats/users.pwd
  9.         AuthName "Acces reserve"
  10.         AuthType Basic
  11.         Require valid-user
  12. </Directory>

Télécharger

L’alias et la directive "Directory" pour que les images soient servies par le bon répertoire

  1. Alias /icon/ /usr/share/awstats/icon/
  2. <Directory /usr/share/awstats/icon>
  3.         Options None
  4.         AllowOverride None
  5.         Order allow,deny
  6.         Allow from all
  7. </Directory>

Télécharger

Configuration d’un vhost : le fichier /etc/awstats/mon-domaine.tld.conf minimum

On suppose que :

  • ce vhost mon-domaine.tld a la configuration suivante dans son fichier vhost :
  1.     DocumentRoot /chemin/repertoire/vhosts/mon-domaine.tld/html
  2.     CustomLog /chemin/repertoire/vhosts/mon-domaine.tld/logs/access.log combined
  3.     LogFormat "%h %l %u %t \"%r\" %>s %b" common

Télécharger

  • qu’il existe un dossier /chemin/repertoire/vhosts/mon-domaine.tld/awstats qui stockera les fichiers générés par awstats.

Dans ces conditions le fichier /etc/awstats/mon-domaine.tld.conf aura comme configuration minimum :

  1. # AWSTATS CONFIGURE FILE 7.1
  2.  
  3. LogFile="/chemin/repertoire/vhosts/mon-domaine.tld/logs/access.log"
  4. SiteDomain="mon-domaine.tld"
  5. HostAliases="www.mon-domaine.tld"
  6. DirData="/chemin/repertoire/vhosts/mon-domaine.tld/awstats"

Télécharger

La création d’un accès pour un utilisateur se fera par ajout d’un compte dans /etc/awstats/users.pwd avec la commande htpasswd, par ex pour un utilisateur toto avec le mot de passe LeSecret :

  1. htpasswd -b /etc/awstats/users.pwd toto LeSecret