Outils personnels
Vous êtes ici : Accueil GNU / Linux Debian Installer et configurer AWStats sur Debian 4.0 Etch
Actions sur le document
  • Send this page to somebody
  • Print this page
  • Add Bookmarklet

Installer et configurer AWStats sur Debian 4.0 Etch

Par Pierre-Yves Landuré - Dernière modification 05/12/2011 12:32

AWStats (pour Advanced Web statistics) est un outil très performant d'analyse de fichiers logs. Il est capable de traiter les logs de vos serveurs HTTP, FTP, SMTP, etc. Je l'aime beaucoup car sa présentation est simple, et ses statistiques pertinentes. Ce guide vous aide à l'installer proprement sur Debian 4.0 Etch.

Ce guide est obsolète. Utilisez la nouvelle version sur le Help Desk Biapy:

Installer l'outil d'analyse Web AWStats sur Debian

Installation

Important: Ce guide est adapté à une installation d'Apache 2 réalisée à partir de mon guide Installer et configurer Apache 2 sur Debian 4.0 Etch (notamment la partie dédiée aux domaines virtuels). Si vous n'avez pas suivi mon guide pour installer Apache 2, soyez conscient qu'il vous faut une connaissance minimum de la configuration Apache et que vous devez faire l'effort de lire et comprendre les messages d'erreurs pour arriver au bout de ce guide. Sachez toutefois qu'en général, la modification consiste à remplacer la ou les lignes <VirtualHost *:80> par <VirtualHost *> (dur hein).

Installez Awstats, un outil de génération de mots de passe, et les dépendances des plugins :

command apt-get install awstats apg \
    libgeo-ipfree-perl libnet-ip-perl \
    libnet-dns-perl liburi-perl

Crééez un utilisateur système pour awstats :

command adduser --system --group --shell "/bin/sh" \
    --no-create-home --home "/var/lib/awstats" awstats
command adduser awstats adm

Modifiez les permissions pour prendre en compte ce nouvel utilisateur :

if [ -e "/var/lib/awstats" ]; then
  command chown awstats:www-data "/var/lib/awstats"
  command chown awstats:awstats /var/lib/awstats/*
fi
if [ -e "/var/cache/awstats" ]; then
  command chown awstats:www-data "/var/cache/awstats"
  command chown awstats:awstats /var/cache/awstats/*
fi

Remplacez la configuration cron fournie par Debian par une version capable de mettre à jour plusieurs sites :

command echo "# Awstats all sites update :
*/10 * * * * awstats [ -x '/usr/lib/cgi-bin/awstats.pl' -a -d '/etc/awstats' ] && command find '/etc/awstats' -type f -name 'awstats.*.conf' | command sed -e 's/.*awstats\.\(.*\)\.conf/\1/' | command xargs -ICONF /usr/lib/cgi-bin/awstats.pl -config=CONF -update

# Generate static reports:
#10 03 * * * awstats [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh" \
  > /etc/cron.d/awstats
/etc/init.d/cron reload

Important : Si vous utilisez la version "combined" des logs d'Apache 2, il faut configurer Awstats pour reconnaître ce format, sinon, les informations de référant et de navigateur ne sont pas prise en compte (et oui, je me suis fait piéger). Pour ce faire, utilisez la commande:

command sed -i -e 's/^LogFormat.*=.*/LogFormat=1/g' "/etc/awstats/awstats.conf"

Nous autorisons la vue de l'année complète via le navigateur :

command sed -i -e 's/^AllowFullYearView.*=.*/AllowFullYearView=3/g' "/etc/awstats/awstats.conf"

Nous copions le fichier de configuration par défaut d'AwStats afin de conserver un template "sûr":

command mv "/etc/awstats/awstats.conf" "/etc/awstats/awstats.conf.template"

Activez de manière globale les plugins intéressants de Awstats:

command echo 'LoadPlugin="tooltips"
LoadPlugin="decodeutfkeys"
LoadPlugin="ipv6"
LoadPlugin="geoipfree"' \
    >> /etc/awstats/awstats.conf.local

Sauvegardes

Pour sauvegarder votre installation, je vous propose d'utiliser Backup Manager. Pour l'installer, vous pouvez suivre mon guide:

Installer et configurer Backup Manager sur Debian

Une fois Backup Manager installé, configurer la sauvegarde des fichiers de l'application :

command update-bm-folders add "/etc/awstats"
command update-bm-folders add "/var/lib/awstats"

