Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
awstats [Le 04/04/2011, 16:48] – Ajout de la configuration d'awstats pour une seconde file postfix matt_rodatawstats [Le 19/12/2022, 12:54] (Version actuelle) – page largement obsolete 78.196.241.242
Ligne 1: Ligne 1:
-{{tag>serveur}}+{{tag>serveur obsolete brouillon}}
  
 ---- ----
Ligne 50: Ligne 50:
 ==== Tester l'analyse des logs ==== ==== Tester l'analyse des logs ====
  
-<code>sudo /usr/lib/cgi-bin/awstats.pl -config=ma_machine.mon_domaine.mon_pays update</code>+<code>sudo /usr/lib/cgi-bin/awstats.pl -config=ma_machine.mon_domaine.mon_pays -update</code>
  ... quelques instants plus tard, si tout va bien ...  ... quelques instants plus tard, si tout va bien ...
 <code> <code>
Ligne 66: Ligne 66:
 </code> </code>
  
-=== Ajouter l'analyse des logs archivés === +=== Ajouter l'analyse des logs archivés:  === 
 +<note warning>Attention le script qui suit est mauvais, potenteillemnt dangereux, et doit être corrigé</note>
 <code> <code>
 +cd /var/lib/awstats
 +rm *
 cd /var/log/apache* cd /var/log/apache*
- +for i in `ls -tr access.log.*.gz`  
-for i in access.log.*.gzdo +do 
-    zcat $i | /usr/lib/cgi-bin/awstats.pl -config=ma_machine.mon_domaine.mon_pays -update -LogFile=-;+ echo "Fichier traité: $i" 
 + zcat $i | /usr/lib/cgi-bin/awstats.pl -config=ma_machine_mon_domaine.com -update -LogFile=-
 done done
 +</code> 
 +
 +Il faut créer un fichier et mettre le script dedans :
 +<code>
 +vim mon_script_ajout_de_logs.sh
 </code> </code>
 +
 +Ajouter le code en faisant, passer en mode édition :i, puis maj + touch "ins" pour coller le contenu qu'on aura copié précédemment. Pour sauvegarder et quitter dans vim : echap, puis :wq
 +Donner les droits d'execution et le lancer :
 +<code>
 +chmod +x vim mon_script_ajout_de_logs.sh
 +sudo ./mon_script_ajout_de_logs.sh
 +</code>
 +
 +
 +FIXME Le script doit être lancé avec sudo.
  
  
