Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
awstats [Le 08/11/2009, 14:05] – 213.95.41.13 | awstats [Le 04/01/2015, 12:22] (Version actuelle) – [Voir les statistiques dans une belle interface web] 78.214.53.154 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | |||
+ | ====== AWStats ====== | ||
+ | |||
+ | **AWStats** est un logiciel libre sous licence GPL qui permet de générer des statistiques pour son serveur. Il offre des vues graphiques statiques mais aussi dynamiques des statistiques d' | ||
+ | |||
+ | Consultez des [[http:// | ||
+ | |||
+ | ===== Pré-requis ===== | ||
+ | |||
+ | * Disposer des [[: | ||
+ | * Disposer d'une connexion à Internet configurée et activée. | ||
+ | * Un serveur [[:Apache]] déjà installé et fonctionnel. | ||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | Pour installer ce logiciel, il suffit d' | ||
+ | |||
+ | Le répertoire d' | ||
+ | |||
+ | |||
+ | ===== Configuration ===== | ||
+ | |||
+ | Le(s) fichier(s) de configuration se trouve(nt) dans **/ | ||
+ | |||
+ | Il faut en créer un par site ; dans un [[: | ||
+ | < | ||
+ | où ' | ||
+ | |||
+ | **N.B :** // | ||
+ | |||
+ | Réglez ce(s) fichier(s) de configuration(s) avec notamment dans le cas d'un serveur web apache : | ||
+ | |||
+ | < | ||
+ | LogType=W | ||
+ | LogFormat=1 | ||
+ | LogFile="/ | ||
+ | SiteDomain=" | ||
+ | </ | ||
+ | Voir les explications contenues dans le fichier **awstats.conf** pour les autres options. | ||
+ | |||
+ | ===== Utilisation ===== | ||
+ | AWStats est un script CGI, il se lance avec la [[: | ||
+ | |||
+ | / | ||
+ | |||
+ | |||
+ | ==== Tester l' | ||
+ | |||
+ | < | ||
+ | ... quelques instants plus tard, si tout va bien ... | ||
+ | < | ||
+ | Update for config "/ | ||
+ | With data in log file "/ | ||
+ | Phase 1 : First bypass old records, searching new record... | ||
+ | Searching new records from beginning of log file... | ||
+ | Phase 2 : Now process new records (Flush history on disk after 20000 hosts)... | ||
+ | Jumped lines in file: 0 | ||
+ | Parsed lines in file: 34782 | ||
+ | Found 40 dropped records, | ||
+ | Found 0 corrupted records, | ||
+ | Found 0 old records, | ||
+ | Found 34742 new qualified records. | ||
+ | </ | ||
+ | |||
+ | === Ajouter l' | ||
+ | |||
+ | < | ||
+ | cd / | ||
+ | rm * | ||
+ | cd / | ||
+ | for i in `ls -tr access.log.*.gz` | ||
+ | do | ||
+ | echo " | ||
+ | zcat $i | / | ||
+ | done | ||
+ | </ | ||
+ | |||
+ | |||
+ | === Vérifier la production du fichier de statistiques === | ||
+ | |||
+ | < | ||
+ | |||
+ | Il y a un fichier par mois et par site. | ||
+ | |||
+ | <note tip> | ||
+ | S'il y a des " | ||
+ | * commenter les 2 lignes de / | ||
+ | * lancer le traitement | ||
+ | * decommenter les lignes (supprimer le #) | ||
+ | </ | ||
+ | ==== Voir les statistiques dans une belle interface web ==== | ||
+ | |||
+ | D' | ||
+ | |||
+ | [[[[: | ||
+ | |||
+ | < | ||
+ | Alias /awstatscss "/ | ||
+ | Alias / | ||
+ | |||
+ | < | ||
+ | | ||
+ | </ | ||
+ | < | ||
+ | ScriptAlias /stats / | ||
+ | </ | ||
+ | |||
+ | |||
+ | # mêmes paramètres que dans awstats.*.conf | ||
+ | < | ||
+ | DirectoryIndex awstats.pl | ||
+ | UseCanonicalName off | ||
+ | # AuthName " | ||
+ | # AuthType Basic | ||
+ | # Require valid-user | ||
+ | # AuthUserFile / | ||
+ | Options +ExecCGI | ||
+ | AllowOverride None | ||
+ | < | ||
+ | Order allow,deny | ||
+ | Allow from all | ||
+ | </ | ||
+ | < | ||
+ | Require all granted | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | Puis créez un lien symbolique dans **/ | ||
+ | < | ||
+ | |||
+ | Ajustez la gestion des droits d' | ||
+ | <note important> | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | Enjoy : | ||
+ | |||
+ | http:// | ||
+ | et même si tout va bien : | ||
+ | http:// | ||
+ | |||
+ | |||
+ | ===== Ajouter des plugins à Awstats ===== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== GeoIP ==== | ||
+ | Tous les mois sur le site de [[http:// | ||
+ | |||
+ | Ce fichier va permettre d' | ||
+ | |||
+ | === Installation === | ||
+ | |||
+ | * Récuperer la base GeoIp [[http:// | ||
+ | |||
+ | * Placez le fichier dans le répertoire **/ | ||
+ | |||
+ | <note tip>Vous pouvez automatiser ces deux étapes en rajoutant par exemple dans [[cron]] (dans un terminal, tapez **sudo crontab -e**) la commande : | ||
+ | 0 4 10 * * wget -O / | ||
+ | </ | ||
+ | |||
+ | * Ensuite, il vous faut récupérer le fichier **PurePerl.pm** que vous trouverez à l' | ||
+ | |||
+ | * Copiez le fichier PurePerl.pm qui se trouve le répertoire lib/Geo/Ip dans le répertoire / | ||
+ | |||
+ | * Modifiez le fichier PurePerl.pm aux alentours de la ligne 213 (Fonction: //sub new//) en indiquant le chemin absolu d' | ||
+ | |||
+ | * Modifiez le fichier **geoip.pm** dans le répertoire / | ||
+ | |||
+ | * Ensuite, il ne vous reste plus qu'à ajouter le code suivant à la fin de votre fichier de configuration de votre site :< | ||
+ | # Perl modules required: Geo::IP or Geo:: | ||
+ | # Country chart is built from an Internet IP-Country database. | ||
+ | # This plugin is useless for intranet only log files. | ||
+ | # Note: You must choose between using this plugin (need Perl Geo::IP module | ||
+ | # from Maxmind, database more up to date) or the GeoIPfree plugin (need | ||
+ | # Perl Geo::IPfree module, database less up to date). | ||
+ | # This plugin reduces AWStats speed of 8% ! | ||
+ | # | ||
+ | LoadPlugin=" | ||
+ | |||
+ | <note help>Si après ceci vous obtenez : | ||
+ | < | ||
+ | Il faut aussi modifier le fichier **/ | ||
+ | </ | ||
+ | |||
+ | <note tip>Il y a d' | ||
+ | |||
+ | ==== Affichage du Top 20 des Téléchargements ==== | ||
+ | |||
+ | Si vous avez beaucoup de fichiers téléchargés sur votre site, ce plugin vous indiquera les 20 fichiers les plus téléchargés. | ||
+ | Pour l' | ||
+ | < | ||
+ | # EXTRA SECTIONS | ||
+ | # | ||
+ | |||
+ | # Affichage du Top 20 des T& | ||
+ | ExtraSectionName1=" | ||
+ | ExtraSectionCodeFilter1=" | ||
+ | ExtraSectionCondition1=" | ||
+ | ExtraSectionFirstColumnTitle1=" | ||
+ | ExtraSectionFirstColumnValues1=" | ||
+ | ExtraSectionFirstColumnFormat1=" | ||
+ | ExtraSectionStatTypes1=HBL | ||
+ | ExtraSectionAddAverageRow15=0 | ||
+ | ExtraSectionAddSumRow1=1 | ||
+ | MaxNbOfExtra1=20 | ||
+ | MinHitExtra1=1</ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== ProFtpd ===== | ||
+ | |||
+ | Vous allez devoir créer un fichier de config pour chaque serveur : | ||
+ | |||
+ | cd / | ||
+ | cp awstats.conf awstats.ftp.conf | ||
+ | |||
+ | [[: | ||
+ | |||
+ | Changez les variables suivantes : | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | [[: | ||
+ | |||
+ | Ajoutez les lignes suivantes au fichier (à la suite des commandes identiques existants déja) : | ||
+ | |||
+ | | ||
+ | #TRES IMPORTANT | ||
+ | # Remplacez tous les espaces par des tabulations dans la ligne du dessus | ||
+ | | ||
+ | | ||
+ | # Peu fréquent | ||
+ | # Si vous utilisez les virtual hosts vous devriez peut être placer cette directive dans le bon " | ||
+ | | ||
+ | # Si vous utilisez les virtual hosts vous devriez peut être placer cette directive dans le bon " | ||
+ | |||
+ | |||
+ | Supprimez / | ||
+ | |||
+ | rm / | ||
+ | |||
+ | Créez un peu de trafic sur votre logiciel ftp, en téléchargeant un fichier par exemple.\\ Puis exécutez la commande: | ||
+ | |||
+ | / | ||
+ | |||
+ | Tout devrait bien s' | ||
+ | |||
+ | Si vous avez un message qui vous dit qu'il y a des " | ||
+ | |||
+ | Voila, votre serveur proftpd est maintenant monitoré. | ||
+ | |||
+ | Vous pouvez lire l' | ||
+ | |||
+ | |||
+ | **(en)** [[http:// | ||
+ | |||
+ | |||
+ | |||
+ | ===== Automatiser la génération des statistiques ===== | ||
+ | |||
+ | |||
+ | |||
+ | ==== Cron ==== | ||
+ | === Solution 1 === | ||
+ | |||
+ | Le cron de awstats se trouve ici: | ||
+ | |||
+ | < | ||
+ | |||
+ | Il est généré par défaut et ressemble à ça : | ||
+ | |||
+ | < | ||
+ | */10 * * * * www-data [ -x / | ||
+ | tats.pl -config=awstats -update >/ | ||
+ | </ | ||
+ | |||
+ | En détail ça donne: | ||
+ | |||
+ | < | ||
+ | */10 * * * * | ||
+ | </ | ||
+ | |||
+ | Exécutez le cron toutes les dix minutes | ||
+ | |||
+ | < | ||
+ | www-data | ||
+ | </ | ||
+ | |||
+ | avec l' | ||
+ | |||
+ | < | ||
+ | [ -x / | ||
+ | -a -f / | ||
+ | -a -r / | ||
+ | </ | ||
+ | |||
+ | faites des vérifications sur Des fichiers. //man test// pour en savoir plus. | ||
+ | |||
+ | < | ||
+ | && / | ||
+ | </ | ||
+ | |||
+ | Exécutez cette commande si les vérifications sont OK | ||
+ | |||
+ | < | ||
+ | >/ | ||
+ | </ | ||
+ | Ne pas loguer le résultat de la commande. | ||
+ | |||
+ | A configurer en fonction de sa config mais, on peut habilement le changer par : | ||
+ | |||
+ | < | ||
+ | 0 * * * * root / | ||
+ | </ | ||
+ | |||
+ | |||
+ | === Solution 2 === | ||
+ | Contrib: rapidos | ||
+ | |||
+ | |||
+ | Allez dans le répertoire / | ||
+ | |||
+ | emacs / | ||
+ | |||
+ | Copiez le script shell ci-dessous dans le fichier nouvellement créé. | ||
+ | |||
+ | # | ||
+ | # Chemin de l' | ||
+ | | ||
+ | # Vos domaines | ||
+ | # Exemple: DOMAINS=" | ||
+ | | ||
+ | # Petite boucle qui va bien | ||
+ | for d in ${DOMAINS} | ||
+ | do | ||
+ | ${AWS} -update -config=${d} | ||
+ | done | ||
+ | Vous n'avez qu'a modifier le contenu de la variable domaines en fonctions de vos domaines.\\ Tous les jours le systeme se chargera de générer des statsitiques pour vous :-) | ||
+ | |||
+ | |||
+ | === Solution 3 === | ||
+ | Contrib: Pépou06 | ||
+ | |||
+ | Vérifier que vous avez bien l' | ||
+ | |||
+ | Ouvrez un terminal : | ||
+ | |||
+ | sudo crontab -e | ||
+ | |||
+ | Ajouter la ligne (ici la mise à jour se fera tous les jours à 2 heures du matin) : | ||
+ | |||
+ | 0 2 * * * perl / | ||
+ | |||
+ | Sauvergarder, | ||
+ | |||
+ | sudo / | ||
+ | |||
+ | Pour voir si le fichier a bien été modifié : | ||
+ | |||
+ | sudo crontab -l | ||
+ | |||
+ | Vous avez ainsi la liste de toutes les tâches qui s' | ||
+ | |||
+ | === Solution 4 === | ||
+ | |||
+ | //(Ne connaissant ni emacs, ni nano, je propose **vi** qui est fourni de base :D )// | ||
+ | |||
+ | Si vous avez respecte le format de noms de fichier de config : / | ||
+ | |||
+ | Alors il existe une solution pour mettre a jour l' | ||
+ | |||
+ | < | ||
+ | vi / | ||
+ | </ | ||
+ | |||
+ | Par exemple pour une generation des stats toutes les dix minutes, | ||
+ | sur l' | ||
+ | |||
+ | < | ||
+ | */10 * * * * root / | ||
+ | </ | ||
+ | |||
+ | ==== logrotate (rotation des logs) ==== | ||
+ | |||
+ | La rotation des logs a pour effet de supprimer les logs apaches. Si une rotation intervient avant que les stats aient été lancées, on risque de perdre une partie des statistiques. Pour éviter ce problème, il suffit de lancer le script de mise à jour des stats juste avant que la rotation ne s' | ||
+ | |||
+ | Pour ce faire, il faut modifier le script de rotation des logs de la façon suivante : | ||
+ | |||
+ | cd / | ||
+ | |||
+ | sudo gedit apache2 | ||
+ | |||
+ | Ajouter ces trois lignes juste avant postrotate : | ||
+ | |||
+ | | ||
+ | su - root -c "/ | ||
+ | | ||
+ | |||
+ | ===== Remarques ===== | ||
+ | |||
+ | |||
+ | |||
+ | ==== Adblock Plus ==== | ||
+ | |||
+ | Des scripts Adblock un peu trop virulents, blacklistent complètement awstats. Ne pas passer trois heures à se demander ce qui se passe (comme moi), alors qu'il suffit de désactiver Adblock. | ||
+ | |||
+ | ==== dans le cas de virtual host ==== | ||
+ | |||
+ | |||
+ | Pour analyser les logs de chaque vhost, apache doit être configuré. Voici donc un exemple de configuration de vhost: | ||
+ | |||
+ | < | ||
+ | < | ||
+ | ServerAdmin email@site.com | ||
+ | DocumentRoot / | ||
+ | ServerName www.site.com | ||
+ | ErrorLog / | ||
+ | CustomLog / | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ==== Dans le cas d'un serveur apache2 avec la directive ChrootDir ==== | ||
+ | |||
+ | Comme le serveur **apache2** fonctionne en environnemnt chrooté, awstats ne peux pas être installé en tant que script CGI, (Perl n'est pas présent dans le chroot). Il sera donc installé en dehors, avec une génération de pages statiques accessibles par le serveur **Apache**. | ||
+ | |||
+ | === Création du fichier d'un configuration awstats spécifique === | ||
+ | |||
+ | <code bash> | ||
+ | sudo sh -c "zcat / | ||
+ | sudo chmod 644 / | ||
+ | </ | ||
+ | |||
+ | Editez ensuite ce fichier et modifiez les lignes suivantes pour mettre les paramètres adapté à votre configuration : | ||
+ | |||
+ | <code file> | ||
+ | LogFile="/ | ||
+ | SiteDomain=" | ||
+ | DNSLookup=1 | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | |||
+ | Premier lancement : <code bash> | ||
+ | |||
+ | === Génération des pages statiques et création du cron === | ||
+ | |||
+ | Génération des pages statiques : | ||
+ | <code bash> | ||
+ | sudo mkdir / | ||
+ | sudo cp -R / | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | C'est un choix personnel de copier les icônes directement dans le dossier où seront placées les pages statiques générées. | ||
+ | </ | ||
+ | |||
+ | Créez ensuite le fichier **/ | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | |||
+ | / | ||
+ | </ | ||
+ | |||
+ | Changez lui ses droits : <code bash> | ||
+ | |||
+ | === Création d'un site pour accéder à ces pages générées === | ||
+ | |||
+ | Créez le fichier // / | ||
+ | |||
+ | <code file> | ||
+ | < | ||
+ | ServerAdmin email@site.com | ||
+ | ServerName awstats.ubuntu-fr.org | ||
+ | DocumentRoot / | ||
+ | ErrorLog / | ||
+ | CustomLog / | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Puis lancer la ligne de commande : <code bash> | ||
+ | |||
+ | Ajustez la gestion des droits d' | ||
+ | |||
+ | === Test final === | ||
+ | |||
+ | Dans votre navigateur préféré: taper l'URL: [[http:// | ||
+ | |||
+ | === Source === | ||
+ | |||
+ | * [[http:// | ||
+ | ===== Statistiques des mails (Postfix) ===== | ||
+ | |||
+ | ==== Configuration classique ===== | ||
+ | |||
+ | **Procéder ainsi :** | ||
+ | |||
+ | Rendez-vous dans le répertoire de configuration de awstats : | ||
+ | |||
+ | cd / | ||
+ | |||
+ | Créez le fichier awstats.mails.conf | ||
+ | |||
+ | sudo cp awstats.conf awstats.mails.conf | ||
+ | |||
+ | Modifiez les champs suivants : | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | Lancer la mise à jour des statistiques : | ||
+ | |||
+ | sudo / | ||
+ | |||
+ | Pour la mise à jour automatique des statistiques, | ||
+ | |||
+ | " | ||
+ | |||
+ | par | ||
+ | |||
+ | " | ||
+ | |||
+ | ==== Configuration multi-instance postfix ===== | ||
+ | |||
+ | Exemple de 2 files postfix: une pour le système et l' | ||
+ | |||
+ | * Rendez-vous dans le répertoire de configuration de awstats : <code bash>cd / | ||
+ | * Créez le fichier **awstats.mails-service.conf**: | ||
+ | * Modifiez le champ suivant :<code file> | ||
+ | * Lancer la mise à jour des statistiques : <code bash> | ||
+ | * Pour la mise à jour automatique des statistiques, | ||
+ | ===== Voir aussi ===== | ||
+ | |||
+ | * **(en)** [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | ---- | ||
+ | // |