Configuration d'Apache avec belles URLs pour AWstats

Trois solutions s'offrent à vous pour utiliser AWStats. Ce guide en aborde 2 issues de mon esprit tordu, mais prolixe:

  1. Mettre en place un domaine dédié aux statistiques AWstats.
  2. Mettre en place un dossier /stats sur un domaine existant.
  3. Pour information, la troisième solution consiste à utiliser AWStats depuis le dossier cgi-bin, mais sans les belles URLs.

En premier lieu, il vous faut mettre en place les éléments de configurations communs aux 2 méthodes expliquées dans ce guide.

ATTENTION: Soyez conscient que la configuration présentée dans ce guide est loin d'être parfaite. Le fait d'utiliser un seul et même domaine pour toutes les statistiques AWstats est problèmatique du point de vue de la confidentialité des données statistiques. En effet, malgré les quelques barrières posées par ce guide, un utilisateur ayant accès à une partie des statistiques AWstats peut voir toutes les autres moyennant quelques efforts. J'en suis conscient, et je fait avec car les données statistiques ne nécessitent pas une forte confidentialité pour moi. Pour vous cela peut être différent, aussi je tenais à vous prévenir.

Nous créons le dossier destiné à contenir le fichier des mots de passes :

/bin/mkdir --parent /etc/apache2/passwords

Nous créons un mot de passe pour le compte admin, autorisé à accéder à toutes les statistiques:

AWSTATS_PWD=$(/usr/bin/apg -q -a  0 -n 1 -M NCL)

Nous créons le fichier de mot de passe et nous y ajoutons le compte admin:

/usr/bin/htpasswd -cb /etc/apache2/passwords/awstats-users.pwd admin ${AWSTATS_PWD}

Affichez le mot de passe assigné à votre compte d' "administration" de AWStats (et retenez le !) :

/bin/echo "Le mot de passe pour l'utilisateur 'admin' est '${AWSTATS_PWD}'."

Nous nous assurons que le mod_rewrite d'Apache est actif:

a2enmod rewrite

AWStats sur un domaine dédié

Cette section décrit la mise en place d'un domaine dédié à AWStats. Le résultat obtenu est le suivant: Vous aurez accès aux statistiques des sites www.domaine.com et blog.domaine.com via les URL:

  • http://stats.domaine.com/www.domaine.com
  • http://stats.domaine.com/blog.domaine.com

Belles URL n'est-ce pas ? :) Pour obtenir ce résultat, nous allons mettre en place un domaine virtuel Apache utilisant une réécriture d'URL assez tordue :). Pour ce faire, commencez par renseigner le nom de domaine que vous souhaitez assigner à votre site de statistiques:

AWSTATS_DOMAIN=stats.domaine.com

Une fois ceci fait, nous téléchargeons le fichier modèle de notre hôte virtuel dédié à AWstats:

/usr/bin/wget http://howto.landure.fr/gnu-linux/debian-4-0-etch/installer-et-configurer-awstats-sur-debian-4-0-etch/awstats-virtual-host-template \
    --output-document=/etc/apache2/sites-available/${AWSTATS_DOMAIN}

Et nous le mettons à jour avec notre nom de domaine:

/bin/sed -i -e "s/AWSTATS_DOMAIN/${AWSTATS_DOMAIN}/" \
         /etc/apache2/sites-available/${AWSTATS_DOMAIN}

Remarque: Par défaut, le modèle d'hôte virtuel utilisé n'autorise que l'utilisateur "admin" à voir les sites. Cependant, si vous modifiez le fichier /etc/apache2/sites-available/AWSTATS_DOMAIN, vous trouverez la possibilité d'autoriser l'accès sans identification par mot de passe pour certaines adresse IP, ainsi qu'un exemple d'accès restreint aux statistiques d'un seul site pour un utilisateur donné.

Nous activons le nouveau site:

/usr/sbin/a2ensite ${AWSTATS_DOMAIN}

Une fois ceci fait, nous testons notre configuration pour vérifier qu'il n'y a aucun problème.

/usr/sbin/apache2ctl -t

Et nous rechargeons la configuration d'Apache:

/etc/init.d/apache2 force-reload

AWstats dans le dossier /stats d'un domaine existant

Cette configuration vous permet d'accéder à vos statistiques avec des URLs ressemblant à :

  • http://www.mon-domaine.com/stats/www.un-site.com
  • http://www.mon-domaine.com/stats/www.un-autre-site.com