Ligne 83: Ligne 101:
 Il y a un fichier par mois et par site. Il y a un fichier par mois et par site.
  
 +<note tip> 
 +S'il y a des "trous" dans les stats, c'est que le cron est passé par là en cours traitement, solution : 
 +  * commenter les 2 lignes de /etc/cron.d/awstats (ajouter le caractère # devant) 
 +  * lancer le traitement 
 +  * decommenter les lignes (supprimer le #) 
 +</note>
 ==== Voir les statistiques dans une belle interface web ==== ==== Voir les statistiques dans une belle interface web ====
  
 D'abord créez un alias pour apache. D'abord créez un alias pour apache.
  
-[[[[:tutoriel:comment_modifier_un_fichier|Créez le fichier]] **/etc/apache2/sites-available/awstats** et ajoutez-lui ceci :+[[[[:tutoriel:comment_modifier_un_fichier|Créez le fichier]] **/etc/apache2/conf-available/awstats.conf** et ajoutez-lui ceci :
  
 <file>Alias /awstatsclasses "/usr/share/awstats/classes/" <file>Alias /awstatsclasses "/usr/share/awstats/classes/"
Ligne 94: Ligne 117:
 Alias /awstats-icon "/usr/share/awstats/icon/" Alias /awstats-icon "/usr/share/awstats/icon/"
  
-ScriptAlias /stats /usr/lib/cgi-bin/awstats.pl+  <IfVersion < 2.3> 
 +     ScriptAlias /stats /usr/lib/cgi-bin/awstats.pl 
 +  </IfVersion>    
 +  <IfVersion >= 2.3> 
 +      ScriptAlias /stats /usr/lib/cgi-bin/ 
 +   </IfVersion> 
  
 # mêmes paramètres que dans awstats.*.conf # mêmes paramètres que dans awstats.*.conf
Ligne 106: Ligne 135:
   Options +ExecCGI   Options +ExecCGI
   AllowOverride None   AllowOverride None
-  Order allow,deny +  <IfVersion < 2.3> 
-  Allow from all+      Order allow,deny 
 +      Allow from all 
 +  </IfVersion>  
 + <IfVersion >= 2.3> 
 +      Require all granted 
 +   </IfVersion>
 </Directory> </Directory>
 </file> </file>
-Puis créez un lien symbolique dans **/etc/apache2/sites-enabled** vers ce fichier, ou directement en ligne de commande : 
-<code>a2ensite awstats</code> 
  
-Ajustez la gestion des droits d'accès selon votre besoin de confidentialité ;-) +Ajustez la gestion des droits d'accès selon votre besoin de confidentialité;-) 
-<note important>Attention : dans cet exemple, votre page de statistiques sera accessible pour n'importe quel utilisateur. Si vous ne souhaitez la rendre accessible que pour vous seul, pensez à modifier la ligne suivante : +<note important>Attention : dans cet exemple, votre page de statistiques sera accessible pour n'importe quel utilisateur. Si vous ne souhaitez la rendre accessible que pour vous seul, pensez à modifier la ligne suivante :
 <code>Allow from all</code> en <code>Allow from 127.0.0.1</code>  <code>Allow from all</code> en <code>Allow from 127.0.0.1</code> 
 </note> </note>
  
-Enjoy :+<note important>Attention Si vous souhaitez protéger l’accès à votre page de statistiques AWStats en utilisant l'authentification apache. Il faudra éditer **/etc/apache2/conf-available/serve-cgi-bin.conf** et remplacer : 
 +<code>AllowOverride None</code> en <code>AllowOverride AuthConfig</code>  
 +</note>
  
 +Activer la configuration créée \\
 +<code>a2enconf awstats</code>
 +
 +Relancer apache \\
 +<code>systemctl reload apache2</code>
 +
 +Enjoy : \\
 http://ma_machine.mon_domaine.mon_pays/cgi-bin/awstats.pl http://ma_machine.mon_domaine.mon_pays/cgi-bin/awstats.pl
 et même si tout va bien : et même si tout va bien :
 http://ma_machine.mon_domaine.mon_pays/stats/ http://ma_machine.mon_domaine.mon_pays/stats/
  
-en cas de 404, voir ce post : http://forum.ubuntu-fr.org/viewtopic.php?pid=1482311#p1482311 +Il se peut que le code ne soit pas interprété par le navigateurIl faut alors permettre l'exécution des scripts cgi par apacheOn active le module cgi \\ 
 +<code>a2enmod cgi</code> 
 +Relancer apache \\ 
 +<code>systemctl reload apache2</code>
 ===== Ajouter des plugins à Awstats ===== ===== Ajouter des plugins à Awstats =====
  
Ligne 141: Ligne 184:
   * Récuperer la base GeoIp [[http://www.maxmind.com/download/geoip/database/GeoLiteCountry/|à l'adresse suivante]]. Vous pourrez téléchargez cette base tous les mois (car MaxMind la met à jour mensuellement).   * Récuperer la base GeoIp [[http://www.maxmind.com/download/geoip/database/GeoLiteCountry/|à l'adresse suivante]]. Vous pourrez téléchargez cette base tous les mois (car MaxMind la met à jour mensuellement).
  
-  * Placez le fichier dans le fichier **/usr/share/awstats/lib/**, puis dézippez le avec la commande //gunzip GeoIP.dat.gz//+  * Placez le fichier dans le répertoire **/usr/share/awstats/lib/**, puis dézippez le avec la commande //gunzip GeoIP.dat.gz//
  
 <note tip>Vous pouvez automatiser ces deux étapes en rajoutant par exemple dans [[cron]] (dans un terminal, tapez **sudo crontab -e**) la commande : <note tip>Vous pouvez automatiser ces deux étapes en rajoutant par exemple dans [[cron]] (dans un terminal, tapez **sudo crontab -e**) la commande :
Ligne 147: Ligne 190:
 </note> </note>
  
-  * Ensuite, il vous faut récupérer le fichier **PurePerl.pm** que vous trouverez à l'adresse [[http://www.maxmind.com/download/geoip/api/pureperl/|http://www.maxmind.com/download/geoip/api/pureperl/]]. Vous devrez désarchiver le fichier (version actuelle: **Geo-IP-PurePerl-1.25.tar.gz**) avec la commande //tar xzf Geo-IP-PurePerl-1.25.tar.gz//+  * Ensuite, il vous faut récupérer le fichier **PurePerl.pm** que vous trouverez à l'adresse [[http://geolite.maxmind.com/download/geoip/api/pureperl/Geo-IP-PurePerl-1.25.tar.gz]] . Vous devrez désarchiver le fichier (version actuelle: **Geo-IP-PurePerl-1.25.tar.gz**) avec la commande //tar xzf Geo-IP-PurePerl-1.25.tar.gz//
  
   * Copiez le fichier PurePerl.pm qui se trouve le répertoire lib/Geo/Ip dans le répertoire /usr/share/awstats/lib/   * Copiez le fichier PurePerl.pm qui se trouve le répertoire lib/Geo/Ip dans le répertoire /usr/share/awstats/lib/
Ligne 153: Ligne 196:
   * Modifiez le fichier PurePerl.pm aux alentours de la ligne 213 (Fonction: //sub new//) en indiquant le chemin absolu d'accès à la base GeoIP.dat (/usr/share/awstats/lib/)   * Modifiez le fichier PurePerl.pm aux alentours de la ligne 213 (Fonction: //sub new//) en indiquant le chemin absolu d'accès à la base GeoIP.dat (/usr/share/awstats/lib/)
  
-  * Modifiez le fichier **geoip.pm** dans le répertoire /usr/share/awstats/plugins, à la ligne **if (!eval ('require "Geo/IP/PurePerl.pm")) {** (aux alentours de la ligne 20, entête de la fonction: # ENTER HERE THE USE COMMAND FOR ALL REQUIRED PERL MODULES) en remplaçant **Geo/IP/PurePerl.pm** par le chemin absolu du fichier **/usr/share/awstats/lib/PurePerl.pm** +  * Modifiez le fichier **geoip.pm** dans le répertoire /usr/share/awstats/plugins, à la ligne **if (!eval ('require "Geo/IP/PurePerl.pm")) {** (aux alentours de la ligne 21, entête de la fonction: # ENTER HERE THE USE COMMAND FOR ALL REQUIRED PERL MODULES) en remplaçant **Geo/IP/PurePerl.pm** par le chemin absolu du fichier **/usr/share/awstats/lib/PurePerl.pm**
  
   * Ensuite, il ne vous reste plus qu'à ajouter le code suivant à la fin de votre fichier de configuration de votre site :<file># Plugin: GeoIP   * Ensuite, il ne vous reste plus qu'à ajouter le code suivant à la fin de votre fichier de configuration de votre site :<file># Plugin: GeoIP
Ligne 159: Ligne 202:
 # Country chart is built from an Internet IP-Country database. # Country chart is built from an Internet IP-Country database.
 # This plugin is useless for intranet only log files. # This plugin is useless for intranet only log files.
-# Note: You must choose between using this plugin (need Perl Geo::IP module +# 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 # from Maxmind, database more up to date) or the GeoIPfree plugin (need
 # Perl Geo::IPfree module, database less up to date). # Perl Geo::IPfree module, database less up to date).
Ligne 168: Ligne 211:
 <note help>Si après ceci vous obtenez : <note help>Si après ceci vous obtenez :
 <code>Error: Plugin init for plugin 'geoip' failed with return code: Undefined subroutine &Geo::IP::GEOIP_STANDARD called at /usr/share/awstats/plugins/geoip.pm line 69. (A module required by plugin might be missing).</code>  <code>Error: Plugin init for plugin 'geoip' failed with return code: Undefined subroutine &Geo::IP::GEOIP_STANDARD called at /usr/share/awstats/plugins/geoip.pm line 69. (A module required by plugin might be missing).</code> 
-Il faut aussi modifier le fichier **/usr/share/awstats/plugins/geoip.pm** à la ligne 197 <code>$type='geoip';</code> par <code>$type='geoippureperl';</code>+Il faut aussi modifier le fichier **/usr/share/awstats/plugins/geoip.pm** à la ligne 17 <code>$type='geoip';</code> par <code>$type='geoippureperl';</code>
 </note> </note>
  
Ligne 272: Ligne 315:
  
 <code> <code>
-0,10,20,30,40,50 * * * * www-data [ -x /usr/lib/cgi-bin/awstats.pl -a -f /etc/awstats/awstats.conf -a -r /var/log/apache/access.log ] && /usr/lib/cgi-bin/aws+*/10 * * * * www-data [ -x /usr/lib/cgi-bin/awstats.pl -a -f /etc/awstats/awstats.conf -a -r /var/log/apache/access.log ] && /usr/lib/cgi-bin/aws
 tats.pl -config=awstats -update >/dev/null tats.pl -config=awstats -update >/dev/null
 </code> </code>
Ligne 279: Ligne 322:
  
 <code> <code>
-0,10,20,30,40,50 * * * *+*/10 * * * *
 </code> </code>
  
Ligne 379: Ligne 422:
  
 <code> <code>
-0,5,10,15,20,25,30,35,40,45,50,55 * * * * root /usr/share/doc/awstats/examples/awstats_updateall.pl -awstatsprog=/usr/lib/cgi-bin/awstats.pl now > /dev/null+*/10 * * * * root /usr/share/doc/awstats/examples/awstats_updateall.pl -awstatsprog=/usr/lib/cgi-bin/awstats.pl now > /dev/null
 </code> </code>
  
Ligne 482: Ligne 525:
 Puis lancer la ligne de commande : <code bash>sudo a2ensite awstats</code> Puis lancer la ligne de commande : <code bash>sudo a2ensite awstats</code>
  
-Ajustez la gestion des droits d'accès selon votre besoin de confidentialité +Ajustez la gestion des droits d'accès selon votre besoin de confidentialité
  
 === Test final === === Test final ===
Ligne 488: Ligne 531:
 Dans votre navigateur préféré: taper l'URL: [[http://awstats.ubuntu-fr.org/]] Dans votre navigateur préféré: taper l'URL: [[http://awstats.ubuntu-fr.org/]]
  
-=== Source === +=== Source ===
  
   * [[http://nicolas.agius.pagesperso-orange.fr/linux/docs/awstats.htm]]   * [[http://nicolas.agius.pagesperso-orange.fr/linux/docs/awstats.htm]]
Ligne 543: Ligne 586:
    ShowSMTPErrorsStats=1    ShowSMTPErrorsStats=1
  
-Lancer la mise à jour des statistiques : +Lancer la mise à jour des statistiques :
  
    sudo /usr/lib/cgi-bin/awstats.pl -config=mails -update    sudo /usr/lib/cgi-bin/awstats.pl -config=mails -update
Ligne 561: Ligne 604:
   * Rendez-vous dans le répertoire de configuration de awstats : <code bash>cd /etc/awstats</code>   * Rendez-vous dans le répertoire de configuration de awstats : <code bash>cd /etc/awstats</code>
   * Créez le fichier **awstats.mails-service.conf**: <code bash>sudo cp awstats-mails.conf awstats.mails-service.conf</code>   * Créez le fichier **awstats.mails-service.conf**: <code bash>sudo cp awstats-mails.conf awstats.mails-service.conf</code>
-  * Modifiez les champs suivants :<code file>LogFile="grep postfix-service /var/log/mail.log | sed -e "s:postfix-service:postfix:" | perl /usr/share/doc/awstats/examples/maillogconvert.pl standard |"</code> +  * Modifiez le champ suivant :<code file>LogFile="grep postfix-service /var/log/mail.log | sed -e "s:postfix-service:postfix:" | perl /usr/share/doc/awstats/examples/maillogconvert.pl standard |"</code> 
-  * Lancer la mise à jour des statistiques : <code bash>sudo /usr/lib/cgi-bin/awstats.pl -config=mails-service -update</code>+  * Lancer la mise à jour des statistiques :<code bash>sudo /usr/lib/cgi-bin/awstats.pl -config=mails-service -update</code>
   * Pour la mise à jour automatique des statistiques, cf solution 3 en remplaçant :<code file>-config=votredomaine.tld -update</code>par<code file>-config=mails -update</code>   * Pour la mise à jour automatique des statistiques, cf solution 3 en remplaçant :<code file>-config=votredomaine.tld -update</code>par<code file>-config=mails -update</code>
 ===== Voir aussi ===== ===== Voir aussi =====
  
   * **(en)** [[http://awstats.sourceforge.net|Site officiel de AWStats]]   * **(en)** [[http://awstats.sourceforge.net|Site officiel de AWStats]]
-  * [[http://www.system-linux.eu/index.php?post/2008/12/04/Statistique-pour-vos-sites-internet|Piwik]] - une alternative à Awstats qui n'utilise pas les logs apache, et qui produit des statistiques utilisant des graphiques en flash+  * [[https://www.system-linux.eu/index.php?post/2008/12/04/Statistique-pour-vos-sites-internet|Piwik]] - une alternative à Awstats qui n'utilise pas les logs apache, et qui produit des statistiques utilisant des graphiques en flash
   * [[http://www.mrunix.net/webalizer/|Webalizer]] - une alternative à Awstats.   * [[http://www.mrunix.net/webalizer/|Webalizer]] - une alternative à Awstats.
   * [[http://pwet.fr/blog/statistiques_web_avec_awstats_sous_ubuntu_en_mode_cgi|Statistiques web avec AWStats sous Ubuntu en mode CGI]]   * [[http://pwet.fr/blog/statistiques_web_avec_awstats_sous_ubuntu_en_mode_cgi|Statistiques web avec AWStats sous Ubuntu en mode CGI]]
-  * [[http://www.baudelet.net/awstats-plugins.htm|Extras et plugins sur Baudelet]]+  * [[https://www.baudelet.net/awstats-plugins.htm|Extras et plugins sur Baudelet]]
   * [[http://dedibox.echosblogs.org/post/608/1754|Configurer sa Dédibox sous Ubuntu 6.06 LTS]]   * [[http://dedibox.echosblogs.org/post/608/1754|Configurer sa Dédibox sous Ubuntu 6.06 LTS]]
  
 ---- ----
 //Contributeurs : ...// //Contributeurs : ...//