Pour mettre en place une telle configuration, ajoutez simplement les lignes suivantes à la configuration du domaine choisi.

  <IfModule mod_rewrite.c>
    RewriteEngine On$

    #   
    # AWStats URL beautifier
    #   

    # AWStats images
    Alias /awstats-icon /usr/share/awstats/icon
    <Directory "/usr/share/awstats/icon">
      AllowOverride None
      Order allow,deny
      Allow from all
    </Directory>

    # In order to the anchor links to work, we do not rewrite
    # url with framename defined and not equal to "index":
    RewriteCond %{QUERY_STRING}  !^(.*&)?framename=index(&.*)?$
    RewriteCond %{QUERY_STRING}  ^(.*&)?framename=.*(&.*)?$
    RewriteRule /stats/(.*) /usr/lib/cgi-bin/awstats.pl [L] 

    # , we redirect all urls like /stats/awstats.pl?config=something&name=value
    # to /stats/something?name=value
    RewriteCond %{QUERY_STRING}  ^(.*&)?config=([^&]*)(&(.*))?$
    RewriteRule /stats.* /stats/%2?%1%4 [R,L]

    # We beautify the /stats and /stats/awstats.pl URLs:
    RewriteRule /stats(/awstats.pl)?$ /stats/ [R,L]

    # We take a URL like /stats/something?name=value and pass it to: 
    #   awstats.pl?config=something&name=value.
    #   
    # aka: It take a beautiful URL and fetch the awstats content that match it. 
    RewriteRule /stats/([^/]*)(/.*)? /usr/lib/cgi-bin/awstats.pl?config=$1 [QSA,L]

    ## Restrict access to awstats
    <Location /stats>
      SetHandler cgi-script

      # We enable auth based on login, or on IP address.
      Satisfy any

      # Auth configuration
      Order deny,allow
      Deny from all

      # We enable password authentication
      AuthType Basic
      AuthName "Advanced Web Statistics"
      AuthUserFile /etc/apache2/passwords/awstats-users.pwd
      Require valid-user

      # Uncomment these lines in order to allow access from this IP without password.
      #Allow from some.ip.address.here/32

    </Location>

    # By default, only the "admin" user can access all
    # statistics. Do not remove this, since it avoid
    # users restricted to only one site statistics to
    # access alls statistics on your server.
    <LocationMatch /stats/(?!awstats\.pl$)>
      Require user admin
    </LocationMatch>

    # We allow one (or more) user by site.
    # This configuration fits a multisite AWstats configuration quite well :)

    # Allow "some-user" to view "www.some-site.com" statistics.
    #<Location /stats/www.some-site.com>
    #  Require user some-user
    #</Location>

  </IfModule>

Une fois ceci fait, nous testons notre configuration pour vérifier qu'il n'y a aucun problème.

/usr/sbin/apache2ctl -t

Et nous rechargeons la configuration d'Apache:

/etc/init.d/apache2 reload

Configurer les statistiques AWstats d'un site

En premier lieu, je vous conseille de configurer votre serveur HTTP de façon à ce que chaque site que vous hébergez ai ses propres fichiers logs.

Par exemple, pour Apache 2, ajoutez les lignes suivantes dans votre VirtualHost:

    ErrorLog /var/log/apache2/howto.landure.fr-error.log
    LogLevel warn
    CustomLog /var/log/apache2/howto.landure.fr-access.log combined

Remarque: N'oublier pas de remplacer le nom d'hôte de mon site (en gras) par le nom d'hôte du votre.

Remarque 2: Si vous utilisez mon guide Installer et configurer Apache 2 sur Debian 4.0 Etch pour configurer votre serveur Apache 2, vous n'avez pas besoin de vous inquiéter de l'emplacement de vos fichiers logs :D.

Une fois ceci fait, nous allons créer notre fichier de configuration AwStats. En premier lieu, renseignez le nom d'hôte de votre site Internet:

SITE_HOSTNAME=howto.landure.fr

Et créez le fichier de configuration d'AwStats adéquat:

cp /etc/awstats/awstats.conf.template /etc/awstats/awstats.$SITE_HOSTNAME.conf

Et modifiez le pour utiliser vos fichiers logs:

/bin/sed -i -e "s/^\(LogFile=\).*/\1\"\/var\/log\/apache2\/$SITE_HOSTNAME-access.log\"/" \
            -e "s/^\(SiteDomain=\).*/\1\"$SITE_HOSTNAME\"/" \
            -e 's/^\(DefaultFile=\).*/\1"index.php index.html"/' \
            -e 's/^\(URLWithQuery=\).*/URLWithQuery=1/' \
         /etc/awstats/awstats.$SITE_HOSTNAME.conf

Si votre site récupère beaucoup de trafic depuis des forums, vous pouvez souhaitez voir les URL de provenance (cad. les "referrer") complètes. Pour ce faire, utilisez la ligne de commande suivante:

/bin/sed -i -e 's/^\(URLWithQuery=\).*/URLReferrerWithQuery=1/' \
         /etc/awstats/awstats.$SITE_HOSTNAME.conf

Remarque: Si votre site est un site Plone, vous pouvez ignorer les images en mettant à jour le paramètre SkipFiles. Ceci se fait avec la commande suivante:

/bin/sed -i -e 's|^\(SkipFiles=\).*|\1"REGEX[\\/image_thumb$] REGEX[\\/image_mini$] REGEX[\\/image_tile$] REGEX[\\/image_preview$] REGEX[\\/image_large$] REGEX[\\/portal_kss\\/] REGEX[\\/kupudrawers\\/]"|' \
         /etc/awstats/awstats.$SITE_HOSTNAME.conf
Une fois ceci fait, dans les 10 minutes qui suivent, vos statistiques devrait être accessibles depuis une URL ressemblant à:
  • http://stats.domaine.com/SITE_HOSTNAME
  • http://www.un-domaine.com/stats/SITE_HOSTNAME

Ouvrir les statistiques à un utilisateur tiers

Si vous souhaitez donner l'accès à un utilisateur tiers aux statistisque de l'un des sites que vous hébergez, en premier lieu, renseignez l'identifiant que vous souhaitez mettre en place pour l'utilisateur:

AWS_USERNAME=un-identifiant

Une fois ceci fait, créez un mot de passe aléatoire pour cet utilisateur:

AWS_PASSWD=$(/usr/bin/apg -q -a  0 -n 1 -M NCL)

Affichez le mot de passe assigné à au compte de l'utilisateur (et retenez le !) :

/bin/echo "Le mot de passe pour l'utilisateur '${AWS_USERNAME}' est '${AWS_PASSWD}'."

Ajoutez l'utilisateur au fichier des mots de passes d'AWstats:

/usr/bin/htpasswd -b /etc/apache2/passwords/awstats-users.pwd ${AWS_USERNAME} ${AWS_PASSWD}

Une fois ceci fait, nous affichons les lignes à insérer dans le fichier de configuration Apache 2

  • Dans le cas de l'hôte virtuel dédié AWstats:
    /bin/echo "Veuillez ajouter les lignes suivantes à votre hôte virtuel hébergeant AWStats:
        # Allow '${AWS_USERNAME}' to view '${SITE_HOSTNAME}' statistics.
        <Location /${SITE_HOSTNAME}>
          Require user ${AWS_USERNAME}
        </Location>"
  • Dans le cas d'AWstats accessible depuis le dossier /stats d'un domaine existant:
    /bin/echo "Veuillez ajouter les lignes suivantes à votre hôte virtuel hébergeant AWStats:
        # Allow '${AWS_USERNAME}' to view '${SITE_HOSTNAME}' statistics.
        <Location /stats/${SITE_HOSTNAME}>
          Require user ${AWS_USERNAME}
        </Location>"

Important: Vous devez ajouter les lignes fournies par la commande qui correspond à votre configuration à la configuration du domaine virtuel Apache concerné.

Après avoir mis à jour la configuration d'Apache, vérifiez qu'il n'y a pas d'erreurs:

/usr/sbin/apache2ctl -t

Et chargez la nouvelle configuration:

/etc/init.d/apache2 reload

Remerciements

Attachements

awstats

Posté par sebie le 28/08/2008 18:13
Bonjour merci pour se super tuto, juste une question a se passage je comprend pas trop ou faut mettre "Une fois ceci fait, nous allons créer notre fichier de configuration AwStats. En premier lieu, renseignez le nom d'hôte de votre site Internet:

SITE_HOSTNAME=howto.landure.fr"

Merci

c'est une variable

Posté par lwolf le 29/08/2008 17:46
Par exemple, si tu crée un site internet en utilisant les virtual host apache, mettons que tu veuille créer www.sebie.com

Pour obtenir les statistiques de ce site, fait:

SITE_HOSTNAME=www.sebie.com

cette ligne renseigne la variable SITE_HOSTNAME

Bon courrage

ou ça ?

Posté par Matt le 25/10/2008 17:44
Précision pour ceux qui trouveraient ce tuto intéressant mais auraient du mal avec SITE_HOSTNAME (comme sebie et moi ;) :

c'est dans la ligne de commande (shell) qu'il faut indiquer ça !

On est pas forcément coutumier de l'utilisation de variables dans le shell...

Complément

Posté par XD le 24/01/2009 18:27
Bonsoir et merci pour ce tuto très sympa et complet.

J'utilise pour ma part une 4è méthode sur serveur dédié. Afin de gérer plusieurs domaines et sous-domaines différents sans pour autant les appeler depuis un alias d'URL ou un site principal uniquement.

J'ai intégré ma configuration Apache à l'un de mes domaines parce que ça correspond à ma logique serveur, mais dans le cadre de ce tuto, je pense que l'idée pourrait être de créer un site-available "awstats" dans Apache. Où domaine.com serait le domaine PRINCIPAL (le votre par exemple) ou celui de votre choix si vous n'en avez pas un particulier.

[code]
cat > /etc/apache2/sites-available/awstats
##
# AwStats config
##

<VirtualHost *>
ServerAdmin webmaster@domaine.com
ServerName stats.domaine.com
ServerAlias stats.*.*
DocumentRoot /var/www/awstats/

Alias /awstats-icon /usr/share/awstats/icon
<Directory "/usr/share/awstats/icon">
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

<Directory /var/www/awstats/>
Options Indexes FollowSymLinks MultiViews +ExecCGI
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
^C (ctrl+C, pour sortir)
[/code]

Créez un dossier awstats dans /var/www (ou où vous voulez, tant que c'est cohérent avec votre config Apache)

Relancez Apache (apache2ctl graceful) pour prendre en compte le changement.

Il suffit ensuite, de créer un fichier index.php dans ce dossier /var/www/awstats qui contiendra simplement les quelques lignes suivantes :

[code]
<?php

$dom = ereg_replace("stats.", "", $_SERVER['HTTP_HOST']);

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Domaine.Com</title>

<!-- Refresh ! -->
<meta http-equiv="refresh" content="0;URL=/cgi-bin/awstats.pl?config=<?php echo $dom; ?>" />
</head>
<body>
<p>Awstats, redirection en cours...</p>
</body>
</html>
[/code]

Il suffit de nommer les fichiers de configuration awstats.domaine.com.conf au lieu de awstats.domaine.conf et le tour est joué !

De cette manière, les différents utilisateurs ne peuvent que consulter leurs domaines et sous domaines tant qu'ils n'ont pas connaissance des autres domaines hébergés sur le serveur en consultant des adresses du type :

http://stats.domaine.com
http://stats.sous.domaine.com

Ca me semble être un bon compromis ! :)

On peut parfaitement rajouter la partie authentification proposée dans cet article, en complétant le fichier awstats de Apache.

Can you help me ?!

Posté par Awstat-user le 06/02/2009 14:07
Bonjour Pierre-Yves Landuré (ou toute autre personne lisant ce post...),

je rencontre une petite difficulté dans la configuration de awstat.

Voila, j'ai suivi le tuto pour configurer awstat, sur plusieurs url, j'ai donc ceci :

stats.monsite.com/url-1
stats.monsite.com/url-2
stats.monsite.com/url-3

C'est super, j'ai mes stats pour chaque site. Cependant lorsque je me rend sur l'adresse :
stats.monsite.com, je tombe sur une page de statistique vide.

Moi ce que je voudrait, c'est pouvoir mettre une page html banal, avec trois liens pour les trois interfaces de stats.

J'ai donc créer ma page dans le répertoire /var/www/stats.monsite.com.

Ensuite il me restait donc juste à modifier le fichier /etc/apache2/sites-available/stats.monsite.com pour pointer sur ma page.

Seulement c'est la que je rencontre des difficultés.

Si j'édite ce fichier avec seulement cette directive :

<VirtualHost *>
ServerName stats.monsite.com
DocumentRoot /var/www/stats.monsite.com
<Directory /var/www/stats.monsite.com>
Options FollowSymLinks MultiViews Indexes
</Directory>
</VirtualHost>

Cela fonctionne, l'url stats.monsite.com redirige bien sur ma page. Mais je n'ai plus la redirection d'url vers les autres pages de stats (forcément). Je me suis dis je vais donc rajouté cette directive, dans le fichier de conf existant que voici :

<VirtualHost *:*>
# Uncomment this line and set it up with your actual webmaster email
# or with your real email.
#ServerAdmin webmaster@my-domain.com

# Your actual domain name, on witch this virtual host is available.
ServerName stats.monsite.com

# You may want your site to be available on other domain names, this is
# what alias are for.
# You can use the * wildcard caracter to match multiple sub-domains.
#ServerAlias www2.my-domain.com www.my-other-domain.com *.yet-another-domain.com


# The error log and access log. This can be used by awstats
# Note : since we keed theses logs in /var/log/apache2, they are
# automaticaly rotated by logrotate :D.
ErrorLog /var/log/apache2/stats.monsite.com-error.log
LogLevel warn
CustomLog /var/log/apache2/stats.monsite.com-access.log combined


# Theses lines only apply of the rewrite module is enabled.
<IfModule mod_rewrite.c>
RewriteEngine on

# This is a security enhancement recommanded by the nessus tool.
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]

# If you have no default configuration for AWstats,
# you me want to redirect the unusable root to your web site :D
# In order to do this, replace http://howto.landure.fr/ URL by the
# URL to your site, and uncomment this line:
# RewriteRule ^/$ http://stats.monsite.com/ [R,L]

# Awstats images.
Alias /awstats-icon /usr/share/awstats/icon
<Directory "/usr/share/awstats/icon">
AllowOverride None
</Directory>

# We do no rewrite for awstats-icon folder.
RewriteRule /awstats-icon - [L]

#
# AwStats URL beautifier
#

# In order to the anchor links to work, we do not rewrite
# url with framename defined and not equal to "index":
RewriteCond %{QUERY_STRING} !^(.*&)?framename=index(&.*)?$
RewriteCond %{QUERY_STRING} ^(.*&)?framename=.*(&.*)?$
RewriteRule /(.*) /usr/lib/cgi-bin/awstats.pl [L]

# , we redirect all urls like /awstats.pl?config=something&name=value
# to /something?name=value
RewriteCond %{QUERY_STRING} ^(.*&)?config=([^&]*)(&(.*))?$
RewriteRule /.* /%2?%1%4 [R,L]

# We take the /awstats.pl exact url to the rool of the server.
RewriteRule /awstats.pl$ / [R,L]

# We take a URL like /something?name=value and pass it to:
# awstats.pl?config=something&name=value.
#
# aka: It take a beautiful URL and fetch the awstats content that match it.
RewriteRule /([^/]*)(/.*)? /usr/lib/cgi-bin/awstats.pl?config=$1 [QSA,L]

## Restrict access to awstats
<Location />
SetHandler cgi-script

# Auth configuration
# Allow auth either by user, or by IP
Satisfy any

# Protect default access
Order deny,allow
Deny from all

# We enable password authentication
AuthType Basic
AuthName "Advanced Web Statistics"
AuthUserFile /etc/apache2/passwords/awstats-users.pwd
Require valid-user

# Uncomment these lines in order to allow access from this IP without password.
#Allow from some.ip.address.here/32

</Location>

# By default, only the "admin" user can access all
# statistics. Do not remove this, since it avoid
# users restricted to only one site statistics to
# access alls statistics on your server.
<LocationMatch /(?!awstats\.pl$)>
Require user admin
</LocationMatch>

<Location /awstats-icon>
SetHandler None
Allow from all
</Location>

# We allow one (or more) user by site.
# This configuration fits a multisite AWstats configuration quite well :)

# Allow "some-user" to view "www.some-site.com" statistics.
#<Location /www.some-site.com>
# Require user some-user
#</Location>

</IfModule>


</VirtualHost>

Voila, mais je n'arrive pas à modifier ce fichier pour ajouter la redirection simple de stats.monsite.com vers ma page html, tout en conservant les trois url de stats fonctionnel.

Je ne suis peut-être pas très clair, mais si quelqu'un pourrais m'éclairer svp...

Merci d'avance.

je vois je vois, et j'ai une solution (ou presque)

Posté par Lone Wolf le 09/02/2009 05:22
Bonjour,

alors, j'ai une solution à ton problème, relativement simple.

Déjà, ajoute une directive DocumentRoot :

DocumentRoot /var/www/stats.monsite.com/

Ensuite, il faut ajouter une RewriteCond ici:

# We take a URL like /something?name=value and pass it to:
# awstats.pl?config=something&name=value.
#
# aka: It take a beautiful URL and fetch the awstats content that match it.
RewriteRule /([^/]*)(/.*)? /usr/lib/cgi-bin/awstats.pl?config=$1 [QSA,L]

La RewriteCond doit empêcher cette règle de s'appliquer quand un fichier existe. Je ne me souviens plus comment faire ca, mais regarde du coté de la configuration de WordPress ou peut être Symfony, je sais que ce sont des RewriteRule similaires qui sont utilisées.

Bon courrage.

Thanks Lone, I will try !

Posté par Awstats-user le 09/02/2009 11:53
J'avais effectivement essayé d'ajouter la directive document root, mais je n'avais pas regarder pour la RewriteRule. Je vais me pencher dessus.

Merci pour ta réponse ;)

Forbidden 403

Posté par wadii le 19/02/2010 16:34
Bonjour,

J'ai j'ai une erreur 403 une fois logger sur mon awstat

Forbidden

You don't have permission to access /mondomaine on this server.


mondomaine-error.log:


Options ExecCGI is off in this directory: /usr/lib/cgi-bin/awstats.pl

Une idée?

Merci pour votre aide

Problème rewiter

Posté par Anakin-skywalker le 26/08/2009 19:00
Bonsoir à tous,

Voilà j'ai uivi le tuto pour le rewite ( comme le reste été déjà good je fesais exactement la même chose ^^) mais j'ai un petit problème je n'arrive pas a rewite l'url j'ai une erreur 404 a chaque fois je suis sous Debian lenny manque t'il un Directory pour que lenny prenne le bon chemin ? j'ai chercher un peux partout une rewite simple fonctionne mais avec le script que vous avez fourni il mes impossible defaire marché awstats ( avec le lien direct cgi-bin/awstats.pl...... les stats fonctionne ) Si vous avez des idée svp sa fais 2 jours que je cherche et teste sans résultat ...

merci de votre aide

erreur virtualhost

Posté par Eric le 06/01/2010 09:28
Bonjour,
j'ai utilisé la 1ère méthode mais j'ai comme réponse après la vérification du bon fonctionnement :

apache2: Could not reliably determine the server's fully qualified domain name, using 91.121.222.95 for ServerName
[Wed Jan 06 10:21:45 2010] [warn] NameVirtualHost *:80 has no VirtualHosts
Syntax OK

Quelqu'un peut-il m'aider, je n'y capte pas grand chose
Merci par avance,

alerte apache

Posté par Lone Wolf le 06/01/2010 11:13
Bonjour,

ce n'est pas un message d'erreurs, mais de simples messages informatifs. Le Syntax OK indique votre configuration apache est correcte.

La première ligne dit que l'un de vos virtualhost n'a pas de ServerName.
La seconde ligne dit que la directive NameVirtualHost *:80 (autorisant les hotes virtuels sur le port 80) n'a aucun virtual host défini. Ce n'est pas grave.

suite alerte apache

Posté par Eric le 08/01/2010 08:04
Bonjour,
merci pour votre réponse,

Comment puis-je faire pour corrigé : La première ligne dit que l'un de vos virtualhost n'a pas de ServerName.
donc créer ce hostname

Je souhaite que mes stats soit pour tous les domaines et sous domaine existant sur le serveur afin d'avoir des stats globales

Merci par avance,

awstat

Posté par maxfri le 14/06/2010 07:52
bonjour
j'ai un petit souci avec un site awstats. j'ai déjà 5 sites gérés par awstat, mais le dernier ajouté pose problèmes :
awstats ne m'affiche que le mois en cours !!! il ne m'affiche pas les mois précédent......
les autres sites fonctionnent parfaitement....
pige pas !!!

Merci de votre aide

Début d'enregistrement des stats

Posté par Lone Wolf le 14/06/2010 08:05
Bonjour,

ce comportement est probablement expliqué par le fait qu'Awstats ne génère des statistiques qu'a partir du moment ou le site est configuré. Si vous avez configuré votre site ce mois ci, les stats sont générés à partir de ce mois ci.

Bon courrage

BlogBang
Navigation
 

Réalisé avec Plone

Ce site respecte les normes suivantes :

Wikio