Logfileanalyse und -Auswertung mit (Better-)AWStats unter CentOS 6.x
Zum Auswerten unserer Logfiles, wie z.B. Apache-WEB-Server oder Postfix-Mail-Server, verwenden wir AWStats. Welche Funktionen AWStats im Detail bietet, entnehmen wir entweder der Beschreibung auf der AWStats-Homepage, oder der Beschreibung im RPM-Paket.
# yum info awstats Name : awstats ... Summary: Powerful and fullfeatured server logfile analyzer Description: Advanced Web Statistics is a powerful and featureful tool that generates advanced web server graphic statistics. This server log analyzer works from command line or as a CGI and shows you all information your log contains, in graphical web pages. It can analyze a lot of web/wap/proxy servers like Apache, IIS, Weblogic, Webstar, Squid, ... but also mail or ftp servers. This program can measure visits, unique vistors, authenticated users, pages, domains/countries, OS busiest times, robot visits, type of files, search engines/keywords used, visits duration, HTTP errors and more... Statistics can be updated from a browser or your scheduler. The program also supports virtual servers, plugins and a lot of features.
AWStats besteht im Grunde aus zwei Teilen - sprich zwei Perl-Scripten. Das erste Modul erstellt an Hand der gewählten LOG-Files entsprechende zusammengefasste Statistikfiles. Das zweite Script hat dann zur Aufgabe, die vom Script-Nummero 1 bereits aufbereiteten Daten für, oder besser gesagt beim Webzugriff passend darzustellen.
Voraussetzungen
Damit AWStats installiert werden kann, sind folgende Voraussetzungen zu erfüllen:
- Es steht ein lauffähiger Apache-WEB-Server,
- und ferner steht im System die Script-Sprache Perl zur Verfügung.
- Installation des PHP-Moduls GD.
Diese Punkte sollten keine großen Hürden darstellen, oder? :)
Bei Bedarf installieren wir also noch das besagte PHP-Modul.
# yum install php-gd
Die Pflicht - AWStats (RPM-Installation)
Die Installation des Paketes awstats nehmen wir - wie soll es anders sein - mittels YUM vor.
# yum install awstats -y
Ein Blick in das RPM zeigt uns wie immer, welche Dateien und Verzeichnisse bei der Installation des Paketes ins System gebracht wurden.
# rpm -qil awstats
Name : awstats Relocations: (not relocatable) Version : 7.0 Vendor: Dag Apt Repository, http://dag.wieers.com/apt/ Release : 2.el6.rf Build Date: Sat 09 Apr 2011 11:32:57 AM CEST Install Date: Tue 03 Jul 2012 05:53:38 PM CEST Build Host: lisse.hasselt.wieers.com Group : Applications/Internet Source RPM: awstats-7.0-2.el6.rf.src.rpm Size : 3372221 License: GPL Signature : DSA/SHA1, Sun 10 Apr 2011 03:14:22 AM CEST, Key ID a20e52146b8d79e6 Packager : Dag Wieers <dag@wieers.com> URL : http://awstats.sourceforge.net/ Summary : Powerful and fullfeatured server logfile analyzer Description : Advanced Web Statistics is a powerful and featureful tool that generates advanced web server graphic statistics. This server log analyzer works from command line or as a CGI and shows you all information your log contains, in graphical web pages. It can analyze a lot of web/wap/proxy servers like Apache, IIS, Weblogic, Webstar, Squid, ... but also mail or ftp servers. This program can measure visits, unique vistors, authenticated users, pages, domains/countries, OS busiest times, robot visits, type of files, search engines/keywords used, visits duration, HTTP errors and more... Statistics can be updated from a browser or your scheduler. The program also supports virtual servers, plugins and a lot of features. /etc/awstats /etc/awstats/awstats.localhost.localdomain.conf /etc/awstats/awstats.model.conf /etc/cron.hourly/00awstats /etc/httpd/conf.d/awstats.conf /usr/bin/awstats_buildstaticpages.pl /usr/bin/awstats_exportlib.pl /usr/bin/awstats_updateall.pl /usr/bin/logresolvemerge.pl /usr/bin/maillogconvert.pl /usr/bin/urlaliasbuilder.pl /usr/share/doc/awstats-7.0 /usr/share/doc/awstats-7.0/COPYING.TXT /usr/share/doc/awstats-7.0/LICENSE.TXT /usr/share/doc/awstats-7.0/README.TXT /usr/share/doc/awstats-7.0/awstats.pdf /usr/share/doc/awstats-7.0/awstats_benchmark.html /usr/share/doc/awstats-7.0/awstats_changelog.txt /usr/share/doc/awstats-7.0/awstats_compare.html /usr/share/doc/awstats-7.0/awstats_config.html /usr/share/doc/awstats-7.0/awstats_contrib.html /usr/share/doc/awstats-7.0/awstats_dev_plugins.html /usr/share/doc/awstats-7.0/awstats_dev_plugins_graphs.html /usr/share/doc/awstats-7.0/awstats_dev_plugins_hooks.html /usr/share/doc/awstats-7.0/awstats_dolibarr.html /usr/share/doc/awstats-7.0/awstats_extra.html /usr/share/doc/awstats-7.0/awstats_faq.html /usr/share/doc/awstats-7.0/awstats_glossary.html /usr/share/doc/awstats-7.0/awstats_license.html /usr/share/doc/awstats-7.0/awstats_security.html /usr/share/doc/awstats-7.0/awstats_setup.html /usr/share/doc/awstats-7.0/awstats_tools.html /usr/share/doc/awstats-7.0/awstats_upgrade.html /usr/share/doc/awstats-7.0/awstats_webmin.html /usr/share/doc/awstats-7.0/awstats_what.html /usr/share/doc/awstats-7.0/images /usr/share/doc/awstats-7.0/images/awstats.gif /usr/share/doc/awstats-7.0/images/awstats.ico /usr/share/doc/awstats-7.0/images/awstats.png /usr/share/doc/awstats-7.0/images/awstats_logo1.gif /usr/share/doc/awstats-7.0/images/awstats_logo1.png /usr/share/doc/awstats-7.0/images/awstats_logo2.gif /usr/share/doc/awstats-7.0/images/awstats_logo2.png /usr/share/doc/awstats-7.0/images/awstats_logo3.gif /usr/share/doc/awstats-7.0/images/awstats_logo3.png /usr/share/doc/awstats-7.0/images/awstats_logo4.gif /usr/share/doc/awstats-7.0/images/awstats_logo4.png /usr/share/doc/awstats-7.0/images/awstats_logo5.gif /usr/share/doc/awstats-7.0/images/awstats_logo5.png /usr/share/doc/awstats-7.0/images/awstats_logo6.png /usr/share/doc/awstats-7.0/images/license_chart.png /usr/share/doc/awstats-7.0/images/screen_shot_1.gif /usr/share/doc/awstats-7.0/images/screen_shot_1.jpg /usr/share/doc/awstats-7.0/images/screen_shot_1.png /usr/share/doc/awstats-7.0/images/screen_shot_2.png /usr/share/doc/awstats-7.0/images/screen_shot_3.png /usr/share/doc/awstats-7.0/images/screen_shot_4.png /usr/share/doc/awstats-7.0/images/screen_shot_5.png /usr/share/doc/awstats-7.0/images/screen_shot_large_1.jpg /usr/share/doc/awstats-7.0/images/screen_shot_large_2.jpg /usr/share/doc/awstats-7.0/images/screen_shot_large_3.jpg /usr/share/doc/awstats-7.0/images/screen_shot_large_4.jpg /usr/share/doc/awstats-7.0/images/screen_shot_large_5.jpg /usr/share/doc/awstats-7.0/images/star.png /usr/share/doc/awstats-7.0/index.html /usr/share/doc/awstats-7.0/pad_awstats.xml /usr/share/doc/awstats-7.0/scripts /usr/share/doc/awstats-7.0/scripts/lang-apollo.js /usr/share/doc/awstats-7.0/scripts/lang-css.js /usr/share/doc/awstats-7.0/scripts/lang-hs.js /usr/share/doc/awstats-7.0/scripts/lang-lisp.js /usr/share/doc/awstats-7.0/scripts/lang-lua.js /usr/share/doc/awstats-7.0/scripts/lang-ml.js /usr/share/doc/awstats-7.0/scripts/lang-proto.js /usr/share/doc/awstats-7.0/scripts/lang-sql.js /usr/share/doc/awstats-7.0/scripts/lang-vb.js /usr/share/doc/awstats-7.0/scripts/lang-wiki.js /usr/share/doc/awstats-7.0/scripts/prettify.css /usr/share/doc/awstats-7.0/scripts/prettify.js /usr/share/doc/awstats-7.0/styles.css /var/www/awstats /var/www/awstats/awredir.pl /var/www/awstats/awstats.pl /var/www/awstats/classes /var/www/awstats/classes/awgraphapplet.jar /var/www/awstats/css /var/www/awstats/css/awstats_bw.css /var/www/awstats/css/awstats_default.css /var/www/awstats/icon /var/www/awstats/icon/browser /var/www/awstats/icon/browser/abilon.png /var/www/awstats/icon/browser/adobe.png /var/www/awstats/icon/browser/akregator.png /var/www/awstats/icon/browser/alcatel.png /var/www/awstats/icon/browser/amaya.png /var/www/awstats/icon/browser/amigavoyager.png /var/www/awstats/icon/browser/analogx.png /var/www/awstats/icon/browser/android.png /var/www/awstats/icon/browser/apt.png /var/www/awstats/icon/browser/avant.png /var/www/awstats/icon/browser/aweb.png /var/www/awstats/icon/browser/bpftp.png /var/www/awstats/icon/browser/bytel.png /var/www/awstats/icon/browser/chimera.png /var/www/awstats/icon/browser/chrome.png /var/www/awstats/icon/browser/cyberdog.png /var/www/awstats/icon/browser/da.png /var/www/awstats/icon/browser/dillo.png /var/www/awstats/icon/browser/doris.png /var/www/awstats/icon/browser/dreamcast.png /var/www/awstats/icon/browser/ecatch.png /var/www/awstats/icon/browser/encompass.png /var/www/awstats/icon/browser/epiphany.png /var/www/awstats/icon/browser/ericsson.png /var/www/awstats/icon/browser/feeddemon.png /var/www/awstats/icon/browser/feedreader.png /var/www/awstats/icon/browser/firefox.png /var/www/awstats/icon/browser/flashget.png /var/www/awstats/icon/browser/flock.png /var/www/awstats/icon/browser/fpexpress.png /var/www/awstats/icon/browser/fresco.png /var/www/awstats/icon/browser/freshdownload.png /var/www/awstats/icon/browser/frontpage.png /var/www/awstats/icon/browser/galeon.png /var/www/awstats/icon/browser/getright.png /var/www/awstats/icon/browser/gnome.png /var/www/awstats/icon/browser/gnus.png /var/www/awstats/icon/browser/gozilla.png /var/www/awstats/icon/browser/hotjava.png /var/www/awstats/icon/browser/httrack.png /var/www/awstats/icon/browser/ibrowse.png /var/www/awstats/icon/browser/icab.png /var/www/awstats/icon/browser/icecat.png /var/www/awstats/icon/browser/iceweasel.png /var/www/awstats/icon/browser/java.png /var/www/awstats/icon/browser/jetbrains_omea.png /var/www/awstats/icon/browser/kmeleon.png /var/www/awstats/icon/browser/konqueror.png /var/www/awstats/icon/browser/leechget.png /var/www/awstats/icon/browser/lg.png /var/www/awstats/icon/browser/lotusnotes.png /var/www/awstats/icon/browser/lynx.png /var/www/awstats/icon/browser/macweb.png /var/www/awstats/icon/browser/mediaplayer.png /var/www/awstats/icon/browser/motorola.png /var/www/awstats/icon/browser/mozilla.png /var/www/awstats/icon/browser/mplayer.png /var/www/awstats/icon/browser/msie.png /var/www/awstats/icon/browser/msie_large.png /var/www/awstats/icon/browser/multizilla.png /var/www/awstats/icon/browser/ncsa_mosaic.png /var/www/awstats/icon/browser/neon.png /var/www/awstats/icon/browser/netnewswire.png /var/www/awstats/icon/browser/netpositive.png /var/www/awstats/icon/browser/netscape.png /var/www/awstats/icon/browser/netscape_large.png /var/www/awstats/icon/browser/netshow.png /var/www/awstats/icon/browser/newsfire.png /var/www/awstats/icon/browser/newsgator.png /var/www/awstats/icon/browser/newzcrawler.png /var/www/awstats/icon/browser/nokia.png /var/www/awstats/icon/browser/notavailable.png /var/www/awstats/icon/browser/omniweb.png /var/www/awstats/icon/browser/opera.png /var/www/awstats/icon/browser/panasonic.png /var/www/awstats/icon/browser/pdaphone.png /var/www/awstats/icon/browser/philips.png /var/www/awstats/icon/browser/phoenix.png /var/www/awstats/icon/browser/pluck.png /var/www/awstats/icon/browser/pulpfiction.png /var/www/awstats/icon/browser/real.png /var/www/awstats/icon/browser/rss.png /var/www/awstats/icon/browser/rssbandit.png /var/www/awstats/icon/browser/rssowl.png /var/www/awstats/icon/browser/rssreader.png /var/www/awstats/icon/browser/rssxpress.png /var/www/awstats/icon/browser/safari.png /var/www/awstats/icon/browser/sagem.png /var/www/awstats/icon/browser/samsung.png /var/www/awstats/icon/browser/seamonkey.png /var/www/awstats/icon/browser/sharp.png /var/www/awstats/icon/browser/sharpreader.png /var/www/awstats/icon/browser/shrook.png /var/www/awstats/icon/browser/siemens.png /var/www/awstats/icon/browser/sony.png /var/www/awstats/icon/browser/staroffice.png /var/www/awstats/icon/browser/subversion.png /var/www/awstats/icon/browser/teleport.png /var/www/awstats/icon/browser/trium.png /var/www/awstats/icon/browser/unknown.png /var/www/awstats/icon/browser/w3c.png /var/www/awstats/icon/browser/webcopier.png /var/www/awstats/icon/browser/webreaper.png /var/www/awstats/icon/browser/webtv.png /var/www/awstats/icon/browser/webzip.png /var/www/awstats/icon/browser/winxbox.png /var/www/awstats/icon/browser/wizz.png /var/www/awstats/icon/clock /var/www/awstats/icon/clock/hr1.png /var/www/awstats/icon/clock/hr10.png /var/www/awstats/icon/clock/hr11.png /var/www/awstats/icon/clock/hr12.png /var/www/awstats/icon/clock/hr2.png /var/www/awstats/icon/clock/hr3.png /var/www/awstats/icon/clock/hr4.png /var/www/awstats/icon/clock/hr5.png /var/www/awstats/icon/clock/hr6.png /var/www/awstats/icon/clock/hr7.png /var/www/awstats/icon/clock/hr8.png /var/www/awstats/icon/clock/hr9.png /var/www/awstats/icon/cpu /var/www/awstats/icon/cpu/digital.png /var/www/awstats/icon/cpu/hp.png /var/www/awstats/icon/cpu/ibm.png /var/www/awstats/icon/cpu/intel.png /var/www/awstats/icon/cpu/java.png /var/www/awstats/icon/cpu/mips.png /var/www/awstats/icon/cpu/motorola.png /var/www/awstats/icon/cpu/sun.png /var/www/awstats/icon/cpu/unknown.png /var/www/awstats/icon/flags /var/www/awstats/icon/flags/a2.png /var/www/awstats/icon/flags/ac.png /var/www/awstats/icon/flags/ad.png /var/www/awstats/icon/flags/ae.png /var/www/awstats/icon/flags/aero.png /var/www/awstats/icon/flags/af.png /var/www/awstats/icon/flags/ag.png /var/www/awstats/icon/flags/ai.png /var/www/awstats/icon/flags/al.png /var/www/awstats/icon/flags/am.png /var/www/awstats/icon/flags/an.png /var/www/awstats/icon/flags/ao.png /var/www/awstats/icon/flags/aq.png /var/www/awstats/icon/flags/ar.png /var/www/awstats/icon/flags/arpa.png /var/www/awstats/icon/flags/as.png /var/www/awstats/icon/flags/at.png /var/www/awstats/icon/flags/au.png /var/www/awstats/icon/flags/aw.png /var/www/awstats/icon/flags/az.png /var/www/awstats/icon/flags/ba.png /var/www/awstats/icon/flags/bb.png /var/www/awstats/icon/flags/bd.png /var/www/awstats/icon/flags/be.png /var/www/awstats/icon/flags/bf.png /var/www/awstats/icon/flags/bg.png /var/www/awstats/icon/flags/bh.png /var/www/awstats/icon/flags/bi.png /var/www/awstats/icon/flags/biz.png /var/www/awstats/icon/flags/bj.png /var/www/awstats/icon/flags/bm.png /var/www/awstats/icon/flags/bn.png /var/www/awstats/icon/flags/bo.png /var/www/awstats/icon/flags/br.png /var/www/awstats/icon/flags/bs.png /var/www/awstats/icon/flags/bt.png /var/www/awstats/icon/flags/bv.png /var/www/awstats/icon/flags/bw.png /var/www/awstats/icon/flags/by.png /var/www/awstats/icon/flags/bz.png /var/www/awstats/icon/flags/ca.png /var/www/awstats/icon/flags/cc.png /var/www/awstats/icon/flags/cd.png /var/www/awstats/icon/flags/cf.png /var/www/awstats/icon/flags/cg.png /var/www/awstats/icon/flags/ch.png /var/www/awstats/icon/flags/ci.png /var/www/awstats/icon/flags/ck.png /var/www/awstats/icon/flags/cl.png /var/www/awstats/icon/flags/cm.png /var/www/awstats/icon/flags/cn.png /var/www/awstats/icon/flags/co.png /var/www/awstats/icon/flags/com.png /var/www/awstats/icon/flags/coop.png /var/www/awstats/icon/flags/cr.png /var/www/awstats/icon/flags/cs.png /var/www/awstats/icon/flags/cu.png /var/www/awstats/icon/flags/cv.png /var/www/awstats/icon/flags/cx.png /var/www/awstats/icon/flags/cy.png /var/www/awstats/icon/flags/cz.png /var/www/awstats/icon/flags/de.png /var/www/awstats/icon/flags/dj.png /var/www/awstats/icon/flags/dk.png /var/www/awstats/icon/flags/dm.png /var/www/awstats/icon/flags/do.png /var/www/awstats/icon/flags/dz.png /var/www/awstats/icon/flags/ec.png /var/www/awstats/icon/flags/edu.png /var/www/awstats/icon/flags/ee.png /var/www/awstats/icon/flags/eg.png /var/www/awstats/icon/flags/eh.png /var/www/awstats/icon/flags/en.png /var/www/awstats/icon/flags/er.png /var/www/awstats/icon/flags/es.png /var/www/awstats/icon/flags/es_cat.png /var/www/awstats/icon/flags/es_eu.png /var/www/awstats/icon/flags/et.png /var/www/awstats/icon/flags/eu.png /var/www/awstats/icon/flags/fi.png /var/www/awstats/icon/flags/fj.png /var/www/awstats/icon/flags/fk.png /var/www/awstats/icon/flags/fm.png /var/www/awstats/icon/flags/fo.png /var/www/awstats/icon/flags/fr.png /var/www/awstats/icon/flags/fx.png /var/www/awstats/icon/flags/ga.png /var/www/awstats/icon/flags/gb.png /var/www/awstats/icon/flags/gd.png /var/www/awstats/icon/flags/ge.png /var/www/awstats/icon/flags/gf.png /var/www/awstats/icon/flags/gh.png /var/www/awstats/icon/flags/gi.png /var/www/awstats/icon/flags/gl.png /var/www/awstats/icon/flags/glg.png /var/www/awstats/icon/flags/gm.png /var/www/awstats/icon/flags/gn.png /var/www/awstats/icon/flags/gov.png /var/www/awstats/icon/flags/gp.png /var/www/awstats/icon/flags/gq.png /var/www/awstats/icon/flags/gr.png /var/www/awstats/icon/flags/gs.png /var/www/awstats/icon/flags/gt.png /var/www/awstats/icon/flags/gu.png /var/www/awstats/icon/flags/gw.png /var/www/awstats/icon/flags/gy.png /var/www/awstats/icon/flags/hk.png /var/www/awstats/icon/flags/hm.png /var/www/awstats/icon/flags/hn.png /var/www/awstats/icon/flags/hr.png /var/www/awstats/icon/flags/ht.png /var/www/awstats/icon/flags/hu.png /var/www/awstats/icon/flags/i0.png /var/www/awstats/icon/flags/id.png /var/www/awstats/icon/flags/ie.png /var/www/awstats/icon/flags/il.png /var/www/awstats/icon/flags/im.png /var/www/awstats/icon/flags/in.png /var/www/awstats/icon/flags/info.png /var/www/awstats/icon/flags/int.png /var/www/awstats/icon/flags/io.png /var/www/awstats/icon/flags/ip.png /var/www/awstats/icon/flags/iq.png /var/www/awstats/icon/flags/ir.png /var/www/awstats/icon/flags/is.png /var/www/awstats/icon/flags/it.png /var/www/awstats/icon/flags/jm.png /var/www/awstats/icon/flags/jo.png /var/www/awstats/icon/flags/jp.png /var/www/awstats/icon/flags/ke.png /var/www/awstats/icon/flags/kg.png /var/www/awstats/icon/flags/kh.png /var/www/awstats/icon/flags/ki.png /var/www/awstats/icon/flags/km.png /var/www/awstats/icon/flags/kn.png /var/www/awstats/icon/flags/kp.png /var/www/awstats/icon/flags/kr.png /var/www/awstats/icon/flags/kw.png /var/www/awstats/icon/flags/ky.png /var/www/awstats/icon/flags/kz.png /var/www/awstats/icon/flags/la.png /var/www/awstats/icon/flags/lb.png /var/www/awstats/icon/flags/lc.png /var/www/awstats/icon/flags/li.png /var/www/awstats/icon/flags/lk.png /var/www/awstats/icon/flags/lr.png /var/www/awstats/icon/flags/ls.png /var/www/awstats/icon/flags/lt.png /var/www/awstats/icon/flags/lu.png /var/www/awstats/icon/flags/lv.png /var/www/awstats/icon/flags/ly.png /var/www/awstats/icon/flags/ma.png /var/www/awstats/icon/flags/mc.png /var/www/awstats/icon/flags/md.png /var/www/awstats/icon/flags/mg.png /var/www/awstats/icon/flags/mil.png /var/www/awstats/icon/flags/mk.png /var/www/awstats/icon/flags/ml.png /var/www/awstats/icon/flags/mm.png /var/www/awstats/icon/flags/mn.png /var/www/awstats/icon/flags/mo.png /var/www/awstats/icon/flags/mp.png /var/www/awstats/icon/flags/mq.png /var/www/awstats/icon/flags/mr.png /var/www/awstats/icon/flags/ms.png /var/www/awstats/icon/flags/mt.png /var/www/awstats/icon/flags/mu.png /var/www/awstats/icon/flags/museum.png /var/www/awstats/icon/flags/mv.png /var/www/awstats/icon/flags/mw.png /var/www/awstats/icon/flags/mx.png /var/www/awstats/icon/flags/my.png /var/www/awstats/icon/flags/mz.png /var/www/awstats/icon/flags/na.png /var/www/awstats/icon/flags/name.png /var/www/awstats/icon/flags/nato.png /var/www/awstats/icon/flags/nb.png /var/www/awstats/icon/flags/nc.png /var/www/awstats/icon/flags/ne.png /var/www/awstats/icon/flags/net.png /var/www/awstats/icon/flags/ng.png /var/www/awstats/icon/flags/ni.png /var/www/awstats/icon/flags/nl.png /var/www/awstats/icon/flags/nn.png /var/www/awstats/icon/flags/no.png /var/www/awstats/icon/flags/np.png /var/www/awstats/icon/flags/nr.png /var/www/awstats/icon/flags/nt.png /var/www/awstats/icon/flags/nu.png /var/www/awstats/icon/flags/nz.png /var/www/awstats/icon/flags/om.png /var/www/awstats/icon/flags/org.png /var/www/awstats/icon/flags/pa.png /var/www/awstats/icon/flags/pe.png /var/www/awstats/icon/flags/pf.png /var/www/awstats/icon/flags/pg.png /var/www/awstats/icon/flags/ph.png /var/www/awstats/icon/flags/pk.png /var/www/awstats/icon/flags/pl.png /var/www/awstats/icon/flags/pr.png /var/www/awstats/icon/flags/pro.png /var/www/awstats/icon/flags/ps.png /var/www/awstats/icon/flags/pt.png /var/www/awstats/icon/flags/py.png /var/www/awstats/icon/flags/qa.png /var/www/awstats/icon/flags/re.png /var/www/awstats/icon/flags/ro.png /var/www/awstats/icon/flags/rs.png /var/www/awstats/icon/flags/ru.png /var/www/awstats/icon/flags/rw.png /var/www/awstats/icon/flags/sa.png /var/www/awstats/icon/flags/sb.png /var/www/awstats/icon/flags/sc.png /var/www/awstats/icon/flags/sd.png /var/www/awstats/icon/flags/se.png /var/www/awstats/icon/flags/sg.png /var/www/awstats/icon/flags/si.png /var/www/awstats/icon/flags/sk.png /var/www/awstats/icon/flags/sm.png /var/www/awstats/icon/flags/sn.png /var/www/awstats/icon/flags/sr.png /var/www/awstats/icon/flags/st.png /var/www/awstats/icon/flags/su.png /var/www/awstats/icon/flags/sv.png /var/www/awstats/icon/flags/sy.png /var/www/awstats/icon/flags/sz.png /var/www/awstats/icon/flags/tc.png /var/www/awstats/icon/flags/td.png /var/www/awstats/icon/flags/tf.png /var/www/awstats/icon/flags/tg.png /var/www/awstats/icon/flags/th.png /var/www/awstats/icon/flags/tk.png /var/www/awstats/icon/flags/tm.png /var/www/awstats/icon/flags/tn.png /var/www/awstats/icon/flags/to.png /var/www/awstats/icon/flags/tr.png /var/www/awstats/icon/flags/tt.png /var/www/awstats/icon/flags/tv.png /var/www/awstats/icon/flags/tw.png /var/www/awstats/icon/flags/tz.png /var/www/awstats/icon/flags/ua.png /var/www/awstats/icon/flags/ug.png /var/www/awstats/icon/flags/uk.png /var/www/awstats/icon/flags/um.png /var/www/awstats/icon/flags/unknown.png /var/www/awstats/icon/flags/us.png /var/www/awstats/icon/flags/uy.png /var/www/awstats/icon/flags/uz.png /var/www/awstats/icon/flags/va.png /var/www/awstats/icon/flags/vc.png /var/www/awstats/icon/flags/ve.png /var/www/awstats/icon/flags/vg.png /var/www/awstats/icon/flags/vi.png /var/www/awstats/icon/flags/vn.png /var/www/awstats/icon/flags/vu.png /var/www/awstats/icon/flags/wf.png /var/www/awstats/icon/flags/wlk.png /var/www/awstats/icon/flags/ws.png /var/www/awstats/icon/flags/ye.png /var/www/awstats/icon/flags/yt.png /var/www/awstats/icon/flags/yu.png /var/www/awstats/icon/flags/za.png /var/www/awstats/icon/flags/ze.png /var/www/awstats/icon/flags/zm.png /var/www/awstats/icon/flags/zw.png /var/www/awstats/icon/mime /var/www/awstats/icon/mime/ai.png /var/www/awstats/icon/mime/archive.png /var/www/awstats/icon/mime/audio.png /var/www/awstats/icon/mime/crystal.png /var/www/awstats/icon/mime/css.png /var/www/awstats/icon/mime/doc.png /var/www/awstats/icon/mime/dotnet.png /var/www/awstats/icon/mime/encrypt.png /var/www/awstats/icon/mime/flash.png /var/www/awstats/icon/mime/glasses.png /var/www/awstats/icon/mime/html.png /var/www/awstats/icon/mime/image.png /var/www/awstats/icon/mime/jnlp.png /var/www/awstats/icon/mime/jscript.png /var/www/awstats/icon/mime/library.png /var/www/awstats/icon/mime/lit.png /var/www/awstats/icon/mime/mdb.png /var/www/awstats/icon/mime/notavailable.png /var/www/awstats/icon/mime/ooffice.png /var/www/awstats/icon/mime/other.png /var/www/awstats/icon/mime/page.png /var/www/awstats/icon/mime/pdf.png /var/www/awstats/icon/mime/php.png /var/www/awstats/icon/mime/phshop.png /var/www/awstats/icon/mime/pl.png /var/www/awstats/icon/mime/ppt.png /var/www/awstats/icon/mime/quicktime.png /var/www/awstats/icon/mime/rar.png /var/www/awstats/icon/mime/readme.txt /var/www/awstats/icon/mime/real.png /var/www/awstats/icon/mime/rss.png /var/www/awstats/icon/mime/script.png /var/www/awstats/icon/mime/svg.png /var/www/awstats/icon/mime/text.png /var/www/awstats/icon/mime/ttf.png /var/www/awstats/icon/mime/unknown.png /var/www/awstats/icon/mime/video.png /var/www/awstats/icon/mime/wmv.png /var/www/awstats/icon/mime/xls.png /var/www/awstats/icon/os /var/www/awstats/icon/os/aix.png /var/www/awstats/icon/os/amigaos.png /var/www/awstats/icon/os/apple.png /var/www/awstats/icon/os/atari.png /var/www/awstats/icon/os/beos.png /var/www/awstats/icon/os/blackberry.png /var/www/awstats/icon/os/bsd.png /var/www/awstats/icon/os/bsddflybsd.png /var/www/awstats/icon/os/bsdfreebsd.png /var/www/awstats/icon/os/bsdi.png /var/www/awstats/icon/os/bsdkfreebsd.png /var/www/awstats/icon/os/bsdnetbsd.png /var/www/awstats/icon/os/bsdopenbsd.png /var/www/awstats/icon/os/commodore.png /var/www/awstats/icon/os/cpm.png /var/www/awstats/icon/os/debian.png /var/www/awstats/icon/os/digital.png /var/www/awstats/icon/os/dos.png /var/www/awstats/icon/os/dreamcast.png /var/www/awstats/icon/os/freebsd.png /var/www/awstats/icon/os/gnu.png /var/www/awstats/icon/os/hpux.png /var/www/awstats/icon/os/ibm.png /var/www/awstats/icon/os/imode.png /var/www/awstats/icon/os/inferno.png /var/www/awstats/icon/os/ios.png /var/www/awstats/icon/os/iphone.png /var/www/awstats/icon/os/irix.png /var/www/awstats/icon/os/j2me.png /var/www/awstats/icon/os/java.png /var/www/awstats/icon/os/kfreebsd.png /var/www/awstats/icon/os/linux.png /var/www/awstats/icon/os/linuxandroid.png /var/www/awstats/icon/os/linuxasplinux.png /var/www/awstats/icon/os/linuxcentos.png /var/www/awstats/icon/os/linuxdebian.png /var/www/awstats/icon/os/linuxfedora.png /var/www/awstats/icon/os/linuxgentoo.png /var/www/awstats/icon/os/linuxmandr.png /var/www/awstats/icon/os/linuxpclinuxos.png /var/www/awstats/icon/os/linuxredhat.png /var/www/awstats/icon/os/linuxsuse.png /var/www/awstats/icon/os/linuxubuntu.png /var/www/awstats/icon/os/linuxvine.png /var/www/awstats/icon/os/linuxzenwalk.png /var/www/awstats/icon/os/mac.png /var/www/awstats/icon/os/macintosh.png /var/www/awstats/icon/os/macosx.png /var/www/awstats/icon/os/netbsd.png /var/www/awstats/icon/os/netware.png /var/www/awstats/icon/os/next.png /var/www/awstats/icon/os/openbsd.png /var/www/awstats/icon/os/os2.png /var/www/awstats/icon/os/osf.png /var/www/awstats/icon/os/palmos.png /var/www/awstats/icon/os/psp.png /var/www/awstats/icon/os/qnx.png /var/www/awstats/icon/os/riscos.png /var/www/awstats/icon/os/sco.png /var/www/awstats/icon/os/sunos.png /var/www/awstats/icon/os/syllable.png /var/www/awstats/icon/os/symbian.png /var/www/awstats/icon/os/unix.png /var/www/awstats/icon/os/unknown.png /var/www/awstats/icon/os/vms.png /var/www/awstats/icon/os/webtv.png /var/www/awstats/icon/os/wii.png /var/www/awstats/icon/os/win.png /var/www/awstats/icon/os/win16.png /var/www/awstats/icon/os/win2000.png /var/www/awstats/icon/os/win2003.png /var/www/awstats/icon/os/win2008.png /var/www/awstats/icon/os/win7.png /var/www/awstats/icon/os/win95.png /var/www/awstats/icon/os/win98.png /var/www/awstats/icon/os/wince.png /var/www/awstats/icon/os/winlong.png /var/www/awstats/icon/os/winme.png /var/www/awstats/icon/os/winnt.png /var/www/awstats/icon/os/winunknown.png /var/www/awstats/icon/os/winvista.png /var/www/awstats/icon/os/winxbox.png /var/www/awstats/icon/os/winxp.png /var/www/awstats/icon/other /var/www/awstats/icon/other/awstats_logo1.png /var/www/awstats/icon/other/awstats_logo5.png /var/www/awstats/icon/other/awstats_logo6.png /var/www/awstats/icon/other/backleft.png /var/www/awstats/icon/other/button.gif /var/www/awstats/icon/other/he.png /var/www/awstats/icon/other/hh.png /var/www/awstats/icon/other/hk.png /var/www/awstats/icon/other/hp.png /var/www/awstats/icon/other/ht.png /var/www/awstats/icon/other/hx.png /var/www/awstats/icon/other/menu1.png /var/www/awstats/icon/other/menu2.png /var/www/awstats/icon/other/menu3.png /var/www/awstats/icon/other/menu4.png /var/www/awstats/icon/other/menu5.png /var/www/awstats/icon/other/menu6.png /var/www/awstats/icon/other/menu7.png /var/www/awstats/icon/other/menu8.png /var/www/awstats/icon/other/page.png /var/www/awstats/icon/other/vh.png /var/www/awstats/icon/other/vk.png /var/www/awstats/icon/other/vp.png /var/www/awstats/icon/other/vu.png /var/www/awstats/icon/other/vv.png /var/www/awstats/js /var/www/awstats/js/awstats_misc_tracker.js /var/www/awstats/lang /var/www/awstats/lang/awstats-al.txt /var/www/awstats/lang/awstats-ar.txt /var/www/awstats/lang/awstats-ba.txt /var/www/awstats/lang/awstats-be.txt /var/www/awstats/lang/awstats-bg.txt /var/www/awstats/lang/awstats-br.txt /var/www/awstats/lang/awstats-bzg.txt /var/www/awstats/lang/awstats-ca.txt /var/www/awstats/lang/awstats-cn.txt /var/www/awstats/lang/awstats-cy.txt /var/www/awstats/lang/awstats-cz.txt /var/www/awstats/lang/awstats-de.txt /var/www/awstats/lang/awstats-dk.txt /var/www/awstats/lang/awstats-en.txt /var/www/awstats/lang/awstats-es.txt /var/www/awstats/lang/awstats-et.txt /var/www/awstats/lang/awstats-eu.txt /var/www/awstats/lang/awstats-fi.txt /var/www/awstats/lang/awstats-fr.txt /var/www/awstats/lang/awstats-gl.txt /var/www/awstats/lang/awstats-gr.txt /var/www/awstats/lang/awstats-he.txt /var/www/awstats/lang/awstats-hr.txt /var/www/awstats/lang/awstats-hu.txt /var/www/awstats/lang/awstats-id.txt /var/www/awstats/lang/awstats-is.txt /var/www/awstats/lang/awstats-it.txt /var/www/awstats/lang/awstats-jp.txt /var/www/awstats/lang/awstats-ko.txt /var/www/awstats/lang/awstats-lt.txt /var/www/awstats/lang/awstats-lv.txt /var/www/awstats/lang/awstats-mk.txt /var/www/awstats/lang/awstats-nb.txt /var/www/awstats/lang/awstats-nl.txt /var/www/awstats/lang/awstats-nn.txt /var/www/awstats/lang/awstats-pl.txt /var/www/awstats/lang/awstats-pt.txt /var/www/awstats/lang/awstats-ro.txt /var/www/awstats/lang/awstats-ru.txt /var/www/awstats/lang/awstats-se.txt /var/www/awstats/lang/awstats-si.txt /var/www/awstats/lang/awstats-sk.txt /var/www/awstats/lang/awstats-sr.txt /var/www/awstats/lang/awstats-th.txt /var/www/awstats/lang/awstats-tr.txt /var/www/awstats/lang/awstats-tw.txt /var/www/awstats/lang/awstats-ua.txt /var/www/awstats/lang/tooltips_f /var/www/awstats/lang/tooltips_f/awstats-tt-br.txt /var/www/awstats/lang/tooltips_f/awstats-tt-cz.txt /var/www/awstats/lang/tooltips_f/awstats-tt-en.txt /var/www/awstats/lang/tooltips_f/awstats-tt-gl.txt /var/www/awstats/lang/tooltips_f/awstats-tt-gr.txt /var/www/awstats/lang/tooltips_f/awstats-tt-is.txt /var/www/awstats/lang/tooltips_f/awstats-tt-it.txt /var/www/awstats/lang/tooltips_f/awstats-tt-ru.txt /var/www/awstats/lang/tooltips_m /var/www/awstats/lang/tooltips_m/awstats-tt-br.txt /var/www/awstats/lang/tooltips_m/awstats-tt-cz.txt /var/www/awstats/lang/tooltips_m/awstats-tt-en.txt /var/www/awstats/lang/tooltips_m/awstats-tt-fr.txt /var/www/awstats/lang/tooltips_m/awstats-tt-gl.txt /var/www/awstats/lang/tooltips_m/awstats-tt-gr.txt /var/www/awstats/lang/tooltips_m/awstats-tt-is.txt /var/www/awstats/lang/tooltips_m/awstats-tt-it.txt /var/www/awstats/lang/tooltips_m/awstats-tt-ru.txt /var/www/awstats/lang/tooltips_w /var/www/awstats/lang/tooltips_w/awstats-tt-al.txt /var/www/awstats/lang/tooltips_w/awstats-tt-ba.txt /var/www/awstats/lang/tooltips_w/awstats-tt-bg.txt /var/www/awstats/lang/tooltips_w/awstats-tt-br.txt /var/www/awstats/lang/tooltips_w/awstats-tt-ca.txt /var/www/awstats/lang/tooltips_w/awstats-tt-cn.txt /var/www/awstats/lang/tooltips_w/awstats-tt-cz.txt /var/www/awstats/lang/tooltips_w/awstats-tt-de.txt /var/www/awstats/lang/tooltips_w/awstats-tt-dk.txt /var/www/awstats/lang/tooltips_w/awstats-tt-en.txt /var/www/awstats/lang/tooltips_w/awstats-tt-es.txt /var/www/awstats/lang/tooltips_w/awstats-tt-fi.txt /var/www/awstats/lang/tooltips_w/awstats-tt-fr.txt /var/www/awstats/lang/tooltips_w/awstats-tt-gl.txt /var/www/awstats/lang/tooltips_w/awstats-tt-gr.txt /var/www/awstats/lang/tooltips_w/awstats-tt-hu.txt /var/www/awstats/lang/tooltips_w/awstats-tt-is.txt /var/www/awstats/lang/tooltips_w/awstats-tt-it.txt /var/www/awstats/lang/tooltips_w/awstats-tt-jp.txt /var/www/awstats/lang/tooltips_w/awstats-tt-kr.txt /var/www/awstats/lang/tooltips_w/awstats-tt-nb.txt /var/www/awstats/lang/tooltips_w/awstats-tt-nl.txt /var/www/awstats/lang/tooltips_w/awstats-tt-nn.txt /var/www/awstats/lang/tooltips_w/awstats-tt-pl.txt /var/www/awstats/lang/tooltips_w/awstats-tt-ro.txt /var/www/awstats/lang/tooltips_w/awstats-tt-ru.txt /var/www/awstats/lang/tooltips_w/awstats-tt-se.txt /var/www/awstats/lang/tooltips_w/awstats-tt-sk.txt /var/www/awstats/lang/tooltips_w/awstats-tt-sr.txt /var/www/awstats/lang/tooltips_w/awstats-tt-tr.txt /var/www/awstats/lang/tooltips_w/awstats-tt-tw.txt /var/www/awstats/lang/tooltips_w/awstats-tt-ua.txt /var/www/awstats/lib /var/www/awstats/lib/blacklist.txt /var/www/awstats/lib/browsers.pm /var/www/awstats/lib/browsers_phone.pm /var/www/awstats/lib/domains.pm /var/www/awstats/lib/mime.pm /var/www/awstats/lib/operating_systems.pm /var/www/awstats/lib/referer_spam.pm /var/www/awstats/lib/robots.pm /var/www/awstats/lib/search_engines.pm /var/www/awstats/lib/status_http.pm /var/www/awstats/lib/status_smtp.pm /var/www/awstats/lib/worms.pm /var/www/awstats/plugins /var/www/awstats/plugins/clusterinfo.pm /var/www/awstats/plugins/decodeutfkeys.pm /var/www/awstats/plugins/example /var/www/awstats/plugins/example/example.pm /var/www/awstats/plugins/export_to_csv.pm /var/www/awstats/plugins/geoip.pm /var/www/awstats/plugins/geoip_asn_maxmind.pm /var/www/awstats/plugins/geoip_city_maxmind.pm /var/www/awstats/plugins/geoip_isp_maxmind.pm /var/www/awstats/plugins/geoip_org_maxmind.pm /var/www/awstats/plugins/geoip_region_maxmind.pm /var/www/awstats/plugins/geoipfree.pm /var/www/awstats/plugins/graphapplet.pm /var/www/awstats/plugins/graphgooglechartapi.pm /var/www/awstats/plugins/hashfiles.pm /var/www/awstats/plugins/hostinfo.pm /var/www/awstats/plugins/ipv6.pm /var/www/awstats/plugins/rawlog.pm /var/www/awstats/plugins/timehires.pm /var/www/awstats/plugins/timezone.pm /var/www/awstats/plugins/tooltips.pm /var/www/awstats/plugins/urlalias.pm /var/www/awstats/plugins/userinfo.pm
Cronjob für Statistikaufbereitung
Wie Eingangs schon erwähnt, besteht AWStats im Grunde aus zwei Teilen, der Statistikaufberreitung - sozusagen das backend und dem zweiten Teil der Darstellung und Präsentation durch den Webserver, das frontend.
Damit das backend nun regelmäßig die Webserver-Logfiles zusammenfasst und die AWStats-Files erstellen kann, benötigen wir ein passendes Script. Dieses Script wurde uns bereits bei der Installation von AWStats mitgeliefert.
# /etc/cron.hourly/00awstats
- /etc/cron.hourly/00awstats
#!/bin/bash if [ -f /var/log/httpd/access_log ] ; then exec /usr/bin/awstats_updateall.pl now -confdir="/etc/awstats" -awstatsprog="/var/www/awstats/awstats.pl" >/dev/null fi exit 0
Logrotate
In regelmäßigen Abständen werden die Logfiles unseres Webserver rotiert, d.h. es werden die Alten Daten gapackt und eine neue Logdatei angelegt.
AWStats kann jedoch nur auf das aktuelle Logfile zugreifen, nicht aber auf die bereits archivierten. Damit nun keine Statistik-Daten verloren gehen, müssen wir noch sicherstellen, dass vor dem Archivierungsintervall von logrotate, AWStats einen Update seiner Statistikfiles machen kann.
Hierzu tragen wir nachfolgende Zeilen in die zentrale „syslog-logrotate-Konfigurationsdatei“ /etc/logrotate.d/syslog ein:
prerotate /usr/bin/awstats_updateall.pl now -configdir=/etc/awstats/ --awstatsprog=/var/www/awstats/awstats.pl >/dev/null endscrip
# vim /etc/logrotate.d/syslog
- /etc/logrotate.d/syslog
/var/log/cron /var/log/maillog /var/log/messages /var/log/secure /var/log/spooler { sharedscripts prerotate /usr/bin/awstats_updateall.pl now -configdir=/etc/awstats/ --awstatsprog=/var/www/awstats/awstats.pl >/dev/null endscrip postrotate /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true endscript }
Konfiguration des Apache vHosts
Für den Zugriff auf unsere Webserver-Statistiken legen wir uns einen virtuellen Host an. Die entsprechende Konfigurationsdatei vhosts.conf haben wir im Verzeichnis /etc/httpd/conf.d angelegt.
Mit dem Editor unserer Wahl ergänzen wir nun unsere virtuelen Hosts um einen weiteren:
# vim /etc/httpd/conf.d/vhosts.conf
- /etc/httpd/conf.d/vhosts.conf
# # aw-stats.nausch.org # <VirtualHost *:80> ServerAdmin webmaster@nausch.org ServerName aw-stats.nausch.org ServerAlias www.aw-stats.nausch.org ServerPath / DocumentRoot "/var/www/awstats" <Directory "/var/www/awstats"> AllowOverride None Options +ExecCGI DirectoryIndex awstats.pl Order deny,allow Deny from all Allow from 127.0.0.1 Allow from 10.0.0.0/24 Allow from 10.0.10.0/26 </Directory> Alias /awstatsclasses "/var/www/awstats/classes/" Alias /awstatscss "/var/www/awstats/css/" Alias /awstatsicons "/var/www/awstats/icon/" ScriptAlias /awstats/ "/var/www/awstats/cgi-bin/" ErrorLog logs/awstats_error.log CustomLog logs/awstats_access.log combined </VirtualHost>
Bevor wir unsere Konfigurationsänderung scharf schalten, überprüfen wir noch kurzer Hand die Änderungen auf syntaktische Fehler.
# service httpd configtest
Ist alles O.K.starten wir unseren Webserver durch, damit unsere Änderungen auch wirksam werden:
#service httpd restart
Konfiguration der ersten Webseite
Für die Auswertung unserer ersten Webseite, legen wir uns eine entsprechende Konfigurationsdatei an. Hierzu kopieren wir einfach die Vorlage-Datei.
# cp /etc/awstats/awstats.model.conf /etc/awstats/awstats.dokuwiki.nausch.org.conf
Mit dem Editor unserer Wahl passen wir nun die Parameter unseren Gegebenheiten nach an.
# vim /etc/awstats/awstats.dokuwiki.nausch.org.conf
- /etc/awstats/awstats.dokuwiki.nausch.org.conf
# AWSTATS CONFIGURE FILE 7.0 #----------------------------------------------------------------------------- # Copy this file into awstats.www.mydomain.conf and edit this new config file # to setup AWStats (See documentation in docs/ directory). # The config file must be in /etc/awstats, /usr/local/etc/awstats or /etc (for # Unix/Linux) or same directory than awstats.pl (Windows, Mac, Unix/Linux...) # To include an environment variable in any parameter (AWStats will replace # it with its value when reading it), follow the example: # Parameter="__ENVNAME__" # Note that environment variable AWSTATS_CURRENT_CONFIG is always defined with # the config value in an AWStats running session and can be used like others. #----------------------------------------------------------------------------- # $Revision: 1.350 $ - $Author: eldy $ - $Date: 2010/09/29 19:16:21 $ #----------------------------------------------------------------------------- # MAIN SETUP SECTION (Required to make AWStats work) #----------------------------------------------------------------------------- # "LogFile" contains the web, ftp or mail server log file to analyze. # Possible values: A full path, or a relative path from awstats.pl directory. # Example: "/var/log/apache/access.log" # Example: "../logs/mycombinedlog.log" # You can also use tags in this filename if you need a dynamic file name # depending on date or time (Replacement is made by AWStats at the beginning # of its execution). This is available tags : # %YYYY-n is replaced with 4 digits year we were n hours ago # %YY-n is replaced with 2 digits year we were n hours ago # %MM-n is replaced with 2 digits month we were n hours ago # %MO-n is replaced with 3 letters month we were n hours ago # %DD-n is replaced with day we were n hours ago # %HH-n is replaced with hour we were n hours ago # %NS-n is replaced with number of seconds at 00:00 since 1970 # %WM-n is replaced with the week number in month (1-5) # %Wm-n is replaced with the week number in month (0-4) # %WY-n is replaced with the week number in year (01-52) # %Wy-n is replaced with the week number in year (00-51) # %DW-n is replaced with the day number in week (1-7, 1=sunday) # use n=24 if you need (1-7, 1=monday) # %Dw-n is replaced with the day number in week (0-6, 0=sunday) # use n=24 if you need (0-6, 0=monday) # Use 0 for n if you need current year, month, day, hour... # Example: "/var/log/access_log.%YYYY-0%MM-0%DD-0.log" # Example: "C:/WINNT/system32/LogFiles/W3SVC1/ex%YY-24%MM-24%DD-24.log" # You can also use a pipe if log file come from a pipe : # Example: "gzip -d </var/log/apache/access.log.gz |" # If there are several log files from load balancing servers : # Example: "/pathtotools/logresolvemerge.pl *.log |" # # Django : 2012-07-04 # default: LogFile="/var/log/httpd/access_log" LogFile="/var/log/httpd/dokuwiki_access.log" # Enter the log file type you want to analyze. # Possible values: # W - For a web log file # S - For a streaming log file # M - For a mail log file # F - For a ftp log file # Example: W # Default: W # LogType=W # Enter here your log format (Must match your web server config. See setup # instructions in documentation to know how to configure your web server to # have the required log format). # Possible values: 1,2,3,4 or "your_own_personalized_log_format" # 1 - Apache or Lotus Notes/Domino native combined log format (NCSA combined/XLF/ELF log format) # 2 - IIS or ISA format (IIS W3C log format). See FAQ-COM115 For ISA. # 3 - Webstar native log format. # 4 - Apache or Squid native common log format (NCSA common/CLF log format) # With LogFormat=4, some features (browsers, os, keywords...) can't work. # "your_own_personalized_log_format" = If your log is ftp, mail or other format, # you must use following keys to define the log format string (See FAQ for # ftp, mail or exotic web log format examples): # %host Client hostname or IP address (or Sender host for mail log) # %host_r Receiver hostname or IP address (for mail log) # %lognamequot Authenticated login/user with format: "john" # %logname Authenticated login/user with format: john # %time1 Date and time with format: [dd/mon/yyyy:hh:mm:ss +0000] or [dd/mon/yyyy:hh:mm:ss] # %time2 Date and time with format: yyyy-mm-dd hh:mm:ss # %time3 Date and time with format: Mon dd hh:mm:ss or Mon dd hh:mm:ss yyyy # %time4 Date and time with unix timestamp format: dddddddddd # %methodurl Method and URL with format: "GET /index.html HTTP/x.x" # %methodurlnoprot Method and URL with format: "GET /index.html" # %method Method with format: GET # %url URL only with format: /index.html # %query Query string (used by URLWithQuery option) # %code Return code status (with format for web log: 999) # %bytesd Size of document in bytes # %refererquot Referer page with format: "http://from.com/from.htm" # %referer Referer page with format: http://from.com/from.htm # %uabracket User agent with format: [Mozilla/4.0 (compatible, ...)] # %uaquot User agent with format: "Mozilla/4.0 (compatible, ...)" # %ua User agent with format: Mozilla/4.0_(compatible...) # %gzipin mod_gzip compression input bytes: In:XXX # %gzipout mod_gzip compression output bytes & ratio: Out:YYY:ZZpct. # %gzipratio mod_gzip compression ratio: ZZpct. # %deflateratio mod_deflate compression ratio with format: (ZZ) # %email EMail sender (for mail log) # %email_r EMail receiver (for mail log) # %virtualname Web sever virtual hostname. Use this tag when same log # contains data of several virtual web servers. AWStats # will discard records not in SiteDomain nor HostAliases # %cluster If log file is provided from several computers (merged by # logresolvemerge.pl), use this to define cluster id field. # %extraX Another field that you plan to use for building a # personalized report with ExtraSection feature (See later). # If your log format has some fields not included in this list, use: # %other Means another not used field # %otherquot Means another not used double quoted field # # Examples for Apache combined logs (following two examples are equivalent): # LogFormat = 1 # LogFormat = "%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot" # # Example for IIS: # LogFormat = 2 # LogFormat=1 # If your log field's separator is not a space, you can change this parameter. # This parameter is not used if LogFormat is a predefined value (1,2,3,4) # Backslash can be used as escape character. # Example: " " # Example: "\t" # Example: "\|" # Example: "," # Default: " " # LogSeparator=" " # "SiteDomain" must contain the main domain name, or the main intranet web # server name, used to reach the web site. # If you share the same log file for several virtual web servers, this # parameter is used to tell AWStats to filter record that contains records for # this virtual host name only (So check that this virtual hostname can be # found in your log file and use a personalized log format that include the # %virtualname tag). # But for multi hosting a better solution is to have one log file for each # virtual web server. In this case, this parameter is only used to generate # full URL's links when ShowLinksOnUrl option is set to 1. # If analyzing mail log, enter here the domain name of mail server. # Example: "myintranetserver" # Example: "www.domain.com" # Example: "ftp.domain.com" # Example: "domain.com" # # Django : 2012-07-04 # default SiteDomain="localhost.localdomain" SiteDomain="dokuwiki.nausch.org" # Enter here all other possible domain names, addresses or virtual host # aliases someone can use to access your site. Try to keep only the minimum # number of possible names/addresses to have the best performances. # You can repeat the "SiteDomain" value in this list. # This parameter is used to analyze referer field in log file and to help # AWStats to know if a referer URL is a local URL of same site or an URL of # another site. # Note: Use space between each value. # Note: You can use regular expression values writing value with REGEX[value]. # Note: You can also use @/mypath/myfile if list of aliases are in a file. # Example: "www.myserver.com localhost 127.0.0.1 REGEX[mydomain\.(net|org)$]" # # Django : 2012-07-04 # default: HostAliases="localhost 127.0.0.1" HostAliases=„localhost 127.0.0.1 REGEX[nausch\.org$] REGEX[www\.nausch\.org$]“ # If you want to have hosts reported by name instead of ip address, AWStats # need to make reverse DNS lookups (if not already done in your log file). # With DNSLookup to 0, all hosts will be reported by their IP addresses and # not by the full hostname of visitors (except if names are already available # in log file). # If you want/need to set DNSLookup to 1, don't forget that this will reduce # dramatically AWStats update process speed. Do not use on large web sites. # Note: Reverse DNS lookup is done on IPv4 only (Enable ipv6 plugin for IPv6). # Note: Result of DNS Lookup can be used to build the Country report. However # it is highly recommanded to enable the plugin 'geoip' or 'geoipfree' to # have an accurate Country report with no need of DNS Lookup. # Possible values: # 0 - No DNS Lookup # 1 - DNS Lookup is fully enabled # 2 - DNS Lookup is made only from static DNS cache file (if it exists) # Default: 2 # DNSLookup=2 # When AWStats updates its statistics, it stores results of its analysis in # files (AWStats database). All those files are written in the directory # defined by the "DirData" parameter. Set this value to the directory where # you want AWStats to save its database and working files into. # Warning: If you want to be able to use the "AllowToUpdateStatsFromBrowser" # feature (see later), you need "Write" permissions by web server user on this # directory (and "Modify" for Windows NTFS file systems). # Example: "/var/lib/awstats" # Example: "../data" # Example: "C:/awstats_data_dir" # Default: "." (means same directory as awstats.pl) # DirData="/var/www/awstats" # Relative or absolute web URL of your awstats cgi-bin directory. # This parameter is used only when AWStats is run from command line # with -output option (to generate links in HTML reported page). # Example: "/awstats" # Default: "/cgi-bin" (means awstats.pl is in "/yourwwwroot/cgi-bin") # DirCgi="/awstats" # Relative or absolute web URL of your awstats icon directory. # If you build static reports ("... -output > outputpath/output.html"), enter # path of icon directory relative to the output directory 'outputpath'. # Example: "/awstatsicons" # Example: "../icon" # Default: "/icon" (means you must copy icon directories in "/mywwwroot/icon") # DirIcons="/awstats/icon" # When this parameter is set to 1, AWStats adds a button on report page to # allow to "update" statistics from a web browser. Warning, when "update" is # made from a browser, AWStats is run as a CGI by the web server user defined # in your web server (user "nobody" by default with Apache, "IUSR_XXX" with # IIS), so the "DirData" directory and all already existing history files # awstatsMMYYYY[.xxx].txt must be writable by this user. Change permissions if # necessary to "Read/Write" (and "Modify" for Windows NTFS file systems). # Warning: Update process can be long so you might experience "time out" # browser errors if you don't launch AWStats frequently enough. # When set to 0, update is only made when AWStats is run from the command # line interface (or a task scheduler). # Possible values: 0 or 1 # Default: 0 # # Django : 2012-07-04 # default: AllowToUpdateStatsFromBrowser=0 AllowToUpdateStatsFromBrowser=1 # AWStats saves and sorts its database on a month basis (except if using # databasebreak option from command line). # However, if you choose the -month=all from command line or # value '-Year-' from CGI combo form to have a report for all year, AWStats # needs to reload all data for full year (each month), and sort them, # requiring a large amount of time, memory and CPU. This might be a problem # for web hosting providers that offer AWStats for large sites, on shared # servers, to non CPU cautious customers. # For this reason, the 'full year' is only enabled on Command Line by default. # You can change this by setting this parameter to 0, 1, 2 or 3. # Possible values: # 0 - Never allowed # 1 - Allowed on CLI only, -Year- value in combo is not visible # 2 - Allowed on CLI only, -Year- value in combo is visible but not allowed # 3 - Possible on CLI and CGI # Default: 2 # AllowFullYearView=2 #----------------------------------------------------------------------------- # OPTIONAL SETUP SECTION (Not required but increase AWStats features) #----------------------------------------------------------------------------- # When the update process runs, AWStats can set a lock file in TEMP or TMP # directory. This lock is to avoid to have 2 update processes running at the # same time to prevent unknown conflicts problems and avoid DoS attacks when # AllowToUpdateStatsFromBrowser is set to 1. # Because, when you use lock file, you can experience sometimes problems in # lock file not correctly removed (killed process for example requires that # you remove the file manualy), this option is not enabled by default (Do # not enable this option with no console server access). # Change : Effective immediatly # Possible values: 0 or 1 # Default: 0 # EnableLockForUpdate=1 # AWStats can do reverse DNS lookups through a static DNS cache file that was # previously created manually. If no path is given in static DNS cache file # name, AWStats will search DirData directory. This file is never changed. # This option is not used if DNSLookup=0. # Note: DNS cache file format is 'minsince1970 ipaddress resolved_hostname' # or just 'ipaddress resolved_hostname' # Change : Effective for new updates only # Example: "/mydnscachedir/dnscache" # Default: "dnscache.txt" # DNSStaticCacheFile="dnscache.txt" # AWStats can do reverse DNS lookups through a DNS cache file that was created # by a previous run of AWStats. This file is erased and recreated after each # statistics update process. You don't need to create and/or edit it. # AWStats will read and save this file in DirData directory. # This option is used only if DNSLookup=1. # Note: If a DNSStaticCacheFile is available, AWStats will check for DNS # lookup in DNSLastUpdateCacheFile after checking into DNSStaticCacheFile. # Change : Effective for new updates only # Example: "/mydnscachedir/dnscachelastupdate" # Default: "dnscachelastupdate.txt" # DNSLastUpdateCacheFile="dnscachelastupdate.txt" # You can specify specific IP addresses that should NOT be looked up in DNS. # This option is used only if DNSLookup=1. # Note: Use space between each value. # Note: You can use regular expression values writing value with REGEX[value]. # Change : Effective for new updates only # Example: "123.123.123.123 REGEX[^192\.168\.]" # Default: "" # SkipDNSLookupFor="" # The following two parameters allow you to protect a config file from being # read by AWStats when called from a browser if web user has not been # authenticated. Your AWStats program must be in a web protected "realm" (With # Apache, you can use .htaccess files to do so. With other web servers, see # your server setup manual). # Change : Effective immediatly # Possible values: 0 or 1 # Default: 0 # AllowAccessFromWebToAuthenticatedUsersOnly=0 # This parameter gives the list of all authorized authenticated users to view # statistics for this domain/config file. This parameter is used only if # AllowAccessFromWebToAuthenticatedUsersOnly is set to 1. # Change : Effective immediatly # Example: "user1 user2" # Example: "__REMOTE_USER__" # Default: "" # AllowAccessFromWebToFollowingAuthenticatedUsers="" # When this parameter is defined to something, the IP address of the user that # reads its statistics from a browser (when AWStats is used as a CGI) is # checked and must match one of the IP address values or ranges. # Change : Effective immediatly # Example: "127.0.0.1 123.123.123.1-123.123.123.255" # Default: "" # AllowAccessFromWebToFollowingIPAddresses="" # If the "DirData" directory (see above) does not exist, AWStats return an # error. However, you can ask AWStats to create it. # This option can be used by some Web Hosting Providers that has defined a # dynamic value for DirData (for example DirData="/home/__REMOTE_USER__") and # don't want to have to create a new directory each time they add a new user. # Change : Effective immediatly # Possible values: 0 or 1 # Default: 0 # CreateDirDataIfNotExists=0 # You can choose in which format the Awstats history database is saved. # Note: Using "xml" format make AWStats building database files three times # larger than using "text" format. # Change : Database format is switched after next update # Possible values: text or xml # Default: text # BuildHistoryFormat=text # If you prefer having the report output pages be built as XML compliant pages # instead of simple HTML pages, you can set this to 'xhtml' (May not work # properly with old browsers). # Change : Effective immediatly # Possible values: html or xhtml # Default: html # BuildReportFormat=html # AWStats databases can be updated from command line of from a browser (when # used as a cgi program). So AWStats database files need write permission # for both command line user and default web server user (nobody for Unix, # IUSR_xxx for IIS/Windows,...). # To avoid permission problems between update process (run by an admin user) # and CGI process (ran by a low level user), AWStats can save its database # files with read and write permissions for everyone. # By default, AWStats keeps default user permissions on updated files. If you # set AllowToUpdateStatsFromBrowser to 1, you can change this parameter to 1. # Change : Effective for new updates only # Possible values: 0 or 1 # Default: 0 # SaveDatabaseFilesWithPermissionsForEveryone=0 # AWStats can purge log file, after analyzing it. Note that AWStats is able # to detect new lines in a log file, to process only them, so you can launch # AWStats as often as you want, even with this parameter to 0. # With 0, no purge is made, so you must use a scheduled task or a web server # that make this purge frequently. # With 1, the purge of the log file is made each time AWStats update is run. # This parameter doesn't work with IIS (This web server doesn't let its log # file to be purged). # Change : Effective for new updates only # Possible values: 0 or 1 # Default: 0 # PurgeLogFile=0 # When PurgeLogFile is setup to 1, AWStats will clean your log file after # processing it. You can however keep an archive file of all processed log # records by setting this parameter (For example if you want to use another # log analyzer). The archived log file is saved in "DirData" with name # awstats_archive.configname[.suffix].log # This parameter is not used if PurgeLogFile=0 # Change : Effective for new updates only # Possible values: 0, 1, or tags (See LogFile parameter) for suffix # Example: 1 # Example: %YYYY%MM%DD # Default: 0 # ArchiveLogRecords=0 # Each time you run the update process, AWStats overwrites the 'historic file' # for the month (awstatsMMYYYY[.*].txt) with the updated one. # When write errors occurs (IO, disk full,...), this historic file can be # corrupted and must be deleted. Because this file contains information of all # past processed log files, you will loose old stats if removed. So you can # ask AWStats to save last non corrupted file in a .bak file. This file is # stored in "DirData" directory with other 'historic files'. # Change : Effective for new updates only # Possible values: 0 or 1 # Default: 0 # KeepBackupOfHistoricFiles=1 # Default index page name for your web server. # Change : Effective for new updates only # Example: "index.php index.html default.html" # Default: "index.php index.html" # # Django : 2012-07-04 # default: DefaultFile="index.php index.html" DefaultFile="doku.php" # Do not include access from clients that match following criteria. # If your log file contains IP addresses in host field, you must enter here # matching IP addresses criteria. # If DNS lookup is already done in your log file, you must enter here hostname # criteria, else enter ip address criteria. # The opposite parameter of "SkipHosts" is "OnlyHosts". # Note: Use space between each value. This parameter is not case sensitive. # Note: You can use regular expression values writing value with REGEX[value]. # Change : Effective for new updates only # Example: "127.0.0.1 REGEX[^192\.168\.] REGEX[^10\.]" # Example: "localhost REGEX[^.*\.localdomain$]" # Default: "" # SkipHosts="127.0.0.1" # Do not include access from clients with a user agent that match following # criteria. If you want to exclude a robot, you should update the robots.pm # file instead of this parameter. # The opposite parameter of "SkipUserAgents" is "OnlyUserAgents". # Note: Use space between each value. This parameter is not case sensitive. # Note: You can use regular expression values writing value with REGEX[value]. # Change : Effective for new updates only # Example: "konqueror REGEX[ua_test_v\d\.\d]" # Default: "" # SkipUserAgents="" # Use SkipFiles to ignore access to URLs that match one of following entries. # You can enter a list of not important URLs (like framed menus, hidden pages, # etc...) to exclude them from statistics. You must enter here exact relative # URL as found in log file, or a matching REGEX value. Check apply on URL with # all its query paramaters. # For example, to ignore /badpage.php, just add "/badpage.php". To ignore all # pages in a particular directory, add "REGEX[^\/directorytoexclude]". # The opposite parameter of "SkipFiles" is "OnlyFiles". # Note: Use space between each value. This parameter is or not case sensitive # depending on URLNotCaseSensitive parameter. # Note: You can use regular expression values writing value with REGEX[value]. # Change : Effective for new updates only # Example: "/badpage.php /page.php?param=x REGEX[^\/excludedirectory]" # Default: "" # SkipFiles="" # Use SkipReferrersBlackList if you want to exclude records coming from a SPAM # referrer. Parameter must receive a local file name containing rules applied # on referrer field. If parameter is empty, no filter is applied. # An example of such a file is available in lib/blacklist.txt # Change : Effective for new updates only # Example: "/mylibpath/blacklist.txt" # Default: "" # # WARNING!! Using this feature make AWStats running very slower (5 times slower # with black list file provided with AWStats ! # SkipReferrersBlackList="" # Include in stats, only accesses from hosts that match one of following # entries. For example, if you want AWStats to filter access to keep only # stats for visits from particular hosts, you can add those host names in # this parameter. # If DNS lookup is already done in your log file, you must enter here hostname # criteria, else enter ip address criteria. # The opposite parameter of "OnlyHosts" is "SkipHosts". # Note: Use space between each value. This parameter is not case sensitive. # Note: You can use regular expression values writing value with REGEX[value]. # Change : Effective for new updates only # Example: "127.0.0.1 REGEX[^192\.168\.] REGEX[^10\.]" # Default: "" # OnlyHosts="" # Include in stats, only accesses from user agent that match one of following # entries. For example, if you want AWStats to filter access to keep only # stats for visits from particular browsers, you can add their user agents # string in this parameter. # The opposite parameter of "OnlyUserAgents" is "SkipUserAgents". # Note: Use space between each value. This parameter is not case sensitive. # Note: You can use regular expression values writing value with REGEX[value]. # Change : Effective for new updates only # Example: "msie" # Default: "" # OnlyUserAgents="" # Include in stats, only accesses from authenticated users that match one of # following entries. For example, if you want AWStats to filter access to keep # only stats for authenticated users, you can add those users names in # this parameter. Useful for statistics for per user ftp logs. # Note: Use space between each value. This parameter is not case sensitive. # Note: You can use regular expression values writing value with REGEX[value]. # Change : Effective for new updates only # Example: "john bob REGEX[^testusers]" # Default: "" # OnlyUsers="" # Include in stats, only accesses to URLs that match one of following entries. # For example, if you want AWStats to filter access to keep only stats that # match a particular string, like a particular directory, you can add this # directory name in this parameter. # The opposite parameter of "OnlyFiles" is "SkipFiles". # Note: Use space between each value. This parameter is or not case sensitive # depending on URLNotCaseSensitive parameter. # Note: You can use regular expression values writing value with REGEX[value]. # Change : Effective for new updates only # Example: "REGEX[marketing_directory] REGEX[office\/.*\.(csv|sxw)$]" # Default: "" # OnlyFiles="" # Add here a list of kind of url (file extension) that must be counted as # "Hit only" and not as a "Hit" and "Page/Download". You can set here all # image extensions as they are hit downloaded that must be counted but they # are not viewed pages. URLs with such extensions are not included in the TOP # Pages/URL report. # Note: If you want to exclude particular URLs from stats (No Pages and no # Hits reported), you must use SkipFiles parameter. # Change : Effective for new updates only # Example: "css js class gif jpg jpeg png bmp ico rss xml swf zip arj rar gz z bz2 wav mp3 wma mpg avi" # Example: "" # Default: "css js class gif jpg jpeg png bmp ico rss xml swf" # NotPageList="css js class gif jpg jpeg png bmp ico rss xml swf" # By default, AWStats considers that records found in web log file are # successful hits if HTTP code returned by server is a valid HTTP code (200 # and 304). Any other code are reported in HTTP status chart. # Note that HTTP 'control codes', like redirection (302, 305) are not added by # default in this list as they are not pages seen by a visitor but are # protocol exchange codes to tell the browser to ask another page. Because # this other page will be counted and seen with a 200 or 304 code, if you # add such codes, you will have 2 pages viewed reported for only one in facts. # Change : Effective for new updates only # Example: "200 304 302 305" # Default: "200 304" # ValidHTTPCodes="200 304" # By default, AWStats considers that records found in mail log file are # successful mail transfers if field that represent return code in analyzed # log file match values defined by this parameter. # Change : Effective for new updates only # Example: "1 250 200" # Default: "1 250" # ValidSMTPCodes="1 250" # Some web servers on some Operating systems (IIS-Windows) consider that a # login with same value but different case are the same login. To tell AWStats # to also consider them as one, set this parameter to 1. # Change : Effective for new updates only # Possible values: 0 or 1 # Default: 0 # AuthenticatedUsersNotCaseSensitive=0 # Some web servers on some Operating systems (IIS-Windows) considers that two # URLs with same value but different case are the same URL. To tell AWStats to # also considers them as one, set this parameter to 1. # Change : Effective for new updates only # Possible values: 0 or 1 # Default: 0 # URLNotCaseSensitive=0 # Keep or remove the anchor string you can find in some URLs. # Change : Effective for new updates only # Possible values: 0 or 1 # Default: 0 # URLWithAnchor=0 # In URL links, "?" char is used to add parameter's list in URLs. Syntax is: # /mypage.html?param1=value1¶m2=value2 # However, some servers/sites use also other chars to isolate dynamic part of # their URLs. You can complete this list with all such characters. # Change : Effective for new updates only # Example: "?;," # Default: "?;" # URLQuerySeparators="?;" # Keep or remove the query string to the URL in the statistics for individual # pages. This is primarily used to differentiate between the URLs of dynamic # pages. If set to 1, mypage.html?id=x and mypage.html?id=y are counted as two # different pages. # Warning, when set to 1, memory required to run AWStats is dramatically # increased if you have a lot of changing URLs (for example URLs with a random # id inside). Such web sites should not set this option to 1 or use seriously # the next parameter URLWithQueryWithOnlyFollowingParameters (or eventually # URLWithQueryWithoutFollowingParameters). # Change : Effective for new updates only # Possible values: # 0 - URLs are cleaned from the query string (ie: "/mypage.html") # 1 - Full URL with query string is used (ie: "/mypage.html?p=x&q=y") # Default: 0 # URLWithQuery=0 # When URLWithQuery is on, you will get the full URL with all parameters in # URL reports. But among thoose parameters, sometimes you don't need a # particular parameter because it does not identify the page or because it's # a random ID changing for each access even if URL points to same page. In # such cases, it is higly recommanded to ask AWStats to keep only parameters # you need (if you know them) before counting, manipulating and storing URL. # Enter here list of wanted parameters. For example, with "param", one hit on # /mypage.cgi?param=abc&id=Yo4UomP9d and /mypage.cgi?param=abc&id=Mu8fdxl3r # will be reported as 2 hits on /mypage.cgi?param=abc # This parameter is not used when URLWithQuery is 0 and can't be used with # URLWithQueryWithoutFollowingParameters. # Change : Effective for new updates only # Example: "param" # Default: "" # URLWithQueryWithOnlyFollowingParameters="" # When URLWithQuery is on, you will get the full URL with all parameters in # URL reports. But among thoose parameters, sometimes you don't need a # particular parameter because it does not identify the page or because it's # a random ID changing for each access even if URL points to same page. In # such cases, it is higly recommanded to ask AWStats to remove such parameters # from the URL before counting, manipulating and storing URL. Enter here list # of all non wanted parameters. For example if you enter "id", one hit on # /mypage.cgi?param=abc&id=Yo4UomP9d and /mypage.cgi?param=abc&id=Mu8fdxl3r # will be reported as 2 hits on /mypage.cgi?param=abc # This parameter is not used when URLWithQuery is 0 and can't be used with # URLWithQueryWithOnlyFollowingParameters. # Change : Effective for new updates only # Example: "PHPSESSID jsessionid" # Default: "" # URLWithQueryWithoutFollowingParameters="" # Keep or remove the query string to the referrer URL in the statistics for # external referrer pages. This is used to differentiate between the URLs of # dynamic referrer pages. If set to 1, mypage.html?id=x and mypage.html?id=y # are counted as two different referrer pages. # Change : Effective for new updates only # Possible values: # 0 - Referrer URLs are cleaned from the query string (ie: "/mypage.html") # 1 - Full URL with query string is used (ie: "/mypage.html?p=x&q=y") # Default: 0 # URLReferrerWithQuery=0 # AWStats can detect setup problems or show you important informations to have # a better use. Keep this to 1, except if AWStats says you can change it. # Change : Effective immediatly # Possible values: 0 or 1 # Default: 1 # WarningMessages=1 # When an error occurs, AWStats outputs a message related to errors. If you # want (in most cases for security reasons) to have no error messages, you # can set this parameter to your personalized generic message. # Change : Effective immediatly # Example: "An error occurred. Contact your Administrator" # Default: "" # ErrorMessages="" # AWStat can be run with debug=x parameter to output various informations # to help in debugging or solving troubles. If you want to allow this (not # enabled by default for security reasons), set this parameter to 0. # Change : Effective immediatly # Possible values: 0 or 1 # Default: 0 # DebugMessages=0 # To help you to detect if your log format is good, AWStats reports an error # if all the first NbOfLinesForCorruptedLog lines have a format that does not # match the LogFormat parameter. # However, some worm virus attack on your web server can result in a very high # number of corrupted lines in your log. So if you experience awstats stop # because of bad virus records at the beginning of your log file, you can # increase this parameter (very rare). # Change : Effective for new updates only # Default: 50 # NbOfLinesForCorruptedLog=50 # For some particular integration needs, you may want to have CGI links to # point to another script than awstats.pl. # Use the name of this script in WrapperScript parameter. # Change : Effective immediatly # Example: "awstatslauncher.pl" # Example: "awstatswrapper.cgi?key=123" # Default: "" # WrapperScript="" # DecodeUA must be set to 1 if you use Roxen web server. This server converts # all spaces in user agent field into %20. This make the AWStats robots, OS # and browsers detection fail in some cases. Just change it to 1 if and only # if your web server is Roxen. # Change : Effective for new updates only # Possible values: 0 or 1 # Default: 0 # DecodeUA=0 # MiscTrackerUrl can be used to make AWStats able to detect some miscellaneous # things, that can not be tracked on other way, like: # - Javascript disabled # - Java enabled # - Screen size # - Color depth # - Macromedia Director plugin # - Macromedia Shockwave plugin # - Realplayer G2 plugin # - QuickTime plugin # - Mediaplayer plugin # - Acrobat PDF plugin # To enable all these features, you must copy the awstats_misc_tracker.js file # into a /js/ directory stored in your web document root and add the following # HTML code at the end of your index page (but before </BODY>) : # # <script type="text/javascript" src="/js/awstats_misc_tracker.js"></script> # <noscript><img src="/js/awstats_misc_tracker.js?nojs=y" height=0 width=0 border=0 style="display: none"></noscript> # # If code is not added in index page, all those detection capabilities will be # disabled. You must also check that ShowScreenSizeStats and ShowMiscStats # parameters are set to 1 to make results appear in AWStats report page. # If you want to use another directory than /js/, you must also change the # awstatsmisctrackerurl variable into the awstats_misc_tracker.js file. # Change : Effective for new updates only. # Possible value: URL of javascript tracker file added in your HTML code. # Default: "/js/awstats_misc_tracker.js" # MiscTrackerUrl="/js/awstats_misc_tracker.js" #----------------------------------------------------------------------------- # OPTIONAL ACCURACY SETUP SECTION (Not required but increase AWStats features) #----------------------------------------------------------------------------- # The following values allow you to define accuracy of AWStats entities # (robots, browsers, os, referers, file types) detection. # It might be a good idea for large web sites or ISP that provides AWStats to # high number of customers, to set this parameter to 1 (or 0), instead of 2. # Possible values: # 0 = No detection, # 1 = Medium/Standard detection # 2 = Full detection # Change : Effective for new updates only # Note : LevelForBrowsersDetection can also accept value "allphones". This # enable detailed detection of phone/pda browsers. # Default: 2 (0 for LevelForWormsDetection) # LevelForBrowsersDetection=2 # 0 disables Browsers detection. # 2 reduces AWStats speed by 2% # allphones reduces AWStats speed by 5% LevelForOSDetection=2 # 0 disables OS detection. # 2 reduces AWStats speed by 3% LevelForRefererAnalyze=2 # 0 disables Origin detection. # 2 reduces AWStats speed by 14% LevelForRobotsDetection=2 # 0 disables Robots detection. # 2 reduces AWStats speed by 2.5% LevelForSearchEnginesDetection=2 # 0 disables Search engines detection. # 2 reduces AWStats speed by 9% LevelForKeywordsDetection=2 # 0 disables Keyphrases/Keywords detection. # 2 reduces AWStats speed by 1% LevelForFileTypesDetection=2 # 0 disables File types detection. # 2 reduces AWStats speed by 1% LevelForWormsDetection=0 # 0 disables Worms detection. # 2 reduces AWStats speed by 15% #----------------------------------------------------------------------------- # OPTIONAL APPEARANCE SETUP SECTION (Not required but increase AWStats features) #----------------------------------------------------------------------------- # When you use AWStats as a CGI, you can have the reports shown in HTML frames. # Frames are only available for report viewed dynamically. When you build # pages from command line, this option is not used and no frames are built. # Possible values: 0 or 1 # Default: 1 # UseFramesWhenCGI=1 # This parameter asks your browser to open detailed reports into a different # window than the main page. # Possible values: # 0 - Open all in same browser window # 1 - Open detailed reports in another window except if using frames # 2 - Open always in a different window even if reports are framed # Default: 1 # DetailedReportsOnNewWindows=1 # You can add, in the HTML report page, a cache lifetime (in seconds) that # will be returned to the browser in HTTP header answer by server. # This parameter is not used when reports are built with -staticlinks option. # Example: 3600 # Default: 0 # Expires=3600 # To avoid too large web pages, you can ask AWStats to limit number of rows of # all reported charts to this number when no other limits apply. # Default: 1000 # MaxRowsInHTMLOutput=1000 # Set your primary language (ISO-639-1 language codes). # Possible values: # Albanian=al, Bosnian=ba, Bulgarian=bg, Catalan=ca, # Chinese (Taiwan)=tw, Chinese (Simpliefied)=cn, Croatian=hr, Czech=cz, # Danish=dk, Dutch=nl, English=en, Estonian=et, Euskara=eu, Finnish=fi, # French=fr, Galician=gl, German=de, Greek=gr, Hebrew=he, Hungarian=hu, # Icelandic=is, Indonesian=id, Italian=it, Japanese=jp, Korean=ko, # Latvian=lv, Norwegian (Nynorsk)=nn, Norwegian (Bokmal)=nb, Polish=pl, # Portuguese=pt, Portuguese (Brazilian)=br, Romanian=ro, Russian=ru, # Serbian=sr, Slovak=sk, Slovenian=si, Spanish=es, Swedish=se, Turkish=tr, # Ukrainian=ua, Welsh=cy. # First available language accepted by browser=auto # Default: "auto" # # Django : 2012-07-04 # default: Lang="auto" Lang="de" # Set the location of language files. # Example: "/usr/share/awstats/lang" # Default: "./lang" (means lang directory is in same location than awstats.pl) # DirLang="./lang" # Show menu header with reports' links # Possible values: 0 or 1 # Default: 1 # ShowMenu=1 # You choose here which reports you want to see in the main page and what you # want to see in those reports. # Possible values: # 0 - Report is not shown at all # 1 - Report is shown in main page with an entry in menu and default columns # XYZ - Report shows column informations defined by code X,Y,Z... # X,Y,Z... are code letters among the following: # U = Unique visitors # V = Visits # P = Number of pages # H = Number of hits (or mails) # B = Bandwith (or total mail size for mail logs) # L = Last access date # E = Entry pages # X = Exit pages # C = Web compression (mod_gzip,mod_deflate) # M = Average mail size (mail logs) # # Show monthly summary # Context: Web, Streaming, Mail, Ftp # Default: UVPHB, Possible column codes: UVPHB ShowSummary=UVPHB # Show monthly chart # Context: Web, Streaming, Mail, Ftp # Default: UVPHB, Possible column codes: UVPHB ShowMonthStats=UVPHB # Show days of month chart # Context: Web, Streaming, Mail, Ftp # Default: VPHB, Possible column codes: VPHB ShowDaysOfMonthStats=VPHB # Show days of week chart # Context: Web, Streaming, Mail, Ftp # Default: PHB, Possible column codes: PHB ShowDaysOfWeekStats=PHB # Show hourly chart # Context: Web, Streaming, Mail, Ftp # Default: PHB, Possible column codes: PHB ShowHoursStats=PHB # Show domains/country chart # Context: Web, Streaming, Mail, Ftp # Default: PHB, Possible column codes: PHB ShowDomainsStats=PHB # Show hosts chart # Context: Web, Streaming, Mail, Ftp # Default: PHBL, Possible column codes: PHBL ShowHostsStats=PHBL # Show authenticated users chart # Context: Web, Streaming, Ftp # Default: 0, Possible column codes: PHBL ShowAuthenticatedUsers=0 # Show robots chart # Context: Web, Streaming # Default: HBL, Possible column codes: HBL ShowRobotsStats=HBL # Show worms chart # Context: Web, Streaming # Default: 0 (If set to other than 0, see also LevelForWormsDetection), Possible column codes: HBL ShowWormsStats=0 # Show email senders chart (For use when analyzing mail log files) # Context: Mail # Default: 0, Possible column codes: HBML ShowEMailSenders=0 # Show email receivers chart (For use when analyzing mail log files) # Context: Mail # Default: 0, Possible column codes: HBML ShowEMailReceivers=0 # Show session chart # Context: Web, Streaming, Ftp # Default: 1, Possible column codes: None ShowSessionsStats=1 # Show pages-url chart. # Context: Web, Streaming, Ftp # Default: PBEX, Possible column codes: PBEX ShowPagesStats=PBEX # Show file types chart. # Context: Web, Streaming, Ftp # Default: HB, Possible column codes: HBC ShowFileTypesStats=HB # Show file size chart (Not yet available) # Context: Web, Streaming, Mail, Ftp # Default: 1, Possible column codes: None ShowFileSizesStats=0 # Show downloads chart. # Context: Web, Streaming, Ftp # Default: HB, Possible column codes: HB ShowDownloadsStats=HB # Show operating systems chart # Context: Web, Streaming, Ftp # Default: 1, Possible column codes: None ShowOSStats=1 # Show browsers chart # Context: Web, Streaming # Default: 1, Possible column codes: None ShowBrowsersStats=1 # Show screen size chart # Context: Web, Streaming # Default: 0 (If set to 1, see also MiscTrackerUrl), Possible column codes: None # Django : 2012-07-04 # default: ShowScreenSizeStats=0 ShowScreenSizeStats=1 # Show origin chart # Context: Web, Streaming # Default: PH, Possible column codes: PH ShowOriginStats=PH # Show keyphrases chart # Context: Web, Streaming # Default: 1, Possible column codes: None ShowKeyphrasesStats=1 # Show keywords chart # Context: Web, Streaming # Default: 1, Possible column codes: None ShowKeywordsStats=1 # Show misc chart # Context: Web, Streaming # Default: a (See also MiscTrackerUrl parameter), Possible column codes: anjdfrqwp ShowMiscStats=a # Show http errors chart # Context: Web, Streaming # Default: 1, Possible column codes: None ShowHTTPErrorsStats=1 # Show smtp errors chart (For use when analyzing mail log files) # Context: Mail # Default: 0, Possible column codes: None ShowSMTPErrorsStats=0 # Show the cluster report (Your LogFormat must contains the %cluster tag) # Context: Web, Streaming, Ftp # Default: 0, Possible column codes: PHB ShowClusterStats=0 # Some graphical reports are followed by the data array of values. # If you don't want this array (to reduce the report size for example), you # can set thoose options to 0. # Possible values: 0 or 1 # Default: 1 # # Data array values for the ShowMonthStats report AddDataArrayMonthStats=1 # Data array values for the ShowDaysOfMonthStats report AddDataArrayShowDaysOfMonthStats=1 # Data array values for the ShowDaysOfWeekStats report AddDataArrayShowDaysOfWeekStats=1 # Data array values for the ShowHoursStats report AddDataArrayShowHoursStats=1 # In the Origin chart, you have stats on where your hits came from. You can # include hits on pages that come from pages of same sites in this chart. # Possible values: 0 or 1 # Default: 0 # IncludeInternalLinksInOriginSection=0 # The following parameters can be used to choose the maximum number of lines # shown for the particular following reports. # # Stats by countries/domains MaxNbOfDomain = 10 MinHitDomain = 1 # Stats by hosts MaxNbOfHostsShown = 10 MinHitHost = 1 # Stats by authenticated users MaxNbOfLoginShown = 10 MinHitLogin = 1 # Stats by robots MaxNbOfRobotShown = 10 MinHitRobot = 1 # Stats for Downloads MaxNbOfDownloadsShown = 10 MinHitDownloads = 1 # Stats by pages MaxNbOfPageShown = 10 MinHitFile = 1 # Stats by OS MaxNbOfOsShown = 10 MinHitOs = 1 # Stats by browsers MaxNbOfBrowsersShown = 10 MinHitBrowser = 1 # Stats by screen size MaxNbOfScreenSizesShown = 5 MinHitScreenSize = 1 # Stats by window size (following 2 parameters are not yet used) MaxNbOfWindowSizesShown = 5 MinHitWindowSize = 1 # Stats by referers MaxNbOfRefererShown = 10 MinHitRefer = 1 # Stats for keyphrases MaxNbOfKeyphrasesShown = 10 MinHitKeyphrase = 1 # Stats for keywords MaxNbOfKeywordsShown = 10 MinHitKeyword = 1 # Stats for sender or receiver emails MaxNbOfEMailsShown = 20 MinHitEMail = 1 # Choose if you want the week report to start on sunday or monday # Possible values: # 0 - Week starts on sunday # 1 - Week starts on monday # Default: 1 # # Django : 2012-07-04 # default: FirstDayOfWeek=0 FirstDayOfWeek=1 # List of visible flags that link to other language translations. # See Lang parameter for list of allowed flag/language codes. # If you don't want any flag link, set ShowFlagLinks to "". # This parameter is used only if ShowMenu parameter is set to 1. # Possible values: "" or "language_codes_separated_by_space" # Example: "en es fr nl de" # Default: "" # ShowFlagLinks="" # Each URL, shown in stats report views, are links you can click. # Possible values: 0 or 1 # Default: 1 # ShowLinksOnUrl=1 # When AWStats builds HTML links in its report pages, it starts those links # with "http://". However some links might be HTTPS links, so you can enter # here the root of all your HTTPS links. If all your site is a SSL web site, # just enter "/". # This parameter is not used if ShowLinksOnUrl is 0. # Example: "/shopping" # Example: "/" # Default: "" # UseHTTPSLinkForUrl="" # Maximum length of URL part shown on stats page (number of characters). # This affects only URL visible text, links still work. # Default: 64 # MaxLengthOfShownURL=64 # You can enter HTML code that will be added at the top of AWStats reports. # Default: "" # HTMLHeadSection="" # You can enter HTML code that will be added at the end of AWStats reports. # Great to add advert ban. # Default: "" # HTMLEndSection="" # By default AWStats page contains meta tag robots=noindex,nofollow # If you want to have your statistics to be indexed, set this option to 1. # Default: 0 # MetaRobot=0 # You can set Logo and LogoLink to use your own logo. # Logo must be the name of image file (must be in $DirIcons/other directory). # LogoLink is the expected URL when clicking on Logo. # Default: "awstats_logo6.png" # Logo="awstats_logo6.png" LogoLink="http://awstats.sourceforge.net" # Value of maximum bar width/height for horizontal/vertical HTML graphics bars. # Default: 260/90 # BarWidth = 260 BarHeight = 90 # You can ask AWStats to use a particular CSS (Cascading Style Sheet) to # change its look. To create a style sheet, you can use samples provided with # AWStats in wwwroot/css directory. # Example: "/awstatscss/awstats_bw.css" # Example: "/css/awstats_bw.css" # Default: "" # StyleSheet="" # Those color parameters can be used (if StyleSheet parameter is not used) # to change AWStats look. # Example: color_name="RRGGBB" # RRGGBB is Red Green Blue components in Hex # color_Background="FFFFFF" # Background color for main page (Default = "FFFFFF") color_TableBGTitle="CCCCDD" # Background color for table title (Default = "CCCCDD") color_TableTitle="000000" # Table title font color (Default = "000000") color_TableBG="CCCCDD" # Background color for table (Default = "CCCCDD") color_TableRowTitle="FFFFFF" # Table row title font color (Default = "FFFFFF") color_TableBGRowTitle="ECECEC" # Background color for row title (Default = "ECECEC") color_TableBorder="ECECEC" # Table border color (Default = "ECECEC") color_text="000000" # Color of text (Default = "000000") color_textpercent="606060" # Color of text for percent values (Default = "606060") color_titletext="000000" # Color of text title within colored Title Rows (Default = "000000") color_weekend="EAEAEA" # Color for week-end days (Default = "EAEAEA") color_link="0011BB" # Color of HTML links (Default = "0011BB") color_hover="605040" # Color of HTML on-mouseover links (Default = "605040") color_u="FFAA66" # Background color for number of unique visitors (Default = "FFAA66") color_v="F4F090" # Background color for number of visites (Default = "F4F090") color_p="4477DD" # Background color for number of pages (Default = "4477DD") color_h="66DDEE" # Background color for number of hits (Default = "66DDEE") color_k="2EA495" # Background color for number of bytes (Default = "2EA495") color_s="8888DD" # Background color for number of search (Default = "8888DD") color_e="CEC2E8" # Background color for number of entry pages (Default = "CEC2E8") color_x="C1B2E2" # Background color for number of exit pages (Default = "C1B2E2") #----------------------------------------------------------------------------- # PLUGINS #----------------------------------------------------------------------------- # Add here all plugin files you want to load. # Plugin files must be .pm files stored in 'plugins' directory. # Uncomment LoadPlugin lines to enable a plugin after checking that perl # modules required by the plugin are installed. # PLUGIN: Tooltips # REQUIRED MODULES: None # PARAMETERS: None # DESCRIPTION: Add tooltips pop-up help boxes to HTML report pages. # NOTE: This will increased HTML report pages size, thus server load and bandwidth. # # Django : 2012-07-04 # default: #LoadPlugin="tooltips" LoadPlugin="tooltips" # PLUGIN: DecodeUTFKeys # REQUIRED MODULES: Encode and URI::Escape # PARAMETERS: None # DESCRIPTION: Allow AWStats to show correctly (in language charset) # keywords/keyphrases strings even if they were UTF8 coded by the # referer search engine. # #LoadPlugin="decodeutfkeys" # PLUGIN: IPv6 # PARAMETERS: None # REQUIRED MODULES: Net::IP and Net::DNS # DESCRIPTION: This plugin gives AWStats capability to make reverse DNS # lookup on IPv6 addresses. # #LoadPlugin="ipv6" # PLUGIN: HashFiles # REQUIRED MODULES: Storable # PARAMETERS: None # DESCRIPTION: AWStats DNS cache files are read/saved as native hash files. # This increases DNS cache files loading speed, above all for very large web sites. # #LoadPlugin="hashfiles" # PLUGIN: UserInfo # REQUIRED MODULES: None # PARAMETERS: None # DESCRIPTION: Add a text (Firtname, Lastname, Office Department, ...) in # authenticated user reports for each login value. # A text file called userinfo.myconfig.txt, with two fields (first is login, # second is text to show, separated by a tab char) must be created in DirData # directory. # #LoadPlugin="userinfo" # PLUGIN: HostInfo # REQUIRED MODULES: Net::XWhois # PARAMETERS: None # DESCRIPTION: Add a column into host chart with a link to open a popup window that shows # info on host (like whois records). # # Django : 2012-07-04 # default: #LoadPlugin="hostinfo" LoadPlugin="hostinfo" # PLUGIN: ClusterInfo # REQUIRED MODULES: None # PARAMETERS: None # DESCRIPTION: Add a text (for example a full hostname) in cluster reports for each cluster # number. A text file called clusterinfo.myconfig.txt, with two fields (first is # cluster number, second is text to show) separated by a tab char. must be # created into DirData directory. # Note this plugin is useless if ShowClusterStats is set to 0 or if you don't # use a personalized log format that contains %cluster tag. # #LoadPlugin="clusterinfo" # PLUGIN: UrlAliases # REQUIRED MODULES: None # PARAMETERS: None # DESCRIPTION: Add a text (Page title, description...) in URL reports before URL value. # A text file called urlalias.myconfig.txt, with two fields (first is URL, # second is text to show, separated by a tab char) must be created into # DirData directory. # #LoadPlugin="urlalias" # PLUGIN: TimeHiRes # REQUIRED MODULES: Time::HiRes (if Perl < 5.8) # PARAMETERS: None # DESCRIPTION: Time reported by -showsteps option is in millisecond. For debug purpose. # #LoadPlugin="timehires" # PLUGIN: TimeZone # REQUIRED MODULES: Time::Local # PARAMETERS: [timezone offset] # DESCRIPTION: Allow AWStats to adjust time stamps for a different timezone # This plugin reduces AWStats speed of 10% !!!!!!! # LoadPlugin="timezone" # LoadPlugin="timezone +2" # LoadPlugin="timezone CET" # #LoadPlugin="timezone +2" # PLUGIN: Rawlog # REQUIRED MODULES: None # PARAMETERS: None # DESCRIPTION: This plugin adds a form in AWStats main page to allow users to see raw # content of current log files. A filter is also available. # # Django : 2012-07-04 # default: #LoadPlugin="rawlog" LoadPlugin="rawlog" # PLUGIN: GraphApplet # REQUIRED MODULES: None # PARAMETERS: [CSS classes to override] # DESCRIPTION: Supported charts are built by a 3D graphic applet. # #LoadPlugin="graphapplet /awstatsclasses" # EXPERIMENTAL FEATURE # PLUGIN: GraphGoogleChartAPI # REQUIRED MODULES: None # PARAMETERS: None # DESCRIPTION: Replaces the standard charts with free Google API generated images # in HTML reports. If country data is available and more than one country has hits, # a map will be generated using Google Visualizations. # Note: The machine where reports are displayed must have Internet access for the # charts to be generated. The only data sent to Google includes the statistic numbers, # legend names and country names. # Warning: This plugin is not compatible with option BuildReportFormat=xhtml. # #LoadPlugin="graphgooglechartapi" # PLUGIN: GeoIPfree # REQUIRED MODULES: Geo::IPfree version 0.2+ (from Graciliano M.P.) # PARAMETERS: None # DESCRIPTION: 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::IPfree # module, database is free but not up to date) or the GeoIP plugin (need # Perl Geo::IP module from Maxmind, database is also free and up to date). # Note: Activestate provide a corrupted version of Geo::IPfree 0.2 Perl # module, so install it from elsewhere (from www.cpan.org for example). # This plugin reduces AWStats speed by up to 10% ! # #LoadPlugin="geoipfree" # MAXMIND GEO IP MODULES: Please see documentation for notes on all Maxmind modules # PLUGIN: GeoIP # REQUIRED MODULES: Geo::IP or Geo::IP::PurePerl (from Maxmind) # PARAMETERS: [GEOIP_STANDARD | GEOIP_MEMORY_CACHE] [/pathto/geoip.dat[+/pathto/override.txt]] # DESCRIPTION: Builds a country chart and adds an entry to the hosts # table with country name # Replace spaces in the path of geoip data file with string "%20". # # Django : 2012-07-04 # default: #LoadPlugin="geoip GEOIP_STANDARD /pathto/GeoIP.dat" LoadPlugin="geoip GEOIP_STANDARD /usr/local/lib64/perl5/GeoIP.dat" # PLUGIN: GeoIP_City_Maxmind # REQUIRED MODULES: Geo::IP or Geo::IP::PurePerl (from Maxmind) # PARAMETERS: [GEOIP_STANDARD | GEOIP_MEMORY_CACHE] [/pathto/GeoIPCity.dat[+/pathto/override.txt]] # DESCRIPTION: This plugin adds a column under the hosts field and tracks the pageviews # and hits by city including regions. # Replace spaces in the path of geoip data file with string "%20". # # Django : 2012-07-04 # default: #LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /pathto/GeoIPCity.dat" LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/local/lib64/perl5/GeoLiteCity.dat" # PLUGIN: GeoIP_ASN_Maxmind # REQUIRED MODULES: Geo::IP or Geo::IP::PurePerl (from Maxmind) # PARAMETERS: [GEOIP_STANDARD | GEOIP_MEMORY_CACHE] [/pathto/GeoIPASN.dat[+/pathto/override.txt][+http://linktoASlookup]] # DESCRIPTION: This plugin adds a chart of AS numbers where the host IP address is registered. # This plugin can display some ISP information if included in the database. You can also provide # a link that will be used to lookup additional registration data. Put the link at the end of # the parameter string and the report page will include the link with the full AS number at the end. # Replace spaces in the path of geoip data file with string "%20". # #LoadPlugin="geoip_asn_maxmind GEOIP_STANDARD /usr/local/geoip.dat+http://enc.com.au/itools/aut-num.php?autnum=" # PLUGIN: GeoIP_Region_Maxmind # REQUIRED MODULES: Geo::IP or Geo::IP::PurePerl (from Maxmind) # PARAMETERS: [GEOIP_STANDARD | GEOIP_MEMORY_CACHE] [/pathto/GeoIPRegion.dat[+/pathto/override.txt]] # DESCRIPTION:This plugin adds a chart of hits by regions. Only regions for US and # Canada can be detected. # Replace spaces in the path of geoip data file with string "%20". # #LoadPlugin="geoip_region_maxmind GEOIP_STANDARD /pathto/GeoIPRegion.dat" # PLUGIN: GeoIP_ISP_Maxmind # REQUIRED MODULES: Geo::IP or Geo::IP::PurePerl (from Maxmind) # PARAMETERS: [GEOIP_STANDARD | GEOIP_MEMORY_CACHE] [/pathto/GeoIPISP.dat[+/pathto/override.txt]] # DESCRIPTION: This plugin adds a chart of hits by ISP. # Replace spaces in the path of geoip data file with string "%20". # #LoadPlugin="geoip_isp_maxmind GEOIP_STANDARD /pathto/GeoIPISP.dat" # PLUGIN: GeoIP_Org_Maxmind # REQUIRED MODULES: Geo::IP or Geo::IP::PurePerl (from Maxmind) # PARAMETERS: [GEOIP_STANDARD | GEOIP_MEMORY_CACHE] [/pathto/GeoIPOrg.dat[+/pathto/override.txt]] # DESCRIPTION: This plugin add a chart of hits by Organization name # Replace spaces in the path of geoip data file with string "%20". # #LoadPlugin="geoip_org_maxmind GEOIP_STANDARD /pathto/GeoIPOrg.dat" #----------------------------------------------------------------------------- # EXTRA SECTIONS #----------------------------------------------------------------------------- # You can define your own charts, you choose here what are rows and columns # keys. This feature is particularly useful for marketing purpose, tracking # products orders for example. # For this, edit all parameters of Extra section. Each set of parameter is a # different chart. For several charts, duplicate section changing the number. # Note: Each Extra section reduces AWStats speed by 8%. # # WARNING: A wrong setup of Extra section might result in too large arrays # that will consume all your memory, making AWStats unusable after several # updates, so be sure to setup it correctly. # In most cases, you don't need this feature. # # ExtraSectionNameX is title of your personalized chart. # ExtraSectionCodeFilterX is list of codes the record code field must match. # Put an empty string for no test on code. # ExtraSectionConditionX are conditions you can use to count or not the hit, # Use one of the field condition # (URL,URLWITHQUERY,QUERY_STRING,REFERER,UA,HOSTINLOG,HOST,VHOST,extraX) # and a regex to match, after a coma. Use "||" for "OR". # ExtraSectionFirstColumnTitleX is the first column title of the chart. # ExtraSectionFirstColumnValuesX is a string to tell AWStats which field to # extract value from # (URL,URLWITHQUERY,QUERY_STRING,REFERER,UA,HOSTINLOG,HOST,VHOST,extraX) # and how to extract the value (using regex syntax). Each different value # found will appear in first column of report on a different row. Be sure # that list of different possible values will not grow indefinitely. # ExtraSectionFirstColumnFormatX is the string used to write value. # ExtraSectionStatTypesX are things you want to count. You can use standard # code letters (P for pages,H for hits,B for bandwidth,L for last access). # ExtraSectionAddAverageRowX add a row at bottom of chart with average values. # ExtraSectionAddSumRowX add a row at bottom of chart with sum values. # MaxNbOfExtraX is maximum number of rows shown in chart. # MinHitExtraX is minimum number of hits required to be shown in chart. # # Example to report the 20 products the most ordered by "order.cgi" script #ExtraSectionName1="Product orders" #ExtraSectionCodeFilter1="200 304" #ExtraSectionCondition1="URL,\/cgi\-bin\/order\.cgi||URL,\/cgi\-bin\/order2\.cgi" #ExtraSectionFirstColumnTitle1="Product ID" #ExtraSectionFirstColumnValues1="QUERY_STRING,productid=([^&]+)" #ExtraSectionFirstColumnFormat1="%s" #ExtraSectionStatTypes1=PL #ExtraSectionAddAverageRow1=0 #ExtraSectionAddSumRow1=1 #MaxNbOfExtra1=20 #MinHitExtra1=1 # There is also a global parameter ExtraTrackedRowsLimit that limits the # number of possible rows an ExtraSection can report. This parameter is # here to protect too much memory use when you make a bad setup in your # ExtraSection. It applies to all ExtraSection independently meaning that # none ExtraSection can report more rows than value defined by ExtraTrackedRowsLimit. # If you know an ExtraSection will report more rows than its value, you should # increase this parameter or AWStats will stop with an error. # Example: 2000 # Default: 500 # ExtraTrackedRowsLimit=500 #----------------------------------------------------------------------------- # INCLUDES #----------------------------------------------------------------------------- # You can include other config files using the directive with the name of the # config file. # This is particularly useful for users who have a lot of virtual servers, so # a lot of config files and want to maintain common values in only one file. # Note that when a variable is defined both in a config file and in an # included file, AWStats will use the last value read for parameters that # contains one value and AWStats will concat all values from both files for # parameters that are lists of values. # #Include ""
AddOn-Konfiguration (plugins)
Allow To Update Stats From Browser
Wenn wir später die Statistiken auch mittels Mausklick im Browser aktualisieren wollen müssen wir dafür sorgen, dass unser Webserver auch in das betreffende Verzeichnis schreiben darf.
Wir passen hierzu die Berechtigungen unseres Document-Root an.
# chown apache:apache /var/www/awstats
In der Konfigurationsdatei von awstats aktivieren wir dann noch diese Option.
# When this parameter is set to 1, AWStats adds a button on report page to # allow to "update" statistics from a web browser. Warning, when "update" is # made from a browser, AWStats is run as a CGI by the web server user defined # in your web server (user "nobody" by default with Apache, "IUSR_XXX" with # IIS), so the "DirData" directory and all already existing history files # awstatsMMYYYY[.xxx].txt must be writable by this user. Change permissions if # necessary to "Read/Write" (and "Modify" for Windows NTFS file systems). # Warning: Update process can be long so you might experience "time out" # browser errors if you don't launch AWStats frequently enough. # When set to 0, update is only made when AWStats is run from the command # line interface (or a task scheduler). # Possible values: 0 or 1 # Default: 0 # # Django : 2012-07-03 # default: AllowToUpdateStatsFromBrowser=0 AllowToUpdateStatsFromBrowser=1
HostInfo
Wir können uns auf unseren Statistik-Seiten bei den Hostinformationen eine Spalte Whois Informationen anzeigen lassen, wo wir dann über ein popup-Fenster direkt eine whois-Abfrage vornehmen können. Hierzu muss das Perl-Modul Net::XWhois installiert werden.
# yum install perl-Net-XWhois
In der betreffenden Hostkonfigurationsdatei von awstats aktivieren wir dann nur noch das notwendige plugin.
# PLUGIN: HostInfo # REQUIRED MODULES: Net::XWhois # PARAMETERS: None # DESCRIPTION: Add a column into host chart with a link to open a popup window that shows # info on host (like whois records). # # Django : 2012-07-03 # default: #LoadPlugin="hostinfo" LoadPlugin="hostinfo"
GeoIP
Auf unseren Statistikseiten können wir uns anzeigen lassen aus welchen Ländern und Orten die Anfragen/Verbindungen kamen. Hierzu wird neben dem Perl-Modul perl-Geo-IP noch die beiden Datenbanken zur Auflösung der Orte benötigt.
Bei der Grundinstallation von AWStats wurde bereits da nötige Perl-Modul installiert. Wenn wir wissen wollen, wo dies im System liegt, dann benutzen wir folgenden Aufruf.
# rpm -qil perl-Geo-IP
Name : perl-Geo-IP Relocations: (not relocatable) Version : 1.38 Vendor: Dag Apt Repository, http://dag.wieers.com/apt/ Release : 1.el6.rf Build Date: Fri 12 Nov 2010 08:04:38 AM CET Install Date: Tue 03 Jul 2012 05:53:34 PM CEST Build Host: lisse.hasselt.wieers.com Group : Applications/CPAN Source RPM: perl-Geo-IP-1.38-1.el6.rf.src.rpm Size : 370904 License: Artistic/GPL Signature : DSA/SHA1, Sat 13 Nov 2010 12:05:08 AM CET, Key ID a20e52146b8d79e6 Packager : Dries Verachtert <dries@ulyssis.org> URL : http://search.cpan.org/dist/Geo-IP/ Summary : Database which maps IP blocks on countries Description : This module a simple file-based database. This database simply contains IP blocks as keys, and countries as values. The data contains all public IP addresses and should be more complete and accurate than reverse DNS lookups. /usr/lib64/perl5/vendor_perl/Geo /usr/lib64/perl5/vendor_perl/Geo/IP /usr/lib64/perl5/vendor_perl/Geo/IP.pm /usr/lib64/perl5/vendor_perl/Geo/IP/Record.pm /usr/lib64/perl5/vendor_perl/Geo/IP/Record.pod /usr/lib64/perl5/vendor_perl/Geo/Mirror.pm /usr/lib64/perl5/vendor_perl/auto/Geo /usr/lib64/perl5/vendor_perl/auto/Geo/IP /usr/lib64/perl5/vendor_perl/auto/Geo/IP/IP.bs /usr/lib64/perl5/vendor_perl/auto/Geo/IP/IP.so /usr/share/doc/perl-Geo-IP-1.38 /usr/share/doc/perl-Geo-IP-1.38/Changes /usr/share/doc/perl-Geo-IP-1.38/INSTALL /usr/share/doc/perl-Geo-IP-1.38/MANIFEST /usr/share/doc/perl-Geo-IP-1.38/META.yml /usr/share/doc/perl-Geo-IP-1.38/README /usr/share/doc/perl-Geo-IP-1.38/example /usr/share/doc/perl-Geo-IP-1.38/example/city.pl /usr/share/doc/perl-Geo-IP-1.38/example/netspeed.pl /usr/share/doc/perl-Geo-IP-1.38/example/org.pl /usr/share/doc/perl-Geo-IP-1.38/example/region.pl /usr/share/man/man3/Geo::IP.3pm.gz /usr/share/man/man3/Geo::IP::Record.3pm.gz /usr/share/man/man3/Geo::Mirror.3pm.gz
Die benötigten Datenbanken holen wir uns direkt bei MaxMind. Die beiden Datenbankfiles legen wir in unserm System z.B. unter /usr/local/lib64/perl5/ ab; hierzu wechseln wir nun in das entsprechende Verzeichnis.
# cd /usr/local/lib64/perl5/
Anschließend laden wir uns das GeoIP Datenbank auf unseren Rechner.
# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
Zu guter Letzt entpacken wir die heruntergeladene Datei an Ort und Stelle.
# gunzip GeoIP.dat.gz
Das Gleiche machen wir nun mit der GeoLiteCity Datenbank.
# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
Auch diese entpacken wir nun noch.
# gunzip GeoLiteCity.dat.gz
In der betreffenden Hostkonfigurationsdatei von awstats aktivieren wir dann noch die beiden plugins.
# MAXMIND GEO IP MODULES: Please see documentation for notes on all Maxmind modules # PLUGIN: GeoIP # REQUIRED MODULES: Geo::IP or Geo::IP::PurePerl (from Maxmind) # PARAMETERS: [GEOIP_STANDARD | GEOIP_MEMORY_CACHE] [/pathto/geoip.dat[+/pathto/override.txt]] # DESCRIPTION: Builds a country chart and adds an entry to the hosts # table with country name # Replace spaces in the path of geoip data file with string "%20". # # Django : 2012-07-03 # default: #LoadPlugin="geoip GEOIP_STANDARD /pathto/GeoIP.dat" LoadPlugin="geoip GEOIP_STANDARD /usr/local/lib64/perl5/GeoIP.dat" # PLUGIN: GeoIP_City_Maxmind # REQUIRED MODULES: Geo::IP or Geo::IP::PurePerl (from Maxmind) # PARAMETERS: [GEOIP_STANDARD | GEOIP_MEMORY_CACHE] [/pathto/GeoIPCity.dat[+/pathto/override.txt]] # DESCRIPTION: This plugin adds a column under the hosts field and tracks the pageviews # and hits by city including regions. # Replace spaces in the path of geoip data file with string "%20". # # Django : 2012-07-03 # default: #LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /pathto/GeoIPCity.dat" LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/local/lib64/perl5/GeoLiteCity.dat"
WICHTIG:
Die Geo-Daten werden einmal im Monat aktualisiert zur Verfügung gestellt! Wir aktualisieren als bei Bedarf diese Datenbankdateien regelmäßig.
Zum Update der GeoIP-Daten legen wir uns also einen Cronjob an, der monatlich aufgerufen werden soll.
# vim /etc/cron.monthly/geoip-update
- # vim /etc/cron.monthly/geoip-update
#!/bin/bash # # Django : 2014-06-30 # Monatlicher Update der geoIP-Daten # # Programmlauf des monatlich laufenden cronjobs verzögern. /bin/sleep $[$RANDOM/1024] # Update GeoIP: /usr/bin/wget -q http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz -O - | gunzip > /usr/local/lib64/perl5/GeoIP.dat.new && mv /usr/local/lib64/perl5/GeoIP.dat.new /usr/local/lib64/perl5/GeoIP.dat -f # Update GeoIP-City: /usr/bin/wget -q http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz -O - | gunzip > /usr/local/lib64/perl5/GeoCity.dat.new && mv /usr/local/lib64/perl5/GeoCity.dat.new /usr/local/lib64/perl5/GeoCity.dat -f
Anschließend passen wir noch die Dateirechte unseres Scriptes an.
# chmod +x /etc/cron.monthly/geoip-update
erstes Ergebnis
Nach erfolgreicher Konfiguration steht dem ersten Aufruf nichts mehr im Wege. Der Aufruf erfolgt über folgende URL:
$ firefox http://aw-stats.nausch.org/awstats/awstats.pl?config=dokuwiki.nausch.org
HINWEIS:
Der Teil nach ?config= in der URL ist der Name, den wir bei der Konfigurationdatei von AWStats im Verzeichnis /etc/awstats verwendet wurde.
Also z.B.
http://aw-stats.nausch.org/awstats/awstats.pl?config=wetter.nausch.org
für die Konfigurationsdatei
/etc/awstats/awstats.wetter.nausch.org.conf
Die Pflicht - AWStats ("tar.gz."Installation)
WICHTIG:
Möchte man die aktuellste Version von AWStats verwenden oder später BetterAWStats nutzen, so installiert man das Logfileanalysetool ab besten selbst direkt aus den Quellen.
Download
Bevor wir nun das Programmarchiv auf unseren Rechner holen, wechseln wir als erstes hierzu in unser Programmquellen-Verzeichnis. Haben wir selbiges noch nicht angelegt, dann ist natürlich noch dieses anzulegen:
# mkdir -p /usr/local/src/packages/
Anschließend wechseln wir in unser Verzeichnis:
# cd /usr/local/src/packages/
Nun laden wir das Programmarchiv von der Projektseite.
# wget http://downloads.sourceforge.net/project/awstats/AWStats/7.2/awstats-7.2.tar.gz
Dieses tar.gz-Archiv entpacken wir nun als nächstes.
# tar -xzvf /usr/local/src/packages/awstats-7.2.tar.gz -C /usr/share/
awstats-7.2/ awstats-7.2/tools/ awstats-7.2/tools/awstats_buildstaticpages.pl awstats-7.2/tools/awstats_updateall.pl awstats-7.2/tools/geoip_generator.pl awstats-7.2/tools/maillogconvert.pl awstats-7.2/tools/httpd_conf awstats-7.2/tools/nginx/ awstats-7.2/tools/nginx/README.txt awstats-7.2/tools/nginx/awstats-nginx.conf awstats-7.2/tools/nginx/awstats-fcgi.php awstats-7.2/tools/logresolvemerge.pl awstats-7.2/tools/awstats_exportlib.pl awstats-7.2/tools/xslt/ awstats-7.2/tools/xslt/awstats.xsd awstats-7.2/tools/xslt/awstats.datademo1.xslt awstats-7.2/tools/xslt/README.txt awstats-7.2/tools/xslt/awstats.datademo2.xml awstats-7.2/tools/xslt/awstats.datademo2.xslt awstats-7.2/tools/xslt/awstats.datademo1.xml awstats-7.2/tools/urlaliasbuilder.pl awstats-7.2/tools/awstats_configure.pl awstats-7.2/tools/webmin/ awstats-7.2/tools/webmin/awstats-1.9.wbm awstats-7.2/wwwroot/ awstats-7.2/wwwroot/css/ awstats-7.2/wwwroot/css/awstats_default.css awstats-7.2/wwwroot/css/awstats_bw.css awstats-7.2/wwwroot/cgi-bin/ awstats-7.2/wwwroot/cgi-bin/plugins/ awstats-7.2/wwwroot/cgi-bin/plugins/hashfiles.pm awstats-7.2/wwwroot/cgi-bin/plugins/urlalias.pm awstats-7.2/wwwroot/cgi-bin/plugins/timehires.pm awstats-7.2/wwwroot/cgi-bin/plugins/decodeutfkeys.pm awstats-7.2/wwwroot/cgi-bin/plugins/geoip_region_maxmind.pm awstats-7.2/wwwroot/cgi-bin/plugins/userinfo.pm awstats-7.2/wwwroot/cgi-bin/plugins/rawlog.pm awstats-7.2/wwwroot/cgi-bin/plugins/geoipfree.pm awstats-7.2/wwwroot/cgi-bin/plugins/timezone.pm awstats-7.2/wwwroot/cgi-bin/plugins/geoip_isp_maxmind.pm awstats-7.2/wwwroot/cgi-bin/plugins/tooltips.pm awstats-7.2/wwwroot/cgi-bin/plugins/geoip_asn_maxmind.pm awstats-7.2/wwwroot/cgi-bin/plugins/example/ awstats-7.2/wwwroot/cgi-bin/plugins/example/example.pm awstats-7.2/wwwroot/cgi-bin/plugins/clusterinfo.pm awstats-7.2/wwwroot/cgi-bin/plugins/geoip_org_maxmind.pm awstats-7.2/wwwroot/cgi-bin/plugins/ipv6.pm awstats-7.2/wwwroot/cgi-bin/plugins/graphgooglechartapi.pm awstats-7.2/wwwroot/cgi-bin/plugins/hostinfo.pm awstats-7.2/wwwroot/cgi-bin/plugins/graphapplet.pm awstats-7.2/wwwroot/cgi-bin/plugins/geoip.pm awstats-7.2/wwwroot/cgi-bin/plugins/geoip_city_maxmind.pm awstats-7.2/wwwroot/cgi-bin/plugins/export_to_csv.pm awstats-7.2/wwwroot/cgi-bin/awstats.model.conf awstats-7.2/wwwroot/cgi-bin/awstats.pl awstats-7.2/wwwroot/cgi-bin/awredir.pl awstats-7.2/wwwroot/cgi-bin/awdownloadcsv.pl awstats-7.2/wwwroot/cgi-bin/lang/ awstats-7.2/wwwroot/cgi-bin/lang/awstats-de.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-dk.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-he.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-ro.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/ awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-ro.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-kr.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-jp.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-pl.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-ca.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-nn.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-de.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-cn.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-sr.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-es.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-it.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-is.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-cz.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-fi.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-ru.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-tr.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-ua.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-gr.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-en.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-al.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-dk.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-nb.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-ba.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-bg.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-fr.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-hu.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-sk.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-se.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-br.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-gl.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-tw.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-nl.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-es.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-th.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-se.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-br.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-en.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-nl.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-cy.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-cn.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-sr.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-ba.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-pt.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_f/ awstats-7.2/wwwroot/cgi-bin/lang/tooltips_f/awstats-tt-it.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_f/awstats-tt-is.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_f/awstats-tt-cz.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_f/awstats-tt-ru.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_f/awstats-tt-gr.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_f/awstats-tt-en.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_f/awstats-tt-br.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_f/awstats-tt-gl.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-is.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-it.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-id.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-fi.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-tw.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-nn.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-gl.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-ru.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-cz.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-tr.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-pl.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-hr.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-hu.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-ca.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-si.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-ar.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-be.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-bzg.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-eu.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-et.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_m/ awstats-7.2/wwwroot/cgi-bin/lang/tooltips_m/awstats-tt-it.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_m/awstats-tt-is.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_m/awstats-tt-cz.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_m/awstats-tt-ru.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_m/awstats-tt-gr.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_m/awstats-tt-en.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_m/awstats-tt-fr.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_m/awstats-tt-br.txt awstats-7.2/wwwroot/cgi-bin/lang/tooltips_m/awstats-tt-gl.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-al.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-nb.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-lt.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-ua.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-gr.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-mk.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-bg.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-sk.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-lv.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-fr.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-jp.txt awstats-7.2/wwwroot/cgi-bin/lang/awstats-ko.txt awstats-7.2/wwwroot/cgi-bin/lib/ awstats-7.2/wwwroot/cgi-bin/lib/status_http.pm awstats-7.2/wwwroot/cgi-bin/lib/referer_spam.pm awstats-7.2/wwwroot/cgi-bin/lib/worms.pm awstats-7.2/wwwroot/cgi-bin/lib/operating_systems.pm awstats-7.2/wwwroot/cgi-bin/lib/status_smtp.pm awstats-7.2/wwwroot/cgi-bin/lib/search_engines.pm awstats-7.2/wwwroot/cgi-bin/lib/blacklist.txt awstats-7.2/wwwroot/cgi-bin/lib/robots.pm awstats-7.2/wwwroot/cgi-bin/lib/browsers_phone.pm awstats-7.2/wwwroot/cgi-bin/lib/mime.pm awstats-7.2/wwwroot/cgi-bin/lib/domains.pm awstats-7.2/wwwroot/cgi-bin/lib/browsers.pm awstats-7.2/wwwroot/classes/ awstats-7.2/wwwroot/classes/src/ awstats-7.2/wwwroot/classes/src/Makefile.pl awstats-7.2/wwwroot/classes/src/AWGraphApplet.java awstats-7.2/wwwroot/classes/awgraphapplet.jar awstats-7.2/wwwroot/icon/ awstats-7.2/wwwroot/icon/browser/ awstats-7.2/wwwroot/icon/browser/sharp.png awstats-7.2/wwwroot/icon/browser/netnewswire.png awstats-7.2/wwwroot/icon/browser/pulpfiction.png awstats-7.2/wwwroot/icon/browser/mediaplayer.png awstats-7.2/wwwroot/icon/browser/netpositive.png awstats-7.2/wwwroot/icon/browser/firefox.png awstats-7.2/wwwroot/icon/browser/rssxpress.png awstats-7.2/wwwroot/icon/browser/sagem.png awstats-7.2/wwwroot/icon/browser/lynx.png awstats-7.2/wwwroot/icon/browser/aweb.png awstats-7.2/wwwroot/icon/browser/webtv.png awstats-7.2/wwwroot/icon/browser/flock.png awstats-7.2/wwwroot/icon/browser/hotjava.png awstats-7.2/wwwroot/icon/browser/webcopier.png awstats-7.2/wwwroot/icon/browser/chrome.png awstats-7.2/wwwroot/icon/browser/analogx.png awstats-7.2/wwwroot/icon/browser/abilon.png awstats-7.2/wwwroot/icon/browser/java.png awstats-7.2/wwwroot/icon/browser/newsfire.png awstats-7.2/wwwroot/icon/browser/akregator.png awstats-7.2/wwwroot/icon/browser/amigavoyager.png awstats-7.2/wwwroot/icon/browser/newzcrawler.png awstats-7.2/wwwroot/icon/browser/pdaphone.png awstats-7.2/wwwroot/icon/browser/icab.png awstats-7.2/wwwroot/icon/browser/lg.png awstats-7.2/wwwroot/icon/browser/dillo.png awstats-7.2/wwwroot/icon/browser/ericsson.png awstats-7.2/wwwroot/icon/browser/rssreader.png awstats-7.2/wwwroot/icon/browser/neon.png awstats-7.2/wwwroot/icon/browser/real.png awstats-7.2/wwwroot/icon/browser/sony.png awstats-7.2/wwwroot/icon/browser/multizilla.png awstats-7.2/wwwroot/icon/browser/mozilla.png awstats-7.2/wwwroot/icon/browser/philips.png awstats-7.2/wwwroot/icon/browser/jetbrains_omea.png awstats-7.2/wwwroot/icon/browser/gnus.png awstats-7.2/wwwroot/icon/browser/freshdownload.png awstats-7.2/wwwroot/icon/browser/leechget.png awstats-7.2/wwwroot/icon/browser/teleport.png awstats-7.2/wwwroot/icon/browser/gnome.png awstats-7.2/wwwroot/icon/browser/siemens.png awstats-7.2/wwwroot/icon/browser/fresco.png awstats-7.2/wwwroot/icon/browser/amaya.png awstats-7.2/wwwroot/icon/browser/konqueror.png awstats-7.2/wwwroot/icon/browser/flashget.png awstats-7.2/wwwroot/icon/browser/phoenix.png awstats-7.2/wwwroot/icon/browser/adobe.png awstats-7.2/wwwroot/icon/browser/samsung.png awstats-7.2/wwwroot/icon/browser/getright.png awstats-7.2/wwwroot/icon/browser/msie.png awstats-7.2/wwwroot/icon/browser/netshow.png awstats-7.2/wwwroot/icon/browser/feedreader.png awstats-7.2/wwwroot/icon/browser/bytel.png awstats-7.2/wwwroot/icon/browser/wizz.png awstats-7.2/wwwroot/icon/browser/pluck.png awstats-7.2/wwwroot/icon/browser/trium.png awstats-7.2/wwwroot/icon/browser/winxbox.png awstats-7.2/wwwroot/icon/browser/avant.png awstats-7.2/wwwroot/icon/browser/epiphany.png awstats-7.2/wwwroot/icon/browser/netscape.png awstats-7.2/wwwroot/icon/browser/frontpage.png awstats-7.2/wwwroot/icon/browser/nokia.png awstats-7.2/wwwroot/icon/browser/ecatch.png awstats-7.2/wwwroot/icon/browser/kmeleon.png awstats-7.2/wwwroot/icon/browser/newsgator.png awstats-7.2/wwwroot/icon/browser/opera.png awstats-7.2/wwwroot/icon/browser/da.png awstats-7.2/wwwroot/icon/browser/apt.png awstats-7.2/wwwroot/icon/browser/unknown.png awstats-7.2/wwwroot/icon/browser/chimera.png awstats-7.2/wwwroot/icon/browser/android.png awstats-7.2/wwwroot/icon/browser/doris.png awstats-7.2/wwwroot/icon/browser/macweb.png awstats-7.2/wwwroot/icon/browser/rssowl.png awstats-7.2/wwwroot/icon/browser/httrack.png awstats-7.2/wwwroot/icon/browser/netscape_large.png awstats-7.2/wwwroot/icon/browser/motorola.png awstats-7.2/wwwroot/icon/browser/lotusnotes.png awstats-7.2/wwwroot/icon/browser/safari.png awstats-7.2/wwwroot/icon/browser/rssbandit.png awstats-7.2/wwwroot/icon/browser/shrook.png awstats-7.2/wwwroot/icon/browser/sharpreader.png awstats-7.2/wwwroot/icon/browser/dreamcast.png awstats-7.2/wwwroot/icon/browser/seamonkey.png awstats-7.2/wwwroot/icon/browser/w3c.png awstats-7.2/wwwroot/icon/browser/bpftp.png awstats-7.2/wwwroot/icon/browser/omniweb.png awstats-7.2/wwwroot/icon/browser/staroffice.png awstats-7.2/wwwroot/icon/browser/feeddemon.png awstats-7.2/wwwroot/icon/browser/ibrowse.png awstats-7.2/wwwroot/icon/browser/icecat.png awstats-7.2/wwwroot/icon/browser/rss.png awstats-7.2/wwwroot/icon/browser/webzip.png awstats-7.2/wwwroot/icon/browser/galeon.png awstats-7.2/wwwroot/icon/browser/webreaper.png awstats-7.2/wwwroot/icon/browser/encompass.png awstats-7.2/wwwroot/icon/browser/msie_large.png awstats-7.2/wwwroot/icon/browser/mplayer.png awstats-7.2/wwwroot/icon/browser/gozilla.png awstats-7.2/wwwroot/icon/browser/alcatel.png awstats-7.2/wwwroot/icon/browser/notavailable.png awstats-7.2/wwwroot/icon/browser/panasonic.png awstats-7.2/wwwroot/icon/browser/ncsa_mosaic.png awstats-7.2/wwwroot/icon/browser/iceweasel.png awstats-7.2/wwwroot/icon/browser/cyberdog.png awstats-7.2/wwwroot/icon/browser/fpexpress.png awstats-7.2/wwwroot/icon/browser/subversion.png awstats-7.2/wwwroot/icon/clock/ awstats-7.2/wwwroot/icon/clock/hr10.png awstats-7.2/wwwroot/icon/clock/hr1.png awstats-7.2/wwwroot/icon/clock/hr7.png awstats-7.2/wwwroot/icon/clock/hr11.png awstats-7.2/wwwroot/icon/clock/hr2.png awstats-7.2/wwwroot/icon/clock/hr8.png awstats-7.2/wwwroot/icon/clock/hr9.png awstats-7.2/wwwroot/icon/clock/hr4.png awstats-7.2/wwwroot/icon/clock/hr12.png awstats-7.2/wwwroot/icon/clock/hr6.png awstats-7.2/wwwroot/icon/clock/hr3.png awstats-7.2/wwwroot/icon/clock/hr5.png awstats-7.2/wwwroot/icon/flags/ awstats-7.2/wwwroot/icon/flags/it.png awstats-7.2/wwwroot/icon/flags/com.png awstats-7.2/wwwroot/icon/flags/ph.png awstats-7.2/wwwroot/icon/flags/gg.png awstats-7.2/wwwroot/icon/flags/int.png awstats-7.2/wwwroot/icon/flags/museum.png awstats-7.2/wwwroot/icon/flags/ca.png awstats-7.2/wwwroot/icon/flags/cs.png awstats-7.2/wwwroot/icon/flags/km.png awstats-7.2/wwwroot/icon/flags/fk.png awstats-7.2/wwwroot/icon/flags/vc.png awstats-7.2/wwwroot/icon/flags/ua.png awstats-7.2/wwwroot/icon/flags/gu.png awstats-7.2/wwwroot/icon/flags/na.png awstats-7.2/wwwroot/icon/flags/kn.png awstats-7.2/wwwroot/icon/flags/mo.png awstats-7.2/wwwroot/icon/flags/et.png awstats-7.2/wwwroot/icon/flags/ar.png awstats-7.2/wwwroot/icon/flags/mm.png awstats-7.2/wwwroot/icon/flags/gn.png awstats-7.2/wwwroot/icon/flags/ad.png awstats-7.2/wwwroot/icon/flags/bv.png awstats-7.2/wwwroot/icon/flags/ne.png awstats-7.2/wwwroot/icon/flags/gd.png awstats-7.2/wwwroot/icon/flags/de.png awstats-7.2/wwwroot/icon/flags/br.png awstats-7.2/wwwroot/icon/flags/aq.png awstats-7.2/wwwroot/icon/flags/sl.png awstats-7.2/wwwroot/icon/flags/tf.png awstats-7.2/wwwroot/icon/flags/vu.png awstats-7.2/wwwroot/icon/flags/ec.png awstats-7.2/wwwroot/icon/flags/ve.png awstats-7.2/wwwroot/icon/flags/nc.png awstats-7.2/wwwroot/icon/flags/sm.png awstats-7.2/wwwroot/icon/flags/pt.png awstats-7.2/wwwroot/icon/flags/in.png awstats-7.2/wwwroot/icon/flags/gov.png awstats-7.2/wwwroot/icon/flags/se.png awstats-7.2/wwwroot/icon/flags/fi.png awstats-7.2/wwwroot/icon/flags/ws.png awstats-7.2/wwwroot/icon/flags/gl.png awstats-7.2/wwwroot/icon/flags/cu.png awstats-7.2/wwwroot/icon/flags/mil.png awstats-7.2/wwwroot/icon/flags/nato.png awstats-7.2/wwwroot/icon/flags/lk.png awstats-7.2/wwwroot/icon/flags/rs.png awstats-7.2/wwwroot/icon/flags/io.png awstats-7.2/wwwroot/icon/flags/nb.png awstats-7.2/wwwroot/icon/flags/es_cat.png awstats-7.2/wwwroot/icon/flags/sn.png awstats-7.2/wwwroot/icon/flags/fj.png awstats-7.2/wwwroot/icon/flags/bh.png awstats-7.2/wwwroot/icon/flags/um.png awstats-7.2/wwwroot/icon/flags/mv.png awstats-7.2/wwwroot/icon/flags/mu.png awstats-7.2/wwwroot/icon/flags/tm.png awstats-7.2/wwwroot/icon/flags/bi.png awstats-7.2/wwwroot/icon/flags/vn.png awstats-7.2/wwwroot/icon/flags/to.png awstats-7.2/wwwroot/icon/flags/sd.png awstats-7.2/wwwroot/icon/flags/mn.png awstats-7.2/wwwroot/icon/flags/tg.png awstats-7.2/wwwroot/icon/flags/kg.png awstats-7.2/wwwroot/icon/flags/nz.png awstats-7.2/wwwroot/icon/flags/cl.png awstats-7.2/wwwroot/icon/flags/hn.png awstats-7.2/wwwroot/icon/flags/nr.png awstats-7.2/wwwroot/icon/flags/cn.png awstats-7.2/wwwroot/icon/flags/bw.png awstats-7.2/wwwroot/icon/flags/gs.png awstats-7.2/wwwroot/icon/flags/ke.png awstats-7.2/wwwroot/icon/flags/is.png awstats-7.2/wwwroot/icon/flags/ml.png awstats-7.2/wwwroot/icon/flags/pa.png awstats-7.2/wwwroot/icon/flags/coop.png awstats-7.2/wwwroot/icon/flags/mx.png awstats-7.2/wwwroot/icon/flags/mq.png awstats-7.2/wwwroot/icon/flags/ie.png awstats-7.2/wwwroot/icon/flags/jp.png awstats-7.2/wwwroot/icon/flags/tr.png awstats-7.2/wwwroot/icon/flags/ni.png awstats-7.2/wwwroot/icon/flags/si.png awstats-7.2/wwwroot/icon/flags/tk.png awstats-7.2/wwwroot/icon/flags/sb.png awstats-7.2/wwwroot/icon/flags/iq.png awstats-7.2/wwwroot/icon/flags/jm.png awstats-7.2/wwwroot/icon/flags/tt.png awstats-7.2/wwwroot/icon/flags/eh.png awstats-7.2/wwwroot/icon/flags/uy.png awstats-7.2/wwwroot/icon/flags/ro.png awstats-7.2/wwwroot/icon/flags/sc.png awstats-7.2/wwwroot/icon/flags/sz.png awstats-7.2/wwwroot/icon/flags/va.png awstats-7.2/wwwroot/icon/flags/ck.png awstats-7.2/wwwroot/icon/flags/gq.png awstats-7.2/wwwroot/icon/flags/gh.png awstats-7.2/wwwroot/icon/flags/bd.png awstats-7.2/wwwroot/icon/flags/ip.png awstats-7.2/wwwroot/icon/flags/tn.png awstats-7.2/wwwroot/icon/flags/as.png awstats-7.2/wwwroot/icon/flags/bz.png awstats-7.2/wwwroot/icon/flags/us.png awstats-7.2/wwwroot/icon/flags/hr.png awstats-7.2/wwwroot/icon/flags/ax.png awstats-7.2/wwwroot/icon/flags/eg.png awstats-7.2/wwwroot/icon/flags/am.png awstats-7.2/wwwroot/icon/flags/li.png awstats-7.2/wwwroot/icon/flags/org.png awstats-7.2/wwwroot/icon/flags/td.png awstats-7.2/wwwroot/icon/flags/lu.png awstats-7.2/wwwroot/icon/flags/cy.png awstats-7.2/wwwroot/icon/flags/re.png awstats-7.2/wwwroot/icon/flags/ly.png awstats-7.2/wwwroot/icon/flags/mr.png awstats-7.2/wwwroot/icon/flags/la.png awstats-7.2/wwwroot/icon/flags/nn.png awstats-7.2/wwwroot/icon/flags/vg.png awstats-7.2/wwwroot/icon/flags/gb.png awstats-7.2/wwwroot/icon/flags/su.png awstats-7.2/wwwroot/icon/flags/bn.png awstats-7.2/wwwroot/icon/flags/by.png awstats-7.2/wwwroot/icon/flags/mt.png awstats-7.2/wwwroot/icon/flags/th.png awstats-7.2/wwwroot/icon/flags/im.png awstats-7.2/wwwroot/icon/flags/ng.png awstats-7.2/wwwroot/icon/flags/zw.png awstats-7.2/wwwroot/icon/flags/ai.png awstats-7.2/wwwroot/icon/flags/eu.png awstats-7.2/wwwroot/icon/flags/nl.png awstats-7.2/wwwroot/icon/flags/sr.png awstats-7.2/wwwroot/icon/flags/at.png awstats-7.2/wwwroot/icon/flags/lb.png awstats-7.2/wwwroot/icon/flags/ru.png awstats-7.2/wwwroot/icon/flags/wlk.png awstats-7.2/wwwroot/icon/flags/gt.png awstats-7.2/wwwroot/icon/flags/om.png awstats-7.2/wwwroot/icon/flags/gp.png awstats-7.2/wwwroot/icon/flags/lr.png awstats-7.2/wwwroot/icon/flags/np.png awstats-7.2/wwwroot/icon/flags/yu.png awstats-7.2/wwwroot/icon/flags/mp.png awstats-7.2/wwwroot/icon/flags/cz.png awstats-7.2/wwwroot/icon/flags/gr.png awstats-7.2/wwwroot/icon/flags/pl.png awstats-7.2/wwwroot/icon/flags/qa.png awstats-7.2/wwwroot/icon/flags/ye.png awstats-7.2/wwwroot/icon/flags/mz.png awstats-7.2/wwwroot/icon/flags/gm.png awstats-7.2/wwwroot/icon/flags/al.png awstats-7.2/wwwroot/icon/flags/az.png awstats-7.2/wwwroot/icon/flags/sy.png awstats-7.2/wwwroot/icon/flags/gw.png awstats-7.2/wwwroot/icon/flags/uz.png awstats-7.2/wwwroot/icon/flags/ky.png awstats-7.2/wwwroot/icon/flags/id.png awstats-7.2/wwwroot/icon/flags/nu.png awstats-7.2/wwwroot/icon/flags/ae.png awstats-7.2/wwwroot/icon/flags/tv.png awstats-7.2/wwwroot/icon/flags/ch.png awstats-7.2/wwwroot/icon/flags/ci.png awstats-7.2/wwwroot/icon/flags/kz.png awstats-7.2/wwwroot/icon/flags/vi.png awstats-7.2/wwwroot/icon/flags/il.png awstats-7.2/wwwroot/icon/flags/nt.png awstats-7.2/wwwroot/icon/flags/za.png awstats-7.2/wwwroot/icon/flags/cf.png awstats-7.2/wwwroot/icon/flags/a2.png awstats-7.2/wwwroot/icon/flags/fx.png awstats-7.2/wwwroot/icon/flags/ms.png awstats-7.2/wwwroot/icon/flags/fm.png awstats-7.2/wwwroot/icon/flags/uk.png awstats-7.2/wwwroot/icon/flags/tw.png awstats-7.2/wwwroot/icon/flags/sv.png awstats-7.2/wwwroot/icon/flags/ki.png awstats-7.2/wwwroot/icon/flags/ag.png awstats-7.2/wwwroot/icon/flags/lv.png awstats-7.2/wwwroot/icon/flags/es.png awstats-7.2/wwwroot/icon/flags/es_eu.png awstats-7.2/wwwroot/icon/flags/name.png awstats-7.2/wwwroot/icon/flags/yt.png awstats-7.2/wwwroot/icon/flags/wf.png awstats-7.2/wwwroot/icon/flags/my.png awstats-7.2/wwwroot/icon/flags/sg.png awstats-7.2/wwwroot/icon/flags/an.png awstats-7.2/wwwroot/icon/flags/unknown.png awstats-7.2/wwwroot/icon/flags/kr.png awstats-7.2/wwwroot/icon/flags/gf.png awstats-7.2/wwwroot/icon/flags/pg.png awstats-7.2/wwwroot/icon/flags/cr.png awstats-7.2/wwwroot/icon/flags/aero.png awstats-7.2/wwwroot/icon/flags/ug.png awstats-7.2/wwwroot/icon/flags/ir.png awstats-7.2/wwwroot/icon/flags/kh.png awstats-7.2/wwwroot/icon/flags/ga.png awstats-7.2/wwwroot/icon/flags/ze.png awstats-7.2/wwwroot/icon/flags/bt.png awstats-7.2/wwwroot/icon/flags/dj.png awstats-7.2/wwwroot/icon/flags/py.png awstats-7.2/wwwroot/icon/flags/gi.png awstats-7.2/wwwroot/icon/flags/ao.png awstats-7.2/wwwroot/icon/flags/pro.png awstats-7.2/wwwroot/icon/flags/do.png awstats-7.2/wwwroot/icon/flags/gy.png awstats-7.2/wwwroot/icon/flags/ee.png awstats-7.2/wwwroot/icon/flags/ps.png awstats-7.2/wwwroot/icon/flags/au.png awstats-7.2/wwwroot/icon/flags/tz.png awstats-7.2/wwwroot/icon/flags/sa.png awstats-7.2/wwwroot/icon/flags/bm.png awstats-7.2/wwwroot/icon/flags/no.png awstats-7.2/wwwroot/icon/flags/aw.png awstats-7.2/wwwroot/icon/flags/lt.png awstats-7.2/wwwroot/icon/flags/tc.png awstats-7.2/wwwroot/icon/flags/ba.png awstats-7.2/wwwroot/icon/flags/af.png awstats-7.2/wwwroot/icon/flags/md.png awstats-7.2/wwwroot/icon/flags/be.png awstats-7.2/wwwroot/icon/flags/net.png awstats-7.2/wwwroot/icon/flags/hk.png awstats-7.2/wwwroot/icon/flags/mk.png awstats-7.2/wwwroot/icon/flags/pk.png awstats-7.2/wwwroot/icon/flags/bs.png awstats-7.2/wwwroot/icon/flags/edu.png awstats-7.2/wwwroot/icon/flags/hm.png awstats-7.2/wwwroot/icon/flags/dz.png awstats-7.2/wwwroot/icon/flags/st.png awstats-7.2/wwwroot/icon/flags/bb.png awstats-7.2/wwwroot/icon/flags/me.png awstats-7.2/wwwroot/icon/flags/kp.png awstats-7.2/wwwroot/icon/flags/ls.png awstats-7.2/wwwroot/icon/flags/ge.png awstats-7.2/wwwroot/icon/flags/jo.png awstats-7.2/wwwroot/icon/flags/kw.png awstats-7.2/wwwroot/icon/flags/pe.png awstats-7.2/wwwroot/icon/flags/mc.png awstats-7.2/wwwroot/icon/flags/rw.png awstats-7.2/wwwroot/icon/flags/fo.png awstats-7.2/wwwroot/icon/flags/glg.png awstats-7.2/wwwroot/icon/flags/mg.png awstats-7.2/wwwroot/icon/flags/bf.png awstats-7.2/wwwroot/icon/flags/cx.png awstats-7.2/wwwroot/icon/flags/arpa.png awstats-7.2/wwwroot/icon/flags/ma.png awstats-7.2/wwwroot/icon/flags/hu.png awstats-7.2/wwwroot/icon/flags/info.png awstats-7.2/wwwroot/icon/flags/cd.png awstats-7.2/wwwroot/icon/flags/cv.png awstats-7.2/wwwroot/icon/flags/ht.png awstats-7.2/wwwroot/icon/flags/zm.png awstats-7.2/wwwroot/icon/flags/en.png awstats-7.2/wwwroot/icon/flags/co.png awstats-7.2/wwwroot/icon/flags/bo.png awstats-7.2/wwwroot/icon/flags/mw.png awstats-7.2/wwwroot/icon/flags/dm.png awstats-7.2/wwwroot/icon/flags/i0.png awstats-7.2/wwwroot/icon/flags/fr.png awstats-7.2/wwwroot/icon/flags/bg.png awstats-7.2/wwwroot/icon/flags/er.png awstats-7.2/wwwroot/icon/flags/lc.png awstats-7.2/wwwroot/icon/flags/dk.png awstats-7.2/wwwroot/icon/flags/pf.png awstats-7.2/wwwroot/icon/flags/cg.png awstats-7.2/wwwroot/icon/flags/cc.png awstats-7.2/wwwroot/icon/flags/ac.png awstats-7.2/wwwroot/icon/flags/biz.png awstats-7.2/wwwroot/icon/flags/sk.png awstats-7.2/wwwroot/icon/flags/cm.png awstats-7.2/wwwroot/icon/flags/pr.png awstats-7.2/wwwroot/icon/flags/bj.png awstats-7.2/wwwroot/icon/other/ awstats-7.2/wwwroot/icon/other/menu8.png awstats-7.2/wwwroot/icon/other/menu5.png awstats-7.2/wwwroot/icon/other/he.png awstats-7.2/wwwroot/icon/other/vh.png awstats-7.2/wwwroot/icon/other/menu7.png awstats-7.2/wwwroot/icon/other/awstats_logo1.png awstats-7.2/wwwroot/icon/other/hp.png awstats-7.2/wwwroot/icon/other/vu.png awstats-7.2/wwwroot/icon/other/page.png awstats-7.2/wwwroot/icon/other/awstats_logo5.png awstats-7.2/wwwroot/icon/other/menu2.png awstats-7.2/wwwroot/icon/other/vv.png awstats-7.2/wwwroot/icon/other/menu3.png awstats-7.2/wwwroot/icon/other/hh.png awstats-7.2/wwwroot/icon/other/button.gif awstats-7.2/wwwroot/icon/other/vp.png awstats-7.2/wwwroot/icon/other/menu1.png awstats-7.2/wwwroot/icon/other/menu4.png awstats-7.2/wwwroot/icon/other/backleft.png awstats-7.2/wwwroot/icon/other/awstats_logo6.png awstats-7.2/wwwroot/icon/other/hk.png awstats-7.2/wwwroot/icon/other/vk.png awstats-7.2/wwwroot/icon/other/ht.png awstats-7.2/wwwroot/icon/other/hx.png awstats-7.2/wwwroot/icon/other/menu6.png awstats-7.2/wwwroot/icon/cpu/ awstats-7.2/wwwroot/icon/cpu/hp.png awstats-7.2/wwwroot/icon/cpu/mips.png awstats-7.2/wwwroot/icon/cpu/java.png awstats-7.2/wwwroot/icon/cpu/digital.png awstats-7.2/wwwroot/icon/cpu/ibm.png awstats-7.2/wwwroot/icon/cpu/unknown.png awstats-7.2/wwwroot/icon/cpu/intel.png awstats-7.2/wwwroot/icon/cpu/motorola.png awstats-7.2/wwwroot/icon/cpu/sun.png awstats-7.2/wwwroot/icon/os/ awstats-7.2/wwwroot/icon/os/winxp.png awstats-7.2/wwwroot/icon/os/beos.png awstats-7.2/wwwroot/icon/os/next.png awstats-7.2/wwwroot/icon/os/openbsd.png awstats-7.2/wwwroot/icon/os/linuxredhat.png awstats-7.2/wwwroot/icon/os/webtv.png awstats-7.2/wwwroot/icon/os/winvista.png awstats-7.2/wwwroot/icon/os/amigaos.png awstats-7.2/wwwroot/icon/os/winnt.png awstats-7.2/wwwroot/icon/os/bsdi.png awstats-7.2/wwwroot/icon/os/linuxzenwalk.png awstats-7.2/wwwroot/icon/os/riscos.png awstats-7.2/wwwroot/icon/os/freebsd.png awstats-7.2/wwwroot/icon/os/palmos.png awstats-7.2/wwwroot/icon/os/sunos.png awstats-7.2/wwwroot/icon/os/psp.png awstats-7.2/wwwroot/icon/os/win7.png awstats-7.2/wwwroot/icon/os/linuxubuntu.png awstats-7.2/wwwroot/icon/os/commodore.png awstats-7.2/wwwroot/icon/os/ios.png awstats-7.2/wwwroot/icon/os/java.png awstats-7.2/wwwroot/icon/os/linuxpclinuxos.png awstats-7.2/wwwroot/icon/os/win2000.png awstats-7.2/wwwroot/icon/os/linuxandroid.png awstats-7.2/wwwroot/icon/os/macosx7.png awstats-7.2/wwwroot/icon/os/wii.png awstats-7.2/wwwroot/icon/os/macosx6.png awstats-7.2/wwwroot/icon/os/bsdkfreebsd.png awstats-7.2/wwwroot/icon/os/linuxfedora.png awstats-7.2/wwwroot/icon/os/linuxgentoo.png awstats-7.2/wwwroot/icon/os/digital.png awstats-7.2/wwwroot/icon/os/ibm.png awstats-7.2/wwwroot/icon/os/j2me.png awstats-7.2/wwwroot/icon/os/iphone.png awstats-7.2/wwwroot/icon/os/macintosh.png awstats-7.2/wwwroot/icon/os/linuxvine.png awstats-7.2/wwwroot/icon/os/dos.png awstats-7.2/wwwroot/icon/os/symbian.png awstats-7.2/wwwroot/icon/os/win2003.png awstats-7.2/wwwroot/icon/os/win2008.png awstats-7.2/wwwroot/icon/os/debian.png awstats-7.2/wwwroot/icon/os/gnu.png awstats-7.2/wwwroot/icon/os/imode.png awstats-7.2/wwwroot/icon/os/bsdopenbsd.png awstats-7.2/wwwroot/icon/os/winme.png awstats-7.2/wwwroot/icon/os/winlong.png awstats-7.2/wwwroot/icon/os/mac.png awstats-7.2/wwwroot/icon/os/unix.png awstats-7.2/wwwroot/icon/os/aix.png awstats-7.2/wwwroot/icon/os/win95.png awstats-7.2/wwwroot/icon/os/linuxdebian.png awstats-7.2/wwwroot/icon/os/syllable.png awstats-7.2/wwwroot/icon/os/inferno.png awstats-7.2/wwwroot/icon/os/apple.png awstats-7.2/wwwroot/icon/os/os2.png awstats-7.2/wwwroot/icon/os/blackberry.png awstats-7.2/wwwroot/icon/os/winxbox.png awstats-7.2/wwwroot/icon/os/macosx4.png awstats-7.2/wwwroot/icon/os/sco.png awstats-7.2/wwwroot/icon/os/winunknown.png awstats-7.2/wwwroot/icon/os/bsdnetbsd.png awstats-7.2/wwwroot/icon/os/linuxsuse.png awstats-7.2/wwwroot/icon/os/linuxcentos.png awstats-7.2/wwwroot/icon/os/qnx.png awstats-7.2/wwwroot/icon/os/kfreebsd.png awstats-7.2/wwwroot/icon/os/unknown.png awstats-7.2/wwwroot/icon/os/atari.png awstats-7.2/wwwroot/icon/os/wince.png awstats-7.2/wwwroot/icon/os/win.png awstats-7.2/wwwroot/icon/os/bsddflybsd.png awstats-7.2/wwwroot/icon/os/hpux.png awstats-7.2/wwwroot/icon/os/linuxasplinux.png awstats-7.2/wwwroot/icon/os/macosx.png awstats-7.2/wwwroot/icon/os/irix.png awstats-7.2/wwwroot/icon/os/netware.png awstats-7.2/wwwroot/icon/os/netbsd.png awstats-7.2/wwwroot/icon/os/dreamcast.png awstats-7.2/wwwroot/icon/os/win16.png awstats-7.2/wwwroot/icon/os/linuxmandr.png awstats-7.2/wwwroot/icon/os/macosx9.png awstats-7.2/wwwroot/icon/os/bsdfreebsd.png awstats-7.2/wwwroot/icon/os/linux.png awstats-7.2/wwwroot/icon/os/cpm.png awstats-7.2/wwwroot/icon/os/macosx8.png awstats-7.2/wwwroot/icon/os/osf.png awstats-7.2/wwwroot/icon/os/win98.png awstats-7.2/wwwroot/icon/os/bsd.png awstats-7.2/wwwroot/icon/os/vms.png awstats-7.2/wwwroot/icon/os/macosx5.png awstats-7.2/wwwroot/icon/mime/ awstats-7.2/wwwroot/icon/mime/php.png awstats-7.2/wwwroot/icon/mime/html.png awstats-7.2/wwwroot/icon/mime/mdb.png awstats-7.2/wwwroot/icon/mime/rar.png awstats-7.2/wwwroot/icon/mime/xls.png awstats-7.2/wwwroot/icon/mime/ppt.png awstats-7.2/wwwroot/icon/mime/doc.png awstats-7.2/wwwroot/icon/mime/page.png awstats-7.2/wwwroot/icon/mime/image.png awstats-7.2/wwwroot/icon/mime/ooffice.png awstats-7.2/wwwroot/icon/mime/phshop.png awstats-7.2/wwwroot/icon/mime/text.png awstats-7.2/wwwroot/icon/mime/ttf.png awstats-7.2/wwwroot/icon/mime/crystal.png awstats-7.2/wwwroot/icon/mime/jscript.png awstats-7.2/wwwroot/icon/mime/wmv.png awstats-7.2/wwwroot/icon/mime/flash.png awstats-7.2/wwwroot/icon/mime/real.png awstats-7.2/wwwroot/icon/mime/encrypt.png awstats-7.2/wwwroot/icon/mime/lit.png awstats-7.2/wwwroot/icon/mime/svg.png awstats-7.2/wwwroot/icon/mime/css.png awstats-7.2/wwwroot/icon/mime/ai.png awstats-7.2/wwwroot/icon/mime/dotnet.png awstats-7.2/wwwroot/icon/mime/jnlp.png awstats-7.2/wwwroot/icon/mime/video.png awstats-7.2/wwwroot/icon/mime/pl.png awstats-7.2/wwwroot/icon/mime/readme.txt awstats-7.2/wwwroot/icon/mime/runtime.png awstats-7.2/wwwroot/icon/mime/unknown.png awstats-7.2/wwwroot/icon/mime/pdf.png awstats-7.2/wwwroot/icon/mime/glasses.png awstats-7.2/wwwroot/icon/mime/quicktime.png awstats-7.2/wwwroot/icon/mime/other.png awstats-7.2/wwwroot/icon/mime/csv.png awstats-7.2/wwwroot/icon/mime/document.png awstats-7.2/wwwroot/icon/mime/archive.png awstats-7.2/wwwroot/icon/mime/library.png awstats-7.2/wwwroot/icon/mime/rss.png awstats-7.2/wwwroot/icon/mime/script.png awstats-7.2/wwwroot/icon/mime/xsl.png awstats-7.2/wwwroot/icon/mime/notavailable.png awstats-7.2/wwwroot/icon/mime/audio.png awstats-7.2/wwwroot/js/ awstats-7.2/wwwroot/js/awstats_misc_tracker.js awstats-7.2/docs/ awstats-7.2/docs/awstats_dolibarr.html awstats-7.2/docs/awstats_dev_plugins_graphs.html awstats-7.2/docs/awstats_extra.html awstats-7.2/docs/index.html awstats-7.2/docs/awstats_faq.html awstats-7.2/docs/awstats_security.html awstats-7.2/docs/awstats.pdf awstats-7.2/docs/awstats_changelog.txt awstats-7.2/docs/LICENSE.TXT awstats-7.2/docs/awstats_compare.html awstats-7.2/docs/awstats_setup.html awstats-7.2/docs/awstats_contrib.html awstats-7.2/docs/awstats_glossary.html awstats-7.2/docs/awstats_upgrade.html awstats-7.2/docs/COPYING.TXT awstats-7.2/docs/awstats_dev_plugins.html awstats-7.2/docs/awstats_webmin.html awstats-7.2/docs/awstats_license.html awstats-7.2/docs/images/ awstats-7.2/docs/images/awstats_logo2.png awstats-7.2/docs/images/awstats_logo1.png awstats-7.2/docs/images/awstats_logo5.png awstats-7.2/docs/images/screen_shot_4.png awstats-7.2/docs/images/screen_shot_large_1.jpg awstats-7.2/docs/images/awstats_logo3.png awstats-7.2/docs/images/screen_shot_1.gif awstats-7.2/docs/images/awstats.png awstats-7.2/docs/images/awstats_logo1.gif awstats-7.2/docs/images/awstats_logo4.gif awstats-7.2/docs/images/star.png awstats-7.2/docs/images/screen_shot_5.png awstats-7.2/docs/images/screen_shot_large_3.jpg awstats-7.2/docs/images/screen_shot_large_4.jpg awstats-7.2/docs/images/awstats_logo4.png awstats-7.2/docs/images/screen_shot_3.png awstats-7.2/docs/images/screen_shot_1.jpg awstats-7.2/docs/images/screen_shot_1.png awstats-7.2/docs/images/awstats.ico awstats-7.2/docs/images/awstats.gif awstats-7.2/docs/images/awstats_logo3.gif awstats-7.2/docs/images/screen_shot_large_5.jpg awstats-7.2/docs/images/awstats_logo2.gif awstats-7.2/docs/images/awstats_logo6.png awstats-7.2/docs/images/screen_shot_large_2.jpg awstats-7.2/docs/images/screen_shot_2.png awstats-7.2/docs/images/awstats_logo5.gif awstats-7.2/docs/images/license_chart.png awstats-7.2/docs/awstats_what.html awstats-7.2/docs/pad_awstats.xml awstats-7.2/docs/awstats_tools.html awstats-7.2/docs/scripts/ awstats-7.2/docs/scripts/prettify.css awstats-7.2/docs/scripts/lang-lua.js awstats-7.2/docs/scripts/lang-lisp.js awstats-7.2/docs/scripts/lang-ml.js awstats-7.2/docs/scripts/lang-vb.js awstats-7.2/docs/scripts/lang-proto.js awstats-7.2/docs/scripts/lang-hs.js awstats-7.2/docs/scripts/lang-wiki.js awstats-7.2/docs/scripts/prettify.js awstats-7.2/docs/scripts/lang-css.js awstats-7.2/docs/scripts/lang-sql.js awstats-7.2/docs/scripts/lang-apollo.js awstats-7.2/docs/awstats_dev_plugins_hooks.html awstats-7.2/docs/styles.css awstats-7.2/docs/awstats_benchmark.html awstats-7.2/docs/awstats_config.html awstats-7.2/README.TXT
Installation
Wertvolle Hinweise für die weitere Installation finden wir in der Datei README.TXT.
# less /usr/share/awstats-7.2/README.TXT
- /usr/share/awstats-7.2/README.TXT
------------- AWStats -------------- Advanced Web Statistics ------------------------------------ AWStats (Advanced Web Statistics) is a powerful, full-featured web server logfile analyzer which shows you all your Web statistics including: visitors, pages, hits, hours, search engines, keywords used to find your site, broken links, robots and many more... It works with IIS 5.0+, Apache and all major web, wap, proxy, streaming server log files (and even ftp servers or mail logs) on all Operating Systems. License: GNU GPL v3+ (GNU General Public License. See LICENSE file), OSI Certified Open Source Software license. Version: 7.2 Release date: June 2013 Platforms: All (Linux, NT, BSD, Solaris and other *NIX's, BeOS, OS/2...) Author: Laurent Destailleur <eldy@users.sourceforge.net> AWStats official web site and latest version: http://www.awstats.org I - Features and requirements of AWStats I - 1) Features, what AWStats can show you I - 2) Requirements for using AWStats I - 3) Files II - Install, Setup and Use AWStats III - Benchmark IV - About the author, license and support I - FEATURES AND REQUIREMENTS ------------------------------------ I - 1) Features A full log analysis enables AWStats to show you the following information: * Number of VISITS and UNIQUE VISITORS * Visits duration and last visits * Authenticated users, and last authenticated visits * Days of week and rush hours (pages, hits, KB for each day and hour) * Domains/countries of hosts visitors (pages, hits, KB) * Hosts list, last visits and unresolved IP addresses list * Most viewed, entry and exit pages * File types * Web compression statistics (for mod_gzip or mod_deflate) * Browsers used (pages, hits, kb for each browser) * OS used (pages, hits, KB for each OS) * Robot visits * Worm attacks * Download and continuation detection * Search engines, keyphrases and keywords used to find your site * HTTP errors (Page not found with last referer, etc,) * Screen size report * Number of times your site is "added to favourites bookmarks" * Ratio of Browsers that support: Java, Flash, RealG2 reader, Quicktime reader, WMA reader, PDF reader * Cluster report for load balanced servers ratio * Other personalized reports... It supports the following features as well: * Can analyze all log formats * Works from command line and from a browser as a CGI (with dynamic filters capabilities for some charts) * Update of statistics can be made on demand from the web interface and not only from your scheduler * Unlimited log file size, support split log files (load balancing system) * Support 'nearly sorted' log files even for entry and exit pages * Reverse DNS lookup before or during analysis, supports DNS cache files * Country detection from IP location or domain name * WhoIS links * A lot of options/filters and plugins can be used * Multi-named web sites supported (virtual servers) * Cross Site Scripting Attacks protection * Several languages * No need of rare perl libraries * Dynamic reports as CGI output * Static reports in one or framed HTML or XHTML pages * Experimental PDF export * Look and colors can match your site design (CSS) * Help and tooltips on HTML reported pages * Easy to use (Just one configuration file to edit) * Analysis database can be stored in XML format (for XSLT processing, ...) * A Webmin module * Free (GNU GPL) with sources (perl scripts) * Available on all platforms I - 2) Requirements To use AWStats CGI script, you need the following requirements: * Your server must log web access in a log file you can read. * To run awstats, from command line, your operating system must be able to run perl scripts (.pl files). * Perl module "Encode" must be available. To run awstats as a CGI (for real-time statistics), your web server must also be able to run such scripts. If not, you can solve this by downloading last Perl version at: http://www.activestate.com/ActivePerl/ (Windows) http://www.perl.com/pub/language/info/software.html (All OS) I - 3) Files The distribution of AWStats package includes the following files: README.TXT This file docs/LICENSE GNU General Public Licence docs/* AWStats documentation (setup/usage...) wwwroot/cgi-bin/awstats.pl THE MAIN AWSTATS PROGRAM (CLI/CGI) wwwroot/cgi-bin/awredir.pl A tool to track exit clicks wwwroot/cgi-bin/awstats.model.conf An model configuration file wwwroot/cgi-bin/lang Directory with languages files wwwroot/cgi-bin/lib Directory with awstats reference info wwwroot/cgi-bin/plugins Directory with optional plugins wwwroot/icon/browser Directory with browsers icons wwwroot/icon/clock Directory with clock icons wwwroot/icon/cpu Directory with cpu icons wwwroot/icon/flags Directory with country flag icons wwwroot/icon/os Directory with OS icons wwwroot/icon/other Directory with all others icons wwwroot/classes Java applet for graphapplet plugin wwwroot/css Samples of CSS files wwwroot/js Javascript sources for "Misc" feature tools/* Other provided tools tools/webmin/awstats-x.x.wbm A Webmin module for AWStats tools/xslt/awstats61.xsd AWStats XML database schema descriptor tools/xslt/* Demo to manipulate AWStats XML database II - INSTALL, SETUP AND USE AWSTATS ----------------------------------- The documentation available for this release in HTML format is in the docs/ directory. You can find a most up-to-date documentation at: http://www.awstats.org III - BENCHMARK ----------------------------------- Tests and results are available in AWStats documentation, in docs/ directory. IV - ABOUT THE AUTHOR, LICENSE AND SUPPORT ----------------------------------------- Copyright (C) 2000-2013 - Laurent Destailleur - eldy@users.sourceforge.net This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Die Anleitung zur Installation findet sich in unserem Programmverzeichnis.
# elinks /usr/share/awstats-7.2/docs/awstats_setup.html
Alternativ findet man die nötigen Informationen auch in der Onlinedokumentation.
$ firefox http://www.awstats.org/docs/awstats_setup.html
bzw.
$ firefox http://www.awstats.org/docs/awstats.pdf#page=4&zoom=100,0,764
Bei der Installation können wir nun auf das mitgelieferte Script zurückgreifen.
# perl /usr/share/awstats-7.2/tools/awstats_configure.pl
----- AWStats awstats_configure 1.0 (build 1.9) (c) Laurent Destailleur ----- This tool will help you to configure AWStats to analyze statistics for one web server. You can try to use it to let it do all that is possible in AWStats setup, however following the step by step manual setup documentation (docs/index.html) is often a better idea. Above all if: - You are not an administrator user, - You want to analyze downloaded log files without web server, - You want to analyze mail or ftp log files instead of web log files, - You need to analyze load balanced servers log files, - You want to 'understand' all possible ways to use AWStats... Read the AWStats documentation (docs/index.html). -----> Running OS detected: Linux, BSD or Unix Warning: AWStats standard directory on Linux OS is '/usr/local/awstats'. If you want to use standard directory, you should first move all content of AWStats distribution from current directory: /usr/local to standard directory: /usr/local/awstats And then, run configure.pl from this location. Do you want to continue setup from this NON standard directory [yN] ?
Aber wie heißt es da nun so schön however following the step by step manual setup documentation is often a better idea. Wir brechen also die Konfiguration ab und ziehen den weg der manuellen Konfiguration vor. ;)
Damit wir später bei etwaigen Updates der Programmquellen von awstats nicht die ganzen Konfigurationen anpassen müssen, setzen wir noch einen symbolischen link auf das aktuelle Verzeichnis /usr/share/awstats-7.2/.
# ln -s /usr/share/awstats-7.2/ /usr/share/awstats
Für unsere Konfigurationsdateien legen wir nun im ersten Schritt das benötigte Verzeichnis an.
# mkdir /etc/awstats
Anschließend kopieren wir die Vorlage-Datei awstats.model.conf in unser zuvor angelegtes Konfigurationsverzeichnis.
# cp /usr/share/awstats/wwwroot/cgi-bin/awstats.model.conf /etc/awstats/
Für die Statistikfiles (Datenbanken) legen wir noch ein passendes Verzeichnis an.
# mkdir /usr/share/awstats/wwwdata
Damit unser systemuser apache später auch auf das Verzeichnis mit dem Webinhalt zugreifen kann, passen wir nun noch die Rechte entsprechend an.
# chown apache.apache /usr/share/awstats/wwwroot/ -R
Cronjob für Statistikaufbereitung
Wie Eingangs schon erwähnt, besteht AWStats im Grunde aus zwei Teilen, der Statistikaufberreitung - sozusagen das backend und dem zweiten Teil der Darstellung und Präsentation durch den Webserver, das frontend.
Damit das backend nun regelmäßig die Webserver-Logfiles zusammenfasst und die AWStats-Datenbankfiles erstellen kann, benötigen wir ein passendes Script, welches wir nun anlegen.
# vim /etc/cron.hourly/00awstats
- /etc/cron.hourly/00awstats
#!/bin/bash if [ -f /var/log/httpd/access_log ] ; then exec /usr/share/awstats/tools/awstats_updateall.pl now -confdir="/etc/awstats" -awstatsprog="/usr/share/awstats/wwwroot/cgi-bin/awstats.pl" >/dev/null fi exit 0
Logrotate
In regelmäßigen Abständen werden die Logfiles unseres Webserver rotiert, d.h. es werden die Alten Daten gapackt und eine neue Logdatei angelegt.
AWStats kann jedoch nur auf das aktuelle Logfile zugreifen, nicht aber auf die bereits archivierten. Damit nun keine Statistik-Daten verloren gehen, müssen wir noch sicherstellen, dass vor dem Archivierungsintervall von logrotate, AWStats einen Update seiner Statistikfiles machen kann.
Hierzu tragen wir nachfolgende Zeilen in die zentrale „syslog-logrotate-Konfigurationsdatei“ /etc/logrotate.d/syslog ein:
prerotate /usr/share/awstats/tools/awstats_updateall.pl now -confdir="/etc/awstats" -awstatsprog="/usr/share/awstats/wwwroot/cgi-bin/awstats.pl" >/dev/null endscrip
# vim /etc/logrotate.d/syslog
- /etc/logrotate.d/syslog
/var/log/cron /var/log/maillog /var/log/messages /var/log/secure /var/log/spooler { sharedscripts prerotate /usr/share/awstats/tools/awstats_updateall.pl now -confdir="/etc/awstats" -awstatsprog="/usr/share/awstats/wwwroot/cgi-bin/awstats.pl" >/dev/null endscrip postrotate /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true endscript }
Konfiguration des Apache vHosts
Mit dem Editor unserer Wahl ergänzen wir nun unsere virtuellen Hosts um einen weiteren:
# vim /etc/httpd/conf.d/vhosts.conf
- /etc/httpd/conf.d/vhosts.conf
# # aw-stats.nausch.org # <VirtualHost *:80> ServerAdmin webmaster@nausch.org ServerName awstats.nausch.org ServerAlias www.awstats.nausch.org ServerPath / DocumentRoot "/usr/share/awstats/wwwroot" <Directory "/usr/share/awstats/wwwdata"> Options None Order deny,allow Deny from all </Directory> <Directory "/usr/share/awstats/wwwroot"> AllowOverride None Options +ExecCGI DirectoryIndex awstats.pl Order deny,allow Deny from all Allow from 127.0.0.1 Allow from 10.0.0.0/24 Allow from 10.0.10.0/26 </Directory> Alias /awstatsclasses "/usr/share/awstats/wwwroot/classes/" Alias /awstatscss "/usr/share/awstats/wwwroot/css/" Alias /awstatsicons "/usr/share/awstats/wwwroot/icon/" Alias /awstats/icon /usr/share/awstats/wwwroot/icon ScriptAlias / "/usr/share/awstats/wwwroot/cgi-bin/" ErrorLog logs/awstats_error.log CustomLog logs/awstats_access.log combined </VirtualHost>
Bevor wir unsere Konfigurationsänderung scharf schalten, überprüfen wir noch kurzer Hand die Änderungen auf syntaktische Fehler.
# service httpd configtest
Ist alles O.K. starten wir unseren Webserver durch, damit unsere Änderungen auch wirksam werden:
#service httpd restart
Konfiguration der ersten Webseite
Für die Auswertung unserer ersten Webseite, legen wir uns eine entsprechende Konfigurationsdatei an. Hierzu kopieren wir einfach die Vorlage-Datei.
# cp /etc/awstats/awstats.model.conf /etc/awstats/awstats.dokuwiki.nausch.org.conf
Mit dem Editor unserer Wahl passen wir nun die Parameter unseren Gegebenheiten nach an.
# vim /etc/awstats/awstats.dokuwiki.nausch.org.conf
- /etc/awstats/awstats.dokuwiki.nausch.org.conf
# AWSTATS CONFIGURE FILE 7.0 #----------------------------------------------------------------------------- # Copy this file into awstats.www.mydomain.conf and edit this new config file # to setup AWStats (See documentation in docs/ directory). # The config file must be in /etc/awstats, /usr/local/etc/awstats or /etc (for # Unix/Linux) or same directory than awstats.pl (Windows, Mac, Unix/Linux...) # To include an environment variable in any parameter (AWStats will replace # it with its value when reading it), follow the example: # Parameter="__ENVNAME__" # Note that environment variable AWSTATS_CURRENT_CONFIG is always defined with # the config value in an AWStats running session and can be used like others. #----------------------------------------------------------------------------- # $Revision: 1.350 $ - $Author: eldy $ - $Date: 2010/09/29 19:16:21 $ #----------------------------------------------------------------------------- # MAIN SETUP SECTION (Required to make AWStats work) #----------------------------------------------------------------------------- # "LogFile" contains the web, ftp or mail server log file to analyze. # Possible values: A full path, or a relative path from awstats.pl directory. # Example: "/var/log/apache/access.log" # Example: "../logs/mycombinedlog.log" # You can also use tags in this filename if you need a dynamic file name # depending on date or time (Replacement is made by AWStats at the beginning # of its execution). This is available tags : # %YYYY-n is replaced with 4 digits year we were n hours ago # %YY-n is replaced with 2 digits year we were n hours ago # %MM-n is replaced with 2 digits month we were n hours ago # %MO-n is replaced with 3 letters month we were n hours ago # %DD-n is replaced with day we were n hours ago # %HH-n is replaced with hour we were n hours ago # %NS-n is replaced with number of seconds at 00:00 since 1970 # %WM-n is replaced with the week number in month (1-5) # %Wm-n is replaced with the week number in month (0-4) # %WY-n is replaced with the week number in year (01-52) # %Wy-n is replaced with the week number in year (00-51) # %DW-n is replaced with the day number in week (1-7, 1=sunday) # use n=24 if you need (1-7, 1=monday) # %Dw-n is replaced with the day number in week (0-6, 0=sunday) # use n=24 if you need (0-6, 0=monday) # Use 0 for n if you need current year, month, day, hour... # Example: "/var/log/access_log.%YYYY-0%MM-0%DD-0.log" # Example: "C:/WINNT/system32/LogFiles/W3SVC1/ex%YY-24%MM-24%DD-24.log" # You can also use a pipe if log file come from a pipe : # Example: "gzip -d </var/log/apache/access.log.gz |" # If there are several log files from load balancing servers : # Example: "/pathtotools/logresolvemerge.pl *.log |" # # Django : 2012-07-04 # default: LogFile="/var/log/httpd/access_log" LogFile="/var/log/httpd/dokuwiki_access.log" # Enter the log file type you want to analyze. # Possible values: # W - For a web log file # S - For a streaming log file # M - For a mail log file # F - For a ftp log file # Example: W # Default: W # LogType=W # Enter here your log format (Must match your web server config. See setup # instructions in documentation to know how to configure your web server to # have the required log format). # Possible values: 1,2,3,4 or "your_own_personalized_log_format" # 1 - Apache or Lotus Notes/Domino native combined log format (NCSA combined/XLF/ELF log format) # 2 - IIS or ISA format (IIS W3C log format). See FAQ-COM115 For ISA. # 3 - Webstar native log format. # 4 - Apache or Squid native common log format (NCSA common/CLF log format) # With LogFormat=4, some features (browsers, os, keywords...) can't work. # "your_own_personalized_log_format" = If your log is ftp, mail or other format, # you must use following keys to define the log format string (See FAQ for # ftp, mail or exotic web log format examples): # %host Client hostname or IP address (or Sender host for mail log) # %host_r Receiver hostname or IP address (for mail log) # %lognamequot Authenticated login/user with format: "john" # %logname Authenticated login/user with format: john # %time1 Date and time with format: [dd/mon/yyyy:hh:mm:ss +0000] or [dd/mon/yyyy:hh:mm:ss] # %time2 Date and time with format: yyyy-mm-dd hh:mm:ss # %time3 Date and time with format: Mon dd hh:mm:ss or Mon dd hh:mm:ss yyyy # %time4 Date and time with unix timestamp format: dddddddddd # %methodurl Method and URL with format: "GET /index.html HTTP/x.x" # %methodurlnoprot Method and URL with format: "GET /index.html" # %method Method with format: GET # %url URL only with format: /index.html # %query Query string (used by URLWithQuery option) # %code Return code status (with format for web log: 999) # %bytesd Size of document in bytes # %refererquot Referer page with format: "http://from.com/from.htm" # %referer Referer page with format: http://from.com/from.htm # %uabracket User agent with format: [Mozilla/4.0 (compatible, ...)] # %uaquot User agent with format: "Mozilla/4.0 (compatible, ...)" # %ua User agent with format: Mozilla/4.0_(compatible...) # %gzipin mod_gzip compression input bytes: In:XXX # %gzipout mod_gzip compression output bytes & ratio: Out:YYY:ZZpct. # %gzipratio mod_gzip compression ratio: ZZpct. # %deflateratio mod_deflate compression ratio with format: (ZZ) # %email EMail sender (for mail log) # %email_r EMail receiver (for mail log) # %virtualname Web sever virtual hostname. Use this tag when same log # contains data of several virtual web servers. AWStats # will discard records not in SiteDomain nor HostAliases # %cluster If log file is provided from several computers (merged by # logresolvemerge.pl), use this to define cluster id field. # %extraX Another field that you plan to use for building a # personalized report with ExtraSection feature (See later). # If your log format has some fields not included in this list, use: # %other Means another not used field # %otherquot Means another not used double quoted field # # Examples for Apache combined logs (following two examples are equivalent): # LogFormat = 1 # LogFormat = "%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot" # # Example for IIS: # LogFormat = 2 # LogFormat=1 # If your log field's separator is not a space, you can change this parameter. # This parameter is not used if LogFormat is a predefined value (1,2,3,4) # Backslash can be used as escape character. # Example: " " # Example: "\t" # Example: "\|" # Example: "," # Default: " " # LogSeparator=" " # "SiteDomain" must contain the main domain name, or the main intranet web # server name, used to reach the web site. # If you share the same log file for several virtual web servers, this # parameter is used to tell AWStats to filter record that contains records for # this virtual host name only (So check that this virtual hostname can be # found in your log file and use a personalized log format that include the # %virtualname tag). # But for multi hosting a better solution is to have one log file for each # virtual web server. In this case, this parameter is only used to generate # full URL's links when ShowLinksOnUrl option is set to 1. # If analyzing mail log, enter here the domain name of mail server. # Example: "myintranetserver" # Example: "www.domain.com" # Example: "ftp.domain.com" # Example: "domain.com" # # Django : 2012-07-04 # default SiteDomain="localhost.localdomain" SiteDomain="dokuwiki.nausch.org" # Enter here all other possible domain names, addresses or virtual host # aliases someone can use to access your site. Try to keep only the minimum # number of possible names/addresses to have the best performances. # You can repeat the "SiteDomain" value in this list. # This parameter is used to analyze referer field in log file and to help # AWStats to know if a referer URL is a local URL of same site or an URL of # another site. # Note: Use space between each value. # Note: You can use regular expression values writing value with REGEX[value]. # Note: You can also use @/mypath/myfile if list of aliases are in a file. # Example: "www.myserver.com localhost 127.0.0.1 REGEX[mydomain\.(net|org)$]" # # Django : 2012-07-04 # default: HostAliases="localhost 127.0.0.1" HostAliases=„localhost 127.0.0.1 REGEX[nausch\.org$] REGEX[www\.nausch\.org$]“ # If you want to have hosts reported by name instead of ip address, AWStats # need to make reverse DNS lookups (if not already done in your log file). # With DNSLookup to 0, all hosts will be reported by their IP addresses and # not by the full hostname of visitors (except if names are already available # in log file). # If you want/need to set DNSLookup to 1, don't forget that this will reduce # dramatically AWStats update process speed. Do not use on large web sites. # Note: Reverse DNS lookup is done on IPv4 only (Enable ipv6 plugin for IPv6). # Note: Result of DNS Lookup can be used to build the Country report. However # it is highly recommanded to enable the plugin 'geoip' or 'geoipfree' to # have an accurate Country report with no need of DNS Lookup. # Possible values: # 0 - No DNS Lookup # 1 - DNS Lookup is fully enabled # 2 - DNS Lookup is made only from static DNS cache file (if it exists) # Default: 2 # DNSLookup=2 # When AWStats updates its statistics, it stores results of its analysis in # files (AWStats database). All those files are written in the directory # defined by the "DirData" parameter. Set this value to the directory where # you want AWStats to save its database and working files into. # Warning: If you want to be able to use the "AllowToUpdateStatsFromBrowser" # feature (see later), you need "Write" permissions by web server user on this # directory (and "Modify" for Windows NTFS file systems). # Example: "/var/lib/awstats" # Example: "../data" # Example: "C:/awstats_data_dir" # Default: "." (means same directory as awstats.pl) # DirData="/var/www/awstats" # Relative or absolute web URL of your awstats cgi-bin directory. # This parameter is used only when AWStats is run from command line # with -output option (to generate links in HTML reported page). # Example: "/awstats" # Default: "/cgi-bin" (means awstats.pl is in "/yourwwwroot/cgi-bin") # DirCgi="/awstats" # Relative or absolute web URL of your awstats icon directory. # If you build static reports ("... -output > outputpath/output.html"), enter # path of icon directory relative to the output directory 'outputpath'. # Example: "/awstatsicons" # Example: "../icon" # Default: "/icon" (means you must copy icon directories in "/mywwwroot/icon") # DirIcons="/awstats/icon" # When this parameter is set to 1, AWStats adds a button on report page to # allow to "update" statistics from a web browser. Warning, when "update" is # made from a browser, AWStats is run as a CGI by the web server user defined # in your web server (user "nobody" by default with Apache, "IUSR_XXX" with # IIS), so the "DirData" directory and all already existing history files # awstatsMMYYYY[.xxx].txt must be writable by this user. Change permissions if # necessary to "Read/Write" (and "Modify" for Windows NTFS file systems). # Warning: Update process can be long so you might experience "time out" # browser errors if you don't launch AWStats frequently enough. # When set to 0, update is only made when AWStats is run from the command # line interface (or a task scheduler). # Possible values: 0 or 1 # Default: 0 # # Django : 2012-07-04 # default: AllowToUpdateStatsFromBrowser=0 AllowToUpdateStatsFromBrowser=1 # AWStats saves and sorts its database on a month basis (except if using # databasebreak option from command line). # However, if you choose the -month=all from command line or # value '-Year-' from CGI combo form to have a report for all year, AWStats # needs to reload all data for full year (each month), and sort them, # requiring a large amount of time, memory and CPU. This might be a problem # for web hosting providers that offer AWStats for large sites, on shared # servers, to non CPU cautious customers. # For this reason, the 'full year' is only enabled on Command Line by default. # You can change this by setting this parameter to 0, 1, 2 or 3. # Possible values: # 0 - Never allowed # 1 - Allowed on CLI only, -Year- value in combo is not visible # 2 - Allowed on CLI only, -Year- value in combo is visible but not allowed # 3 - Possible on CLI and CGI # Default: 2 # AllowFullYearView=2 #----------------------------------------------------------------------------- # OPTIONAL SETUP SECTION (Not required but increase AWStats features) #----------------------------------------------------------------------------- # When the update process runs, AWStats can set a lock file in TEMP or TMP # directory. This lock is to avoid to have 2 update processes running at the # same time to prevent unknown conflicts problems and avoid DoS attacks when # AllowToUpdateStatsFromBrowser is set to 1. # Because, when you use lock file, you can experience sometimes problems in # lock file not correctly removed (killed process for example requires that # you remove the file manualy), this option is not enabled by default (Do # not enable this option with no console server access). # Change : Effective immediatly # Possible values: 0 or 1 # Default: 0 # EnableLockForUpdate=1 # AWStats can do reverse DNS lookups through a static DNS cache file that was # previously created manually. If no path is given in static DNS cache file # name, AWStats will search DirData directory. This file is never changed. # This option is not used if DNSLookup=0. # Note: DNS cache file format is 'minsince1970 ipaddress resolved_hostname' # or just 'ipaddress resolved_hostname' # Change : Effective for new updates only # Example: "/mydnscachedir/dnscache" # Default: "dnscache.txt" # DNSStaticCacheFile="dnscache.txt" # AWStats can do reverse DNS lookups through a DNS cache file that was created # by a previous run of AWStats. This file is erased and recreated after each # statistics update process. You don't need to create and/or edit it. # AWStats will read and save this file in DirData directory. # This option is used only if DNSLookup=1. # Note: If a DNSStaticCacheFile is available, AWStats will check for DNS # lookup in DNSLastUpdateCacheFile after checking into DNSStaticCacheFile. # Change : Effective for new updates only # Example: "/mydnscachedir/dnscachelastupdate" # Default: "dnscachelastupdate.txt" # DNSLastUpdateCacheFile="dnscachelastupdate.txt" # You can specify specific IP addresses that should NOT be looked up in DNS. # This option is used only if DNSLookup=1. # Note: Use space between each value. # Note: You can use regular expression values writing value with REGEX[value]. # Change : Effective for new updates only # Example: "123.123.123.123 REGEX[^192\.168\.]" # Default: "" # SkipDNSLookupFor="" # The following two parameters allow you to protect a config file from being # read by AWStats when called from a browser if web user has not been # authenticated. Your AWStats program must be in a web protected "realm" (With # Apache, you can use .htaccess files to do so. With other web servers, see # your server setup manual). # Change : Effective immediatly # Possible values: 0 or 1 # Default: 0 # AllowAccessFromWebToAuthenticatedUsersOnly=0 # This parameter gives the list of all authorized authenticated users to view # statistics for this domain/config file. This parameter is used only if # AllowAccessFromWebToAuthenticatedUsersOnly is set to 1. # Change : Effective immediatly # Example: "user1 user2" # Example: "__REMOTE_USER__" # Default: "" # AllowAccessFromWebToFollowingAuthenticatedUsers="" # When this parameter is defined to something, the IP address of the user that # reads its statistics from a browser (when AWStats is used as a CGI) is # checked and must match one of the IP address values or ranges. # Change : Effective immediatly # Example: "127.0.0.1 123.123.123.1-123.123.123.255" # Default: "" # AllowAccessFromWebToFollowingIPAddresses="" # If the "DirData" directory (see above) does not exist, AWStats return an # error. However, you can ask AWStats to create it. # This option can be used by some Web Hosting Providers that has defined a # dynamic value for DirData (for example DirData="/home/__REMOTE_USER__") and # don't want to have to create a new directory each time they add a new user. # Change : Effective immediatly # Possible values: 0 or 1 # Default: 0 # CreateDirDataIfNotExists=0 # You can choose in which format the Awstats history database is saved. # Note: Using "xml" format make AWStats building database files three times # larger than using "text" format. # Change : Database format is switched after next update # Possible values: text or xml # Default: text # BuildHistoryFormat=text # If you prefer having the report output pages be built as XML compliant pages # instead of simple HTML pages, you can set this to 'xhtml' (May not work # properly with old browsers). # Change : Effective immediatly # Possible values: html or xhtml # Default: html # BuildReportFormat=html # AWStats databases can be updated from command line of from a browser (when # used as a cgi program). So AWStats database files need write permission # for both command line user and default web server user (nobody for Unix, # IUSR_xxx for IIS/Windows,...). # To avoid permission problems between update process (run by an admin user) # and CGI process (ran by a low level user), AWStats can save its database # files with read and write permissions for everyone. # By default, AWStats keeps default user permissions on updated files. If you # set AllowToUpdateStatsFromBrowser to 1, you can change this parameter to 1. # Change : Effective for new updates only # Possible values: 0 or 1 # Default: 0 # SaveDatabaseFilesWithPermissionsForEveryone=0 # AWStats can purge log file, after analyzing it. Note that AWStats is able # to detect new lines in a log file, to process only them, so you can launch # AWStats as often as you want, even with this parameter to 0. # With 0, no purge is made, so you must use a scheduled task or a web server # that make this purge frequently. # With 1, the purge of the log file is made each time AWStats update is run. # This parameter doesn't work with IIS (This web server doesn't let its log # file to be purged). # Change : Effective for new updates only # Possible values: 0 or 1 # Default: 0 # PurgeLogFile=0 # When PurgeLogFile is setup to 1, AWStats will clean your log file after # processing it. You can however keep an archive file of all processed log # records by setting this parameter (For example if you want to use another # log analyzer). The archived log file is saved in "DirData" with name # awstats_archive.configname[.suffix].log # This parameter is not used if PurgeLogFile=0 # Change : Effective for new updates only # Possible values: 0, 1, or tags (See LogFile parameter) for suffix # Example: 1 # Example: %YYYY%MM%DD # Default: 0 # ArchiveLogRecords=0 # Each time you run the update process, AWStats overwrites the 'historic file' # for the month (awstatsMMYYYY[.*].txt) with the updated one. # When write errors occurs (IO, disk full,...), this historic file can be # corrupted and must be deleted. Because this file contains information of all # past processed log files, you will loose old stats if removed. So you can # ask AWStats to save last non corrupted file in a .bak file. This file is # stored in "DirData" directory with other 'historic files'. # Change : Effective for new updates only # Possible values: 0 or 1 # Default: 0 # KeepBackupOfHistoricFiles=1 # Default index page name for your web server. # Change : Effective for new updates only # Example: "index.php index.html default.html" # Default: "index.php index.html" # # Django : 2012-07-04 # default: DefaultFile="index.php index.html" DefaultFile="doku.php" # Do not include access from clients that match following criteria. # If your log file contains IP addresses in host field, you must enter here # matching IP addresses criteria. # If DNS lookup is already done in your log file, you must enter here hostname # criteria, else enter ip address criteria. # The opposite parameter of "SkipHosts" is "OnlyHosts". # Note: Use space between each value. This parameter is not case sensitive. # Note: You can use regular expression values writing value with REGEX[value]. # Change : Effective for new updates only # Example: "127.0.0.1 REGEX[^192\.168\.] REGEX[^10\.]" # Example: "localhost REGEX[^.*\.localdomain$]" # Default: "" # SkipHosts="127.0.0.1" # Do not include access from clients with a user agent that match following # criteria. If you want to exclude a robot, you should update the robots.pm # file instead of this parameter. # The opposite parameter of "SkipUserAgents" is "OnlyUserAgents". # Note: Use space between each value. This parameter is not case sensitive. # Note: You can use regular expression values writing value with REGEX[value]. # Change : Effective for new updates only # Example: "konqueror REGEX[ua_test_v\d\.\d]" # Default: "" # SkipUserAgents="" # Use SkipFiles to ignore access to URLs that match one of following entries. # You can enter a list of not important URLs (like framed menus, hidden pages, # etc...) to exclude them from statistics. You must enter here exact relative # URL as found in log file, or a matching REGEX value. Check apply on URL with # all its query paramaters. # For example, to ignore /badpage.php, just add "/badpage.php". To ignore all # pages in a particular directory, add "REGEX[^\/directorytoexclude]". # The opposite parameter of "SkipFiles" is "OnlyFiles". # Note: Use space between each value. This parameter is or not case sensitive # depending on URLNotCaseSensitive parameter. # Note: You can use regular expression values writing value with REGEX[value]. # Change : Effective for new updates only # Example: "/badpage.php /page.php?param=x REGEX[^\/excludedirectory]" # Default: "" # SkipFiles="" # Use SkipReferrersBlackList if you want to exclude records coming from a SPAM # referrer. Parameter must receive a local file name containing rules applied # on referrer field. If parameter is empty, no filter is applied. # An example of such a file is available in lib/blacklist.txt # Change : Effective for new updates only # Example: "/mylibpath/blacklist.txt" # Default: "" # # WARNING!! Using this feature make AWStats running very slower (5 times slower # with black list file provided with AWStats ! # SkipReferrersBlackList="" # Include in stats, only accesses from hosts that match one of following # entries. For example, if you want AWStats to filter access to keep only # stats for visits from particular hosts, you can add those host names in # this parameter. # If DNS lookup is already done in your log file, you must enter here hostname # criteria, else enter ip address criteria. # The opposite parameter of "OnlyHosts" is "SkipHosts". # Note: Use space between each value. This parameter is not case sensitive. # Note: You can use regular expression values writing value with REGEX[value]. # Change : Effective for new updates only # Example: "127.0.0.1 REGEX[^192\.168\.] REGEX[^10\.]" # Default: "" # OnlyHosts="" # Include in stats, only accesses from user agent that match one of following # entries. For example, if you want AWStats to filter access to keep only # stats for visits from particular browsers, you can add their user agents # string in this parameter. # The opposite parameter of "OnlyUserAgents" is "SkipUserAgents". # Note: Use space between each value. This parameter is not case sensitive. # Note: You can use regular expression values writing value with REGEX[value]. # Change : Effective for new updates only # Example: "msie" # Default: "" # OnlyUserAgents="" # Include in stats, only accesses from authenticated users that match one of # following entries. For example, if you want AWStats to filter access to keep # only stats for authenticated users, you can add those users names in # this parameter. Useful for statistics for per user ftp logs. # Note: Use space between each value. This parameter is not case sensitive. # Note: You can use regular expression values writing value with REGEX[value]. # Change : Effective for new updates only # Example: "john bob REGEX[^testusers]" # Default: "" # OnlyUsers="" # Include in stats, only accesses to URLs that match one of following entries. # For example, if you want AWStats to filter access to keep only stats that # match a particular string, like a particular directory, you can add this # directory name in this parameter. # The opposite parameter of "OnlyFiles" is "SkipFiles". # Note: Use space between each value. This parameter is or not case sensitive # depending on URLNotCaseSensitive parameter. # Note: You can use regular expression values writing value with REGEX[value]. # Change : Effective for new updates only # Example: "REGEX[marketing_directory] REGEX[office\/.*\.(csv|sxw)$]" # Default: "" # OnlyFiles="" # Add here a list of kind of url (file extension) that must be counted as # "Hit only" and not as a "Hit" and "Page/Download". You can set here all # image extensions as they are hit downloaded that must be counted but they # are not viewed pages. URLs with such extensions are not included in the TOP # Pages/URL report. # Note: If you want to exclude particular URLs from stats (No Pages and no # Hits reported), you must use SkipFiles parameter. # Change : Effective for new updates only # Example: "css js class gif jpg jpeg png bmp ico rss xml swf zip arj rar gz z bz2 wav mp3 wma mpg avi" # Example: "" # Default: "css js class gif jpg jpeg png bmp ico rss xml swf" # NotPageList="css js class gif jpg jpeg png bmp ico rss xml swf" # By default, AWStats considers that records found in web log file are # successful hits if HTTP code returned by server is a valid HTTP code (200 # and 304). Any other code are reported in HTTP status chart. # Note that HTTP 'control codes', like redirection (302, 305) are not added by # default in this list as they are not pages seen by a visitor but are # protocol exchange codes to tell the browser to ask another page. Because # this other page will be counted and seen with a 200 or 304 code, if you # add such codes, you will have 2 pages viewed reported for only one in facts. # Change : Effective for new updates only # Example: "200 304 302 305" # Default: "200 304" # ValidHTTPCodes="200 304" # By default, AWStats considers that records found in mail log file are # successful mail transfers if field that represent return code in analyzed # log file match values defined by this parameter. # Change : Effective for new updates only # Example: "1 250 200" # Default: "1 250" # ValidSMTPCodes="1 250" # Some web servers on some Operating systems (IIS-Windows) consider that a # login with same value but different case are the same login. To tell AWStats # to also consider them as one, set this parameter to 1. # Change : Effective for new updates only # Possible values: 0 or 1 # Default: 0 # AuthenticatedUsersNotCaseSensitive=0 # Some web servers on some Operating systems (IIS-Windows) considers that two # URLs with same value but different case are the same URL. To tell AWStats to # also considers them as one, set this parameter to 1. # Change : Effective for new updates only # Possible values: 0 or 1 # Default: 0 # URLNotCaseSensitive=0 # Keep or remove the anchor string you can find in some URLs. # Change : Effective for new updates only # Possible values: 0 or 1 # Default: 0 # URLWithAnchor=0 # In URL links, "?" char is used to add parameter's list in URLs. Syntax is: # /mypage.html?param1=value1¶m2=value2 # However, some servers/sites use also other chars to isolate dynamic part of # their URLs. You can complete this list with all such characters. # Change : Effective for new updates only # Example: "?;," # Default: "?;" # URLQuerySeparators="?;" # Keep or remove the query string to the URL in the statistics for individual # pages. This is primarily used to differentiate between the URLs of dynamic # pages. If set to 1, mypage.html?id=x and mypage.html?id=y are counted as two # different pages. # Warning, when set to 1, memory required to run AWStats is dramatically # increased if you have a lot of changing URLs (for example URLs with a random # id inside). Such web sites should not set this option to 1 or use seriously # the next parameter URLWithQueryWithOnlyFollowingParameters (or eventually # URLWithQueryWithoutFollowingParameters). # Change : Effective for new updates only # Possible values: # 0 - URLs are cleaned from the query string (ie: "/mypage.html") # 1 - Full URL with query string is used (ie: "/mypage.html?p=x&q=y") # Default: 0 # URLWithQuery=0 # When URLWithQuery is on, you will get the full URL with all parameters in # URL reports. But among thoose parameters, sometimes you don't need a # particular parameter because it does not identify the page or because it's # a random ID changing for each access even if URL points to same page. In # such cases, it is higly recommanded to ask AWStats to keep only parameters # you need (if you know them) before counting, manipulating and storing URL. # Enter here list of wanted parameters. For example, with "param", one hit on # /mypage.cgi?param=abc&id=Yo4UomP9d and /mypage.cgi?param=abc&id=Mu8fdxl3r # will be reported as 2 hits on /mypage.cgi?param=abc # This parameter is not used when URLWithQuery is 0 and can't be used with # URLWithQueryWithoutFollowingParameters. # Change : Effective for new updates only # Example: "param" # Default: "" # URLWithQueryWithOnlyFollowingParameters="" # When URLWithQuery is on, you will get the full URL with all parameters in # URL reports. But among thoose parameters, sometimes you don't need a # particular parameter because it does not identify the page or because it's # a random ID changing for each access even if URL points to same page. In # such cases, it is higly recommanded to ask AWStats to remove such parameters # from the URL before counting, manipulating and storing URL. Enter here list # of all non wanted parameters. For example if you enter "id", one hit on # /mypage.cgi?param=abc&id=Yo4UomP9d and /mypage.cgi?param=abc&id=Mu8fdxl3r # will be reported as 2 hits on /mypage.cgi?param=abc # This parameter is not used when URLWithQuery is 0 and can't be used with # URLWithQueryWithOnlyFollowingParameters. # Change : Effective for new updates only # Example: "PHPSESSID jsessionid" # Default: "" # URLWithQueryWithoutFollowingParameters="" # Keep or remove the query string to the referrer URL in the statistics for # external referrer pages. This is used to differentiate between the URLs of # dynamic referrer pages. If set to 1, mypage.html?id=x and mypage.html?id=y # are counted as two different referrer pages. # Change : Effective for new updates only # Possible values: # 0 - Referrer URLs are cleaned from the query string (ie: "/mypage.html") # 1 - Full URL with query string is used (ie: "/mypage.html?p=x&q=y") # Default: 0 # URLReferrerWithQuery=0 # AWStats can detect setup problems or show you important informations to have # a better use. Keep this to 1, except if AWStats says you can change it. # Change : Effective immediatly # Possible values: 0 or 1 # Default: 1 # WarningMessages=1 # When an error occurs, AWStats outputs a message related to errors. If you # want (in most cases for security reasons) to have no error messages, you # can set this parameter to your personalized generic message. # Change : Effective immediatly # Example: "An error occurred. Contact your Administrator" # Default: "" # ErrorMessages="" # AWStat can be run with debug=x parameter to output various informations # to help in debugging or solving troubles. If you want to allow this (not # enabled by default for security reasons), set this parameter to 0. # Change : Effective immediatly # Possible values: 0 or 1 # Default: 0 # DebugMessages=0 # To help you to detect if your log format is good, AWStats reports an error # if all the first NbOfLinesForCorruptedLog lines have a format that does not # match the LogFormat parameter. # However, some worm virus attack on your web server can result in a very high # number of corrupted lines in your log. So if you experience awstats stop # because of bad virus records at the beginning of your log file, you can # increase this parameter (very rare). # Change : Effective for new updates only # Default: 50 # NbOfLinesForCorruptedLog=50 # For some particular integration needs, you may want to have CGI links to # point to another script than awstats.pl. # Use the name of this script in WrapperScript parameter. # Change : Effective immediatly # Example: "awstatslauncher.pl" # Example: "awstatswrapper.cgi?key=123" # Default: "" # WrapperScript="" # DecodeUA must be set to 1 if you use Roxen web server. This server converts # all spaces in user agent field into %20. This make the AWStats robots, OS # and browsers detection fail in some cases. Just change it to 1 if and only # if your web server is Roxen. # Change : Effective for new updates only # Possible values: 0 or 1 # Default: 0 # DecodeUA=0 # MiscTrackerUrl can be used to make AWStats able to detect some miscellaneous # things, that can not be tracked on other way, like: # - Javascript disabled # - Java enabled # - Screen size # - Color depth # - Macromedia Director plugin # - Macromedia Shockwave plugin # - Realplayer G2 plugin # - QuickTime plugin # - Mediaplayer plugin # - Acrobat PDF plugin # To enable all these features, you must copy the awstats_misc_tracker.js file # into a /js/ directory stored in your web document root and add the following # HTML code at the end of your index page (but before </BODY>) : # # <script type="text/javascript" src="/js/awstats_misc_tracker.js"></script> # <noscript><img src="/js/awstats_misc_tracker.js?nojs=y" height=0 width=0 border=0 style="display: none"></noscript> # # If code is not added in index page, all those detection capabilities will be # disabled. You must also check that ShowScreenSizeStats and ShowMiscStats # parameters are set to 1 to make results appear in AWStats report page. # If you want to use another directory than /js/, you must also change the # awstatsmisctrackerurl variable into the awstats_misc_tracker.js file. # Change : Effective for new updates only. # Possible value: URL of javascript tracker file added in your HTML code. # Default: "/js/awstats_misc_tracker.js" # MiscTrackerUrl="/js/awstats_misc_tracker.js" #----------------------------------------------------------------------------- # OPTIONAL ACCURACY SETUP SECTION (Not required but increase AWStats features) #----------------------------------------------------------------------------- # The following values allow you to define accuracy of AWStats entities # (robots, browsers, os, referers, file types) detection. # It might be a good idea for large web sites or ISP that provides AWStats to # high number of customers, to set this parameter to 1 (or 0), instead of 2. # Possible values: # 0 = No detection, # 1 = Medium/Standard detection # 2 = Full detection # Change : Effective for new updates only # Note : LevelForBrowsersDetection can also accept value "allphones". This # enable detailed detection of phone/pda browsers. # Default: 2 (0 for LevelForWormsDetection) # LevelForBrowsersDetection=2 # 0 disables Browsers detection. # 2 reduces AWStats speed by 2% # allphones reduces AWStats speed by 5% LevelForOSDetection=2 # 0 disables OS detection. # 2 reduces AWStats speed by 3% LevelForRefererAnalyze=2 # 0 disables Origin detection. # 2 reduces AWStats speed by 14% LevelForRobotsDetection=2 # 0 disables Robots detection. # 2 reduces AWStats speed by 2.5% LevelForSearchEnginesDetection=2 # 0 disables Search engines detection. # 2 reduces AWStats speed by 9% LevelForKeywordsDetection=2 # 0 disables Keyphrases/Keywords detection. # 2 reduces AWStats speed by 1% LevelForFileTypesDetection=2 # 0 disables File types detection. # 2 reduces AWStats speed by 1% LevelForWormsDetection=0 # 0 disables Worms detection. # 2 reduces AWStats speed by 15% #----------------------------------------------------------------------------- # OPTIONAL APPEARANCE SETUP SECTION (Not required but increase AWStats features) #----------------------------------------------------------------------------- # When you use AWStats as a CGI, you can have the reports shown in HTML frames. # Frames are only available for report viewed dynamically. When you build # pages from command line, this option is not used and no frames are built. # Possible values: 0 or 1 # Default: 1 # UseFramesWhenCGI=1 # This parameter asks your browser to open detailed reports into a different # window than the main page. # Possible values: # 0 - Open all in same browser window # 1 - Open detailed reports in another window except if using frames # 2 - Open always in a different window even if reports are framed # Default: 1 # DetailedReportsOnNewWindows=1 # You can add, in the HTML report page, a cache lifetime (in seconds) that # will be returned to the browser in HTTP header answer by server. # This parameter is not used when reports are built with -staticlinks option. # Example: 3600 # Default: 0 # Expires=3600 # To avoid too large web pages, you can ask AWStats to limit number of rows of # all reported charts to this number when no other limits apply. # Default: 1000 # MaxRowsInHTMLOutput=1000 # Set your primary language (ISO-639-1 language codes). # Possible values: # Albanian=al, Bosnian=ba, Bulgarian=bg, Catalan=ca, # Chinese (Taiwan)=tw, Chinese (Simpliefied)=cn, Croatian=hr, Czech=cz, # Danish=dk, Dutch=nl, English=en, Estonian=et, Euskara=eu, Finnish=fi, # French=fr, Galician=gl, German=de, Greek=gr, Hebrew=he, Hungarian=hu, # Icelandic=is, Indonesian=id, Italian=it, Japanese=jp, Korean=ko, # Latvian=lv, Norwegian (Nynorsk)=nn, Norwegian (Bokmal)=nb, Polish=pl, # Portuguese=pt, Portuguese (Brazilian)=br, Romanian=ro, Russian=ru, # Serbian=sr, Slovak=sk, Slovenian=si, Spanish=es, Swedish=se, Turkish=tr, # Ukrainian=ua, Welsh=cy. # First available language accepted by browser=auto # Default: "auto" # # Django : 2012-07-04 # default: Lang="auto" Lang="de" # Set the location of language files. # Example: "/usr/share/awstats/lang" # Default: "./lang" (means lang directory is in same location than awstats.pl) # DirLang="./lang" # Show menu header with reports' links # Possible values: 0 or 1 # Default: 1 # ShowMenu=1 # You choose here which reports you want to see in the main page and what you # want to see in those reports. # Possible values: # 0 - Report is not shown at all # 1 - Report is shown in main page with an entry in menu and default columns # XYZ - Report shows column informations defined by code X,Y,Z... # X,Y,Z... are code letters among the following: # U = Unique visitors # V = Visits # P = Number of pages # H = Number of hits (or mails) # B = Bandwith (or total mail size for mail logs) # L = Last access date # E = Entry pages # X = Exit pages # C = Web compression (mod_gzip,mod_deflate) # M = Average mail size (mail logs) # # Show monthly summary # Context: Web, Streaming, Mail, Ftp # Default: UVPHB, Possible column codes: UVPHB ShowSummary=UVPHB # Show monthly chart # Context: Web, Streaming, Mail, Ftp # Default: UVPHB, Possible column codes: UVPHB ShowMonthStats=UVPHB # Show days of month chart # Context: Web, Streaming, Mail, Ftp # Default: VPHB, Possible column codes: VPHB ShowDaysOfMonthStats=VPHB # Show days of week chart # Context: Web, Streaming, Mail, Ftp # Default: PHB, Possible column codes: PHB ShowDaysOfWeekStats=PHB # Show hourly chart # Context: Web, Streaming, Mail, Ftp # Default: PHB, Possible column codes: PHB ShowHoursStats=PHB # Show domains/country chart # Context: Web, Streaming, Mail, Ftp # Default: PHB, Possible column codes: PHB ShowDomainsStats=PHB # Show hosts chart # Context: Web, Streaming, Mail, Ftp # Default: PHBL, Possible column codes: PHBL ShowHostsStats=PHBL # Show authenticated users chart # Context: Web, Streaming, Ftp # Default: 0, Possible column codes: PHBL ShowAuthenticatedUsers=0 # Show robots chart # Context: Web, Streaming # Default: HBL, Possible column codes: HBL ShowRobotsStats=HBL # Show worms chart # Context: Web, Streaming # Default: 0 (If set to other than 0, see also LevelForWormsDetection), Possible column codes: HBL ShowWormsStats=0 # Show email senders chart (For use when analyzing mail log files) # Context: Mail # Default: 0, Possible column codes: HBML ShowEMailSenders=0 # Show email receivers chart (For use when analyzing mail log files) # Context: Mail # Default: 0, Possible column codes: HBML ShowEMailReceivers=0 # Show session chart # Context: Web, Streaming, Ftp # Default: 1, Possible column codes: None ShowSessionsStats=1 # Show pages-url chart. # Context: Web, Streaming, Ftp # Default: PBEX, Possible column codes: PBEX ShowPagesStats=PBEX # Show file types chart. # Context: Web, Streaming, Ftp # Default: HB, Possible column codes: HBC ShowFileTypesStats=HB # Show file size chart (Not yet available) # Context: Web, Streaming, Mail, Ftp # Default: 1, Possible column codes: None ShowFileSizesStats=0 # Show downloads chart. # Context: Web, Streaming, Ftp # Default: HB, Possible column codes: HB ShowDownloadsStats=HB # Show operating systems chart # Context: Web, Streaming, Ftp # Default: 1, Possible column codes: None ShowOSStats=1 # Show browsers chart # Context: Web, Streaming # Default: 1, Possible column codes: None ShowBrowsersStats=1 # Show screen size chart # Context: Web, Streaming # Default: 0 (If set to 1, see also MiscTrackerUrl), Possible column codes: None # Django : 2012-07-04 # default: ShowScreenSizeStats=0 ShowScreenSizeStats=1 # Show origin chart # Context: Web, Streaming # Default: PH, Possible column codes: PH ShowOriginStats=PH # Show keyphrases chart # Context: Web, Streaming # Default: 1, Possible column codes: None ShowKeyphrasesStats=1 # Show keywords chart # Context: Web, Streaming # Default: 1, Possible column codes: None ShowKeywordsStats=1 # Show misc chart # Context: Web, Streaming # Default: a (See also MiscTrackerUrl parameter), Possible column codes: anjdfrqwp ShowMiscStats=a # Show http errors chart # Context: Web, Streaming # Default: 1, Possible column codes: None ShowHTTPErrorsStats=1 # Show smtp errors chart (For use when analyzing mail log files) # Context: Mail # Default: 0, Possible column codes: None ShowSMTPErrorsStats=0 # Show the cluster report (Your LogFormat must contains the %cluster tag) # Context: Web, Streaming, Ftp # Default: 0, Possible column codes: PHB ShowClusterStats=0 # Some graphical reports are followed by the data array of values. # If you don't want this array (to reduce the report size for example), you # can set thoose options to 0. # Possible values: 0 or 1 # Default: 1 # # Data array values for the ShowMonthStats report AddDataArrayMonthStats=1 # Data array values for the ShowDaysOfMonthStats report AddDataArrayShowDaysOfMonthStats=1 # Data array values for the ShowDaysOfWeekStats report AddDataArrayShowDaysOfWeekStats=1 # Data array values for the ShowHoursStats report AddDataArrayShowHoursStats=1 # In the Origin chart, you have stats on where your hits came from. You can # include hits on pages that come from pages of same sites in this chart. # Possible values: 0 or 1 # Default: 0 # IncludeInternalLinksInOriginSection=0 # The following parameters can be used to choose the maximum number of lines # shown for the particular following reports. # # Stats by countries/domains MaxNbOfDomain = 10 MinHitDomain = 1 # Stats by hosts MaxNbOfHostsShown = 10 MinHitHost = 1 # Stats by authenticated users MaxNbOfLoginShown = 10 MinHitLogin = 1 # Stats by robots MaxNbOfRobotShown = 10 MinHitRobot = 1 # Stats for Downloads MaxNbOfDownloadsShown = 10 MinHitDownloads = 1 # Stats by pages MaxNbOfPageShown = 10 MinHitFile = 1 # Stats by OS MaxNbOfOsShown = 10 MinHitOs = 1 # Stats by browsers MaxNbOfBrowsersShown = 10 MinHitBrowser = 1 # Stats by screen size MaxNbOfScreenSizesShown = 5 MinHitScreenSize = 1 # Stats by window size (following 2 parameters are not yet used) MaxNbOfWindowSizesShown = 5 MinHitWindowSize = 1 # Stats by referers MaxNbOfRefererShown = 10 MinHitRefer = 1 # Stats for keyphrases MaxNbOfKeyphrasesShown = 10 MinHitKeyphrase = 1 # Stats for keywords MaxNbOfKeywordsShown = 10 MinHitKeyword = 1 # Stats for sender or receiver emails MaxNbOfEMailsShown = 20 MinHitEMail = 1 # Choose if you want the week report to start on sunday or monday # Possible values: # 0 - Week starts on sunday # 1 - Week starts on monday # Default: 1 # # Django : 2012-07-04 # default: FirstDayOfWeek=0 FirstDayOfWeek=1 # List of visible flags that link to other language translations. # See Lang parameter for list of allowed flag/language codes. # If you don't want any flag link, set ShowFlagLinks to "". # This parameter is used only if ShowMenu parameter is set to 1. # Possible values: "" or "language_codes_separated_by_space" # Example: "en es fr nl de" # Default: "" # ShowFlagLinks="" # Each URL, shown in stats report views, are links you can click. # Possible values: 0 or 1 # Default: 1 # ShowLinksOnUrl=1 # When AWStats builds HTML links in its report pages, it starts those links # with "http://". However some links might be HTTPS links, so you can enter # here the root of all your HTTPS links. If all your site is a SSL web site, # just enter "/". # This parameter is not used if ShowLinksOnUrl is 0. # Example: "/shopping" # Example: "/" # Default: "" # UseHTTPSLinkForUrl="" # Maximum length of URL part shown on stats page (number of characters). # This affects only URL visible text, links still work. # Default: 64 # MaxLengthOfShownURL=64 # You can enter HTML code that will be added at the top of AWStats reports. # Default: "" # HTMLHeadSection="" # You can enter HTML code that will be added at the end of AWStats reports. # Great to add advert ban. # Default: "" # HTMLEndSection="" # By default AWStats page contains meta tag robots=noindex,nofollow # If you want to have your statistics to be indexed, set this option to 1. # Default: 0 # MetaRobot=0 # You can set Logo and LogoLink to use your own logo. # Logo must be the name of image file (must be in $DirIcons/other directory). # LogoLink is the expected URL when clicking on Logo. # Default: "awstats_logo6.png" # Logo="awstats_logo6.png" LogoLink="http://awstats.sourceforge.net" # Value of maximum bar width/height for horizontal/vertical HTML graphics bars. # Default: 260/90 # BarWidth = 260 BarHeight = 90 # You can ask AWStats to use a particular CSS (Cascading Style Sheet) to # change its look. To create a style sheet, you can use samples provided with # AWStats in wwwroot/css directory. # Example: "/awstatscss/awstats_bw.css" # Example: "/css/awstats_bw.css" # Default: "" # StyleSheet="" # Those color parameters can be used (if StyleSheet parameter is not used) # to change AWStats look. # Example: color_name="RRGGBB" # RRGGBB is Red Green Blue components in Hex # color_Background="FFFFFF" # Background color for main page (Default = "FFFFFF") color_TableBGTitle="CCCCDD" # Background color for table title (Default = "CCCCDD") color_TableTitle="000000" # Table title font color (Default = "000000") color_TableBG="CCCCDD" # Background color for table (Default = "CCCCDD") color_TableRowTitle="FFFFFF" # Table row title font color (Default = "FFFFFF") color_TableBGRowTitle="ECECEC" # Background color for row title (Default = "ECECEC") color_TableBorder="ECECEC" # Table border color (Default = "ECECEC") color_text="000000" # Color of text (Default = "000000") color_textpercent="606060" # Color of text for percent values (Default = "606060") color_titletext="000000" # Color of text title within colored Title Rows (Default = "000000") color_weekend="EAEAEA" # Color for week-end days (Default = "EAEAEA") color_link="0011BB" # Color of HTML links (Default = "0011BB") color_hover="605040" # Color of HTML on-mouseover links (Default = "605040") color_u="FFAA66" # Background color for number of unique visitors (Default = "FFAA66") color_v="F4F090" # Background color for number of visites (Default = "F4F090") color_p="4477DD" # Background color for number of pages (Default = "4477DD") color_h="66DDEE" # Background color for number of hits (Default = "66DDEE") color_k="2EA495" # Background color for number of bytes (Default = "2EA495") color_s="8888DD" # Background color for number of search (Default = "8888DD") color_e="CEC2E8" # Background color for number of entry pages (Default = "CEC2E8") color_x="C1B2E2" # Background color for number of exit pages (Default = "C1B2E2") #----------------------------------------------------------------------------- # PLUGINS #----------------------------------------------------------------------------- # Add here all plugin files you want to load. # Plugin files must be .pm files stored in 'plugins' directory. # Uncomment LoadPlugin lines to enable a plugin after checking that perl # modules required by the plugin are installed. # PLUGIN: Tooltips # REQUIRED MODULES: None # PARAMETERS: None # DESCRIPTION: Add tooltips pop-up help boxes to HTML report pages. # NOTE: This will increased HTML report pages size, thus server load and bandwidth. # # Django : 2012-07-04 # default: #LoadPlugin="tooltips" LoadPlugin="tooltips" # PLUGIN: DecodeUTFKeys # REQUIRED MODULES: Encode and URI::Escape # PARAMETERS: None # DESCRIPTION: Allow AWStats to show correctly (in language charset) # keywords/keyphrases strings even if they were UTF8 coded by the # referer search engine. # #LoadPlugin="decodeutfkeys" # PLUGIN: IPv6 # PARAMETERS: None # REQUIRED MODULES: Net::IP and Net::DNS # DESCRIPTION: This plugin gives AWStats capability to make reverse DNS # lookup on IPv6 addresses. # #LoadPlugin="ipv6" # PLUGIN: HashFiles # REQUIRED MODULES: Storable # PARAMETERS: None # DESCRIPTION: AWStats DNS cache files are read/saved as native hash files. # This increases DNS cache files loading speed, above all for very large web sites. # #LoadPlugin="hashfiles" # PLUGIN: UserInfo # REQUIRED MODULES: None # PARAMETERS: None # DESCRIPTION: Add a text (Firtname, Lastname, Office Department, ...) in # authenticated user reports for each login value. # A text file called userinfo.myconfig.txt, with two fields (first is login, # second is text to show, separated by a tab char) must be created in DirData # directory. # #LoadPlugin="userinfo" # PLUGIN: HostInfo # REQUIRED MODULES: Net::XWhois # PARAMETERS: None # DESCRIPTION: Add a column into host chart with a link to open a popup window that shows # info on host (like whois records). # # Django : 2012-07-04 # default: #LoadPlugin="hostinfo" LoadPlugin="hostinfo" # PLUGIN: ClusterInfo # REQUIRED MODULES: None # PARAMETERS: None # DESCRIPTION: Add a text (for example a full hostname) in cluster reports for each cluster # number. A text file called clusterinfo.myconfig.txt, with two fields (first is # cluster number, second is text to show) separated by a tab char. must be # created into DirData directory. # Note this plugin is useless if ShowClusterStats is set to 0 or if you don't # use a personalized log format that contains %cluster tag. # #LoadPlugin="clusterinfo" # PLUGIN: UrlAliases # REQUIRED MODULES: None # PARAMETERS: None # DESCRIPTION: Add a text (Page title, description...) in URL reports before URL value. # A text file called urlalias.myconfig.txt, with two fields (first is URL, # second is text to show, separated by a tab char) must be created into # DirData directory. # #LoadPlugin="urlalias" # PLUGIN: TimeHiRes # REQUIRED MODULES: Time::HiRes (if Perl < 5.8) # PARAMETERS: None # DESCRIPTION: Time reported by -showsteps option is in millisecond. For debug purpose. # #LoadPlugin="timehires" # PLUGIN: TimeZone # REQUIRED MODULES: Time::Local # PARAMETERS: [timezone offset] # DESCRIPTION: Allow AWStats to adjust time stamps for a different timezone # This plugin reduces AWStats speed of 10% !!!!!!! # LoadPlugin="timezone" # LoadPlugin="timezone +2" # LoadPlugin="timezone CET" # #LoadPlugin="timezone +2" # PLUGIN: Rawlog # REQUIRED MODULES: None # PARAMETERS: None # DESCRIPTION: This plugin adds a form in AWStats main page to allow users to see raw # content of current log files. A filter is also available. # # Django : 2012-07-04 # default: #LoadPlugin="rawlog" LoadPlugin="rawlog" # PLUGIN: GraphApplet # REQUIRED MODULES: None # PARAMETERS: [CSS classes to override] # DESCRIPTION: Supported charts are built by a 3D graphic applet. # #LoadPlugin="graphapplet /awstatsclasses" # EXPERIMENTAL FEATURE # PLUGIN: GraphGoogleChartAPI # REQUIRED MODULES: None # PARAMETERS: None # DESCRIPTION: Replaces the standard charts with free Google API generated images # in HTML reports. If country data is available and more than one country has hits, # a map will be generated using Google Visualizations. # Note: The machine where reports are displayed must have Internet access for the # charts to be generated. The only data sent to Google includes the statistic numbers, # legend names and country names. # Warning: This plugin is not compatible with option BuildReportFormat=xhtml. # #LoadPlugin="graphgooglechartapi" # PLUGIN: GeoIPfree # REQUIRED MODULES: Geo::IPfree version 0.2+ (from Graciliano M.P.) # PARAMETERS: None # DESCRIPTION: 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::IPfree # module, database is free but not up to date) or the GeoIP plugin (need # Perl Geo::IP module from Maxmind, database is also free and up to date). # Note: Activestate provide a corrupted version of Geo::IPfree 0.2 Perl # module, so install it from elsewhere (from www.cpan.org for example). # This plugin reduces AWStats speed by up to 10% ! # #LoadPlugin="geoipfree" # MAXMIND GEO IP MODULES: Please see documentation for notes on all Maxmind modules # PLUGIN: GeoIP # REQUIRED MODULES: Geo::IP or Geo::IP::PurePerl (from Maxmind) # PARAMETERS: [GEOIP_STANDARD | GEOIP_MEMORY_CACHE] [/pathto/geoip.dat[+/pathto/override.txt]] # DESCRIPTION: Builds a country chart and adds an entry to the hosts # table with country name # Replace spaces in the path of geoip data file with string "%20". # # Django : 2012-07-04 # default: #LoadPlugin="geoip GEOIP_STANDARD /pathto/GeoIP.dat" LoadPlugin="geoip GEOIP_STANDARD /usr/local/lib64/perl5/GeoIP.dat" # PLUGIN: GeoIP_City_Maxmind # REQUIRED MODULES: Geo::IP or Geo::IP::PurePerl (from Maxmind) # PARAMETERS: [GEOIP_STANDARD | GEOIP_MEMORY_CACHE] [/pathto/GeoIPCity.dat[+/pathto/override.txt]] # DESCRIPTION: This plugin adds a column under the hosts field and tracks the pageviews # and hits by city including regions. # Replace spaces in the path of geoip data file with string "%20". # # Django : 2012-07-04 # default: #LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /pathto/GeoIPCity.dat" LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/local/lib64/perl5/GeoLiteCity.dat" # PLUGIN: GeoIP_ASN_Maxmind # REQUIRED MODULES: Geo::IP or Geo::IP::PurePerl (from Maxmind) # PARAMETERS: [GEOIP_STANDARD | GEOIP_MEMORY_CACHE] [/pathto/GeoIPASN.dat[+/pathto/override.txt][+http://linktoASlookup]] # DESCRIPTION: This plugin adds a chart of AS numbers where the host IP address is registered. # This plugin can display some ISP information if included in the database. You can also provide # a link that will be used to lookup additional registration data. Put the link at the end of # the parameter string and the report page will include the link with the full AS number at the end. # Replace spaces in the path of geoip data file with string "%20". # #LoadPlugin="geoip_asn_maxmind GEOIP_STANDARD /usr/local/geoip.dat+http://enc.com.au/itools/aut-num.php?autnum=" # PLUGIN: GeoIP_Region_Maxmind # REQUIRED MODULES: Geo::IP or Geo::IP::PurePerl (from Maxmind) # PARAMETERS: [GEOIP_STANDARD | GEOIP_MEMORY_CACHE] [/pathto/GeoIPRegion.dat[+/pathto/override.txt]] # DESCRIPTION:This plugin adds a chart of hits by regions. Only regions for US and # Canada can be detected. # Replace spaces in the path of geoip data file with string "%20". # #LoadPlugin="geoip_region_maxmind GEOIP_STANDARD /pathto/GeoIPRegion.dat" # PLUGIN: GeoIP_ISP_Maxmind # REQUIRED MODULES: Geo::IP or Geo::IP::PurePerl (from Maxmind) # PARAMETERS: [GEOIP_STANDARD | GEOIP_MEMORY_CACHE] [/pathto/GeoIPISP.dat[+/pathto/override.txt]] # DESCRIPTION: This plugin adds a chart of hits by ISP. # Replace spaces in the path of geoip data file with string "%20". # #LoadPlugin="geoip_isp_maxmind GEOIP_STANDARD /pathto/GeoIPISP.dat" # PLUGIN: GeoIP_Org_Maxmind # REQUIRED MODULES: Geo::IP or Geo::IP::PurePerl (from Maxmind) # PARAMETERS: [GEOIP_STANDARD | GEOIP_MEMORY_CACHE] [/pathto/GeoIPOrg.dat[+/pathto/override.txt]] # DESCRIPTION: This plugin add a chart of hits by Organization name # Replace spaces in the path of geoip data file with string "%20". # #LoadPlugin="geoip_org_maxmind GEOIP_STANDARD /pathto/GeoIPOrg.dat" #----------------------------------------------------------------------------- # EXTRA SECTIONS #----------------------------------------------------------------------------- # You can define your own charts, you choose here what are rows and columns # keys. This feature is particularly useful for marketing purpose, tracking # products orders for example. # For this, edit all parameters of Extra section. Each set of parameter is a # different chart. For several charts, duplicate section changing the number. # Note: Each Extra section reduces AWStats speed by 8%. # # WARNING: A wrong setup of Extra section might result in too large arrays # that will consume all your memory, making AWStats unusable after several # updates, so be sure to setup it correctly. # In most cases, you don't need this feature. # # ExtraSectionNameX is title of your personalized chart. # ExtraSectionCodeFilterX is list of codes the record code field must match. # Put an empty string for no test on code. # ExtraSectionConditionX are conditions you can use to count or not the hit, # Use one of the field condition # (URL,URLWITHQUERY,QUERY_STRING,REFERER,UA,HOSTINLOG,HOST,VHOST,extraX) # and a regex to match, after a coma. Use "||" for "OR". # ExtraSectionFirstColumnTitleX is the first column title of the chart. # ExtraSectionFirstColumnValuesX is a string to tell AWStats which field to # extract value from # (URL,URLWITHQUERY,QUERY_STRING,REFERER,UA,HOSTINLOG,HOST,VHOST,extraX) # and how to extract the value (using regex syntax). Each different value # found will appear in first column of report on a different row. Be sure # that list of different possible values will not grow indefinitely. # ExtraSectionFirstColumnFormatX is the string used to write value. # ExtraSectionStatTypesX are things you want to count. You can use standard # code letters (P for pages,H for hits,B for bandwidth,L for last access). # ExtraSectionAddAverageRowX add a row at bottom of chart with average values. # ExtraSectionAddSumRowX add a row at bottom of chart with sum values. # MaxNbOfExtraX is maximum number of rows shown in chart. # MinHitExtraX is minimum number of hits required to be shown in chart. # # Example to report the 20 products the most ordered by "order.cgi" script #ExtraSectionName1="Product orders" #ExtraSectionCodeFilter1="200 304" #ExtraSectionCondition1="URL,\/cgi\-bin\/order\.cgi||URL,\/cgi\-bin\/order2\.cgi" #ExtraSectionFirstColumnTitle1="Product ID" #ExtraSectionFirstColumnValues1="QUERY_STRING,productid=([^&]+)" #ExtraSectionFirstColumnFormat1="%s" #ExtraSectionStatTypes1=PL #ExtraSectionAddAverageRow1=0 #ExtraSectionAddSumRow1=1 #MaxNbOfExtra1=20 #MinHitExtra1=1 # There is also a global parameter ExtraTrackedRowsLimit that limits the # number of possible rows an ExtraSection can report. This parameter is # here to protect too much memory use when you make a bad setup in your # ExtraSection. It applies to all ExtraSection independently meaning that # none ExtraSection can report more rows than value defined by ExtraTrackedRowsLimit. # If you know an ExtraSection will report more rows than its value, you should # increase this parameter or AWStats will stop with an error. # Example: 2000 # Default: 500 # ExtraTrackedRowsLimit=500 #----------------------------------------------------------------------------- # INCLUDES #----------------------------------------------------------------------------- # You can include other config files using the directive with the name of the # config file. # This is particularly useful for users who have a lot of virtual servers, so # a lot of config files and want to maintain common values in only one file. # Note that when a variable is defined both in a config file and in an # included file, AWStats will use the last value read for parameters that # contains one value and AWStats will concat all values from both files for # parameters that are lists of values. # #Include ""
AddOn-Konfiguration (plugins)
Allow To Update Stats From Browser
Wenn wir später die Statistiken auch mittels Mausklick im Browser aktualisieren wollen müssen wir dafür sorgen, dass unser Webserver auch in das betreffende Verzeichnis schreiben darf.
Wir passen hierzu die Berechtigungen unseres Document-Root an.
# chown apache:apache /var/www/awstats
In der Konfigurationsdatei von awstats aktivieren wir dann noch diese Option.
# When this parameter is set to 1, AWStats adds a button on report page to # allow to "update" statistics from a web browser. Warning, when "update" is # made from a browser, AWStats is run as a CGI by the web server user defined # in your web server (user "nobody" by default with Apache, "IUSR_XXX" with # IIS), so the "DirData" directory and all already existing history files # awstatsMMYYYY[.xxx].txt must be writable by this user. Change permissions if # necessary to "Read/Write" (and "Modify" for Windows NTFS file systems). # Warning: Update process can be long so you might experience "time out" # browser errors if you don't launch AWStats frequently enough. # When set to 0, update is only made when AWStats is run from the command # line interface (or a task scheduler). # Possible values: 0 or 1 # Default: 0 # # Django : 2012-07-03 # default: AllowToUpdateStatsFromBrowser=0 AllowToUpdateStatsFromBrowser=1
HostInfo
Wir können uns auf unseren Statistik-Seiten bei den Hostinformationen eine Spalte Whois Informationen anzeigen lassen, wo wir dann über ein popup-Fenster direkt eine whois-Abfrage vornehmen können. Hierzu muss das Perl-Modul Net::XWhois installiert werden.
# yum install perl-Net-XWhois
In der betreffenden Hostkonfigurationsdatei von awstats aktivieren wir dann nur noch das notwendige plugin.
# PLUGIN: HostInfo # REQUIRED MODULES: Net::XWhois # PARAMETERS: None # DESCRIPTION: Add a column into host chart with a link to open a popup window that shows # info on host (like whois records). # # Django : 2012-07-03 # default: #LoadPlugin="hostinfo" LoadPlugin="hostinfo"
GeoIP
Auf unseren Statistikseiten können wir uns anzeigen lassen aus welchen Ländern und Orten die Anfragen/Verbindungen kamen. Hierzu wird neben dem Perl-Modul perl-Geo-IP noch die beiden Datenbanken zur Auflösung der Orte benötigt.
Bei der Grundinstallation von AWStats wurde bereits da nötige Perl-Modul installiert. Wenn wir wissen wollen, wo dies im System liegt, dann benutzen wir folgenden Aufruf.
# rpm -qil perl-Geo-IP
Name : perl-Geo-IP Relocations: (not relocatable) Version : 1.38 Vendor: Dag Apt Repository, http://dag.wieers.com/apt/ Release : 1.el6.rf Build Date: Fri 12 Nov 2010 08:04:38 AM CET Install Date: Tue 03 Jul 2012 05:53:34 PM CEST Build Host: lisse.hasselt.wieers.com Group : Applications/CPAN Source RPM: perl-Geo-IP-1.38-1.el6.rf.src.rpm Size : 370904 License: Artistic/GPL Signature : DSA/SHA1, Sat 13 Nov 2010 12:05:08 AM CET, Key ID a20e52146b8d79e6 Packager : Dries Verachtert <dries@ulyssis.org> URL : http://search.cpan.org/dist/Geo-IP/ Summary : Database which maps IP blocks on countries Description : This module a simple file-based database. This database simply contains IP blocks as keys, and countries as values. The data contains all public IP addresses and should be more complete and accurate than reverse DNS lookups. /usr/lib64/perl5/vendor_perl/Geo /usr/lib64/perl5/vendor_perl/Geo/IP /usr/lib64/perl5/vendor_perl/Geo/IP.pm /usr/lib64/perl5/vendor_perl/Geo/IP/Record.pm /usr/lib64/perl5/vendor_perl/Geo/IP/Record.pod /usr/lib64/perl5/vendor_perl/Geo/Mirror.pm /usr/lib64/perl5/vendor_perl/auto/Geo /usr/lib64/perl5/vendor_perl/auto/Geo/IP /usr/lib64/perl5/vendor_perl/auto/Geo/IP/IP.bs /usr/lib64/perl5/vendor_perl/auto/Geo/IP/IP.so /usr/share/doc/perl-Geo-IP-1.38 /usr/share/doc/perl-Geo-IP-1.38/Changes /usr/share/doc/perl-Geo-IP-1.38/INSTALL /usr/share/doc/perl-Geo-IP-1.38/MANIFEST /usr/share/doc/perl-Geo-IP-1.38/META.yml /usr/share/doc/perl-Geo-IP-1.38/README /usr/share/doc/perl-Geo-IP-1.38/example /usr/share/doc/perl-Geo-IP-1.38/example/city.pl /usr/share/doc/perl-Geo-IP-1.38/example/netspeed.pl /usr/share/doc/perl-Geo-IP-1.38/example/org.pl /usr/share/doc/perl-Geo-IP-1.38/example/region.pl /usr/share/man/man3/Geo::IP.3pm.gz /usr/share/man/man3/Geo::IP::Record.3pm.gz /usr/share/man/man3/Geo::Mirror.3pm.gz
Die benötigten Datenbanken holen wir uns direkt bei MaxMind. Die beiden Datenbankfiles legen wir in unserm System z.B. unter /usr/local/lib64/perl5/ ab; hierzu wechseln wir nun in das entsprechende Verzeichnis.
# cd /usr/local/lib64/perl5/
Anschließend laden wir uns das GeoIP Datenbank auf unseren Rechner.
# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
Zu guter Letzt entpacken wir die heruntergeladene Datei an Ort und Stelle.
# gunzip GeoIP.dat.gz
Das Gleiche machen wir nun mit der GeoLiteCity Datenbank.
# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
Auch diese entpacken wir nun noch.
# gunzip GeoLiteCity.dat.gz
In der betreffenden Hostkonfigurationsdatei von awstats aktivieren wir dann noch die beiden plugins.
# MAXMIND GEO IP MODULES: Please see documentation for notes on all Maxmind modules # PLUGIN: GeoIP # REQUIRED MODULES: Geo::IP or Geo::IP::PurePerl (from Maxmind) # PARAMETERS: [GEOIP_STANDARD | GEOIP_MEMORY_CACHE] [/pathto/geoip.dat[+/pathto/override.txt]] # DESCRIPTION: Builds a country chart and adds an entry to the hosts # table with country name # Replace spaces in the path of geoip data file with string "%20". # # Django : 2012-07-03 # default: #LoadPlugin="geoip GEOIP_STANDARD /pathto/GeoIP.dat" LoadPlugin="geoip GEOIP_STANDARD /usr/local/lib64/perl5/GeoIP.dat" # PLUGIN: GeoIP_City_Maxmind # REQUIRED MODULES: Geo::IP or Geo::IP::PurePerl (from Maxmind) # PARAMETERS: [GEOIP_STANDARD | GEOIP_MEMORY_CACHE] [/pathto/GeoIPCity.dat[+/pathto/override.txt]] # DESCRIPTION: This plugin adds a column under the hosts field and tracks the pageviews # and hits by city including regions. # Replace spaces in the path of geoip data file with string "%20". # # Django : 2012-07-03 # default: #LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /pathto/GeoIPCity.dat" LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/local/lib64/perl5/GeoLiteCity.dat"
WICHTIG:
Die Geo-Daten werden einmal im Monat aktualisiert zur Verfügung gestellt! Wir aktualisieren als bei Bedarf diese Datenbankdateien regelmäßig.
erstes Ergebnis
Nach erfolgreicher Konfiguration steht dem ersten Aufruf nichts mehr im Wege. Der Aufruf erfolgt über folgende URL:
$ firefox http://aw-stats.nausch.org/awstats/awstats.pl?config=dokuwiki.nausch.org
HINWEIS:
Der Teil nach ?config= in der URL ist der Name, den wir bei der Konfigurationdatei von AWStats im Verzeichnis /etc/awstats verwendet wurde.
Also z.B.
http://aw-stats.nausch.org/awstats/awstats.pl?config=wetter.nausch.org
für die Konfigurationsdatei
/etc/awstats/awstats.wetter.nausch.org.conf
Die Kür - BetterAWSstats
Nachdem uns AWStats ja schon viele Dinge bietet, verbessern wir das ganze noch mittels BetterAWStats. Die ganzten Gimicks sind auf der Projektseite ausfürlich beschrieben.
Mir persönlich gefällt vor allem neben der optischen Aufmachung, die komfortable Möglichkeit Auswertungen einzelner VHosts zu wechseln.
Download
Von der Homepage laden wir uns das aktuelle ZIP-Archiv auf unseren Rechner.
Möchte man folgenden Fehler bei der Installation vermeiden …
BetterAWstats Fehler
Es gab einen Fehler beim Lesen der awstats library Datei /usr/share/awstats/wwwroot/cgi-bin/lib/mime.pm um die VariableArray zu erhalten. Bitte verwenden Sie den Debug-Modus und wenden Sie sich an den Support.
… greift man am besten bei der Installation von betterawstats gleich auf die angepasste Version von hier zurück.
# wget http://repository.nausch.org/public/betterawstats-1.0.a.zip
Bevor wir nun das besagte Programmarchiv auf unseren Rechner holen, wechseln wir als erstes hierzu in unser Programmquellen-Verzeichnis. Haben wir selbiges noch nicht angelegt, dann ist natürlich noch dieses anzulegen:
# mkdir -p /usr/local/src/packages/
Anschließend wechseln wir in unser Verzeichnis:
# cd /usr/local/src/packages/
Nun laden wir das Programmarchiv von der Projektseite.
# wget http://downloads.sourceforge.net/project/betterawstats/betterawstats/1.0/betterawstats-1.0.zip
oder alternativ:
# wget http://repository.nausch.org/public/betterawstats-1.0.a.zip
Installation
Das gerade heruntergeladene tar.gz-Archiv entpacken wir nun als nächstes.
# unzip betterawstats-1.0.zip -d /usr/share/
Archive: betterawstats-1.0.zip creating: /usr/share/betterawstats/ inflating: /usr/share/betterawstats/bawstats.info inflating: /usr/share/betterawstats/bawstats.install inflating: /usr/share/betterawstats/bawstats.module inflating: /usr/share/betterawstats/config.php creating: /usr/share/betterawstats/core/ inflating: /usr/share/betterawstats/core/config.inc.php inflating: /usr/share/betterawstats/core/config_default.inc.php inflating: /usr/share/betterawstats/core/data.inc.php inflating: /usr/share/betterawstats/core/display.inc.php inflating: /usr/share/betterawstats/core/display_helpers.php inflating: /usr/share/betterawstats/core/extras.inc.php inflating: /usr/share/betterawstats/core/helpers.inc.php extracting: /usr/share/betterawstats/core/index.html inflating: /usr/share/betterawstats/core/language.inc.php inflating: /usr/share/betterawstats/core/library.inc.php creating: /usr/share/betterawstats/docs/ inflating: /usr/share/betterawstats/docs/FAQ.txt inflating: /usr/share/betterawstats/docs/history.txt extracting: /usr/share/betterawstats/docs/index.html inflating: /usr/share/betterawstats/docs/install.drupal.txt inflating: /usr/share/betterawstats/docs/install.txt inflating: /usr/share/betterawstats/docs/LICENSE.TXT inflating: /usr/share/betterawstats/favicon.ico inflating: /usr/share/betterawstats/horizontal.css creating: /usr/share/betterawstats/icons/ inflating: /usr/share/betterawstats/icons/bar.png extracting: /usr/share/betterawstats/icons/btn_empty.gif extracting: /usr/share/betterawstats/icons/circ-blue.png extracting: /usr/share/betterawstats/icons/circ-green.png inflating: /usr/share/betterawstats/icons/collapse.gif inflating: /usr/share/betterawstats/icons/empty.png extracting: /usr/share/betterawstats/icons/expand.gif inflating: /usr/share/betterawstats/icons/external.png inflating: /usr/share/betterawstats/icons/fulllist.png extracting: /usr/share/betterawstats/icons/fulllist_btn.png extracting: /usr/share/betterawstats/icons/help.png extracting: /usr/share/betterawstats/icons/index.html inflating: /usr/share/betterawstats/icons/screen.png inflating: /usr/share/betterawstats/icons/unknown.png extracting: /usr/share/betterawstats/icons/unknown_btn.png inflating: /usr/share/betterawstats/icons/versions.png extracting: /usr/share/betterawstats/icons/versions_btn.png inflating: /usr/share/betterawstats/icons/wmap.png creating: /usr/share/betterawstats/includes/ inflating: /usr/share/betterawstats/includes/bawstats.admin.inc inflating: /usr/share/betterawstats/includes/bawstats.config.inc inflating: /usr/share/betterawstats/includes/bawstats.css inflating: /usr/share/betterawstats/includes/bawstats.stats.inc extracting: /usr/share/betterawstats/includes/index.html inflating: /usr/share/betterawstats/index.php creating: /usr/share/betterawstats/language/ extracting: /usr/share/betterawstats/language/index.html inflating: /usr/share/betterawstats/language/lang_de.inc.php inflating: /usr/share/betterawstats/language/lang_en.inc.php inflating: /usr/share/betterawstats/language/lang_nl.inc.php creating: /usr/share/betterawstats/modules/ extracting: /usr/share/betterawstats/modules/index.html inflating: /usr/share/betterawstats/modules/render_htmlchart.inc.php inflating: /usr/share/betterawstats/modules/render_htmlchart2.inc.php inflating: /usr/share/betterawstats/modules/render_jpgraph.inc.php inflating: /usr/share/betterawstats/modules/render_map.inc.php inflating: /usr/share/betterawstats/modules/render_table.inc.php inflating: /usr/share/betterawstats/scripts.js inflating: /usr/share/betterawstats/style.css inflating: /usr/share/betterawstats/vertical.css
Für den Betrieb von BetterAWStats benötigen wir noch das Paket php-gd zur PHP Unterstützung der GD Gaphic Library, welches wir noch via yum installieren.
yum install php-gd -y
Konfiguration
Detaillierte Hinweise zur Installation und Konfiguration von BetterAWStats findet man in der mitgelieferten Installations-Datei.
# cat /usr/share/betterawstats/docs/install.txt
- /usr/share/betterawstats/docs/install.txt
REQUIREMENTS: - awstats and generated datafiles from awstats. - PHP 5.2 or above - a Webserver that can process PHP files (Apache, IIS etc) - 1MB space - A recent browser version that can properly render CSS, such as Opera 9, Firefox 2, IE 7 etc. - 1024x786 screen or larger INSTALL PROCEDURE BETTERAWSTATS: 1. Extract the files into any web-accessible directory, preserving the directory structure. 2. Edit the file config.php. Specially the paths to the awstats files have to be correct 3. Open index.php in your browser and you should see the results. 4. Under Linux, in order to use the online config editor, please make your config.php file writable by apache: chown apache:apache ./config.php chmod 664 ./config.php and set $BAW_CONF['online_config'] to true. If your BetterAWStats installation is not protected by password, you have to make the config.php file unwritable after you changed the settings and disable $BAW_CONF['online_config'] IMPORTANT NOTES: It is STRONGLY recommended to password-protect the folder where BetterAWStats is installed SPECIALLY when using the online config editor. You can use .htaccess files for example. DAILY USE: - update your statistics as usual with awstats - Open BetterAwstats to see the statistics HOW TO ADD ADITIONAL EXTRA SECTIONS: Awstats allows to add aditional extra sections with custom stats. In order to create those, 1. Please edit the file /core/extras.inc.php. Take a look at section EXTRAS_1 and copy the whole function again into the file, changing the function to show the data desired. 2. Below that, please copy the $BAW_CONF_DIS_DEF section and edit the fariables according to point 1. 3. Copy the respective section also in config.php and adjust the values accordingly.
Als erstes machen wir eine Sicherungskopie der mitgelieferten Konfigurationsdatei.
# cp /usr/share/betterawstats/config.php /usr/share/betterawstats/config.php.default
Als nächstes passen wir die Dateirechte der Konfigurationsdatei an.
# chmod 640 /usr/share/betterawstats/config.php
Anschließend schenken wir unserem Apache-Systemuser das Webrootverzeichnis.
# chown apache.apache /usr/share/betterawstats/ -R
Nun bearbeiten wir die Konfigurationsdatei von betterawstats mit dem Editor unserer wahl, z.B. vim.
# vim /usr/share/betterawstats/config.php
- /usr/share/betterawstats/config.php
<?php /** * betterawstats - an alternative display for awstats data * * @author Oliver Spiesshofer, support at betterawstats dot com * @copyright 2008 Oliver Spiesshofer * @version 1.0 * @link http://betterawstats.com * * Based on the GPL AWStats Totals script by: * Jeroen de Jong <jeroen@telartis.nl> * copyright 2004-2006 Telartis * version 1.13 (http://www.telartis.nl/xcms/awstats) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // this file can't be used on its own - do not change these 3 lines if (strpos ($_SERVER['PHP_SELF'], 'config.php') !== false) { die ('This file can not be used on its own!'); } // ATTENTION: BetterAWstats has an online config editor that you can use // instead of editing this file here. The link is on the bottom of the menu! // To use it, set $BAW_CONF['online_config']= true; and make sure that the // file is writable by the server, AND protectthe BetterAWStats installation // by a .htaccess file! //*********************************************************/ //* SITE SETTINGS //*********************************************************/ // NAME: Script URL // INFO: The url of BetterAWstats' directory, No trailing slash // DEFAULT: 'http://awstats.local' // Django : 2013-11-13 // default: $BAW_CONF['site_url'] = 'http://awstats.local'; $BAW_CONF['site_url'] = 'http://betterawstats.nausch.org'; // NAME: Script path // INFO: The path of BetterAWstats, No trailing slash // DEFAULT: '/path/to/betterawstats/' // Django : 2013-11-13 // default: $BAW_CONF['site_path'] = '/path/to/betterawstats'; $BAW_CONF['site_path'] = '/usr/share/betterawstats'; // NAME: Path to AWStats Data // INFO: Set this value to the directory where AWStats saves its database // files into. ATTENTION: If you read those files on windows but have // them created on linux or the other way round, make sure you transfer // them 'BINARY'. Otherwise they cannot be read properly. No trailing // slash // DEFAULT: '/path/to/betterawstats/awstats/data' // Django : 2013-11-13 // default: $BAW_CONF['path_data'] = '/path/to/betterawstats/awstats/data'; $BAW_CONF['path_data'] = '/usr/share/awstats/wwwdata'; // NAME: Path to AWStats Libraries // INFO: Set this value to the directory where AWStats saves its library // files into. No trailing slash // DEFAULT: '/path/to/betterawstats/awstats/lib' // Django : 2013-11-13 // default: $BAW_CONF['path_lib'] = '/path/to/betterawstats/awstats/lib'; $BAW_CONF['path_lib'] = '/usr/share/awstats/wwwroot/cgi-bin/lib'; // NAME: Path to AWStats Language files // INFO: Set this value to the directory where AWStats saves its language // files into. No trailing slash // DEFAULT: '/path/to/betterawstats/awstats/lang' // Django : 2013-11-13 // default: $BAW_CONF['path_lang'] = '/path/to/betterawstats/awstats/lang'; $BAW_CONF['path_lang'] = '/usr/share/awstats/wwwroot/cgi-bin/lang'; // NAME: URL to AWStats Icons // INFO: The url to the awstats icons, should include the whole http://..., // no trailing slash. // DEFAULT: 'http://awstats.local/awstats/icon' // Django : 2013-11-13 // default: $BAW_CONF['icons_url'] = 'http://awstats.local/awstats/icon'; $BAW_CONF['icons_url'] = 'http://awstats.nausch.org/icon'; // NAME: Web Configuration // INFO: Enable the online configuration editor? WARNING: Your config.php has // to be writable in order to enable this. This is a BAD idea to use // unless the folder is password-protected with a .htaccess file or // similar. // DEFAULT: true // POSSIBLE VALUES: true, false $BAW_CONF['online_config'] = false; // NAME: Change configuration password? // INFO: This password is needed to access the online configuration. It has // to be longer than 5 letters. // DEFAULT: '' // Django : 2013-11-13 // default: $BAW_CONF['online_config_password'] = ''; $BAW_CONF['online_config_password'] = 'In_god_we_trust_the_rest_we_monitor!'; // NAME: Limit to server? // INFO: Set this to a simgle server that you want to limit or "false" to // show all. The server name should be the one used for awstats. // DEFAULT: 'show_all' // POSSIBLE VALUES: 'sitename.org', 'show_all' $BAW_CONF['limit_server'] = 'show_all'; //*********************************************************/ //* LAYOUT SETTINGS //*********************************************************/ // NAME: Layout Type // INFO: Display page in vertical or horizontal layout? // DEFAULT: 'vertical' // POSSIBLE VALUES: 'vertical', 'horizontal' $BAW_CONF['layout_type'] = 'vertical'; // NAME: Language // INFO: Set your language. Set to "auto" to autodetect from browser // DEFAULT: 'auto' // POSSIBLE VALUES: 'auto', 'al', 'ba', 'bg', 'ca', 'tw', 'cn', 'cz', 'dk', 'nl', // 'en', 'et', 'eu', 'fi', 'fr', 'gl', 'de', 'gr', 'he', 'hu', // 'is', 'id', 'it', 'jp', 'kr', 'lv', 'nn', 'nb', 'pl', 'pt', // 'br', 'ro', 'ru', 'sr', 'sk', 'es', 'se', 'tr', 'ua', 'wlk' $BAW_CONF['lang_setting'] = 'auto'; // NAME: Decimal Point // INFO: Decimal Point Character (99.9) // DEFAULT: '.' $BAW_CONF['dec_point'] = '.'; // NAME: Thousands separator // INFO: Thousand Digit separator (1'000) // DEFAULT: "'" $BAW_CONF['tho_point'] = "'"; // NAME: Date format (2007-31-12) // INFO: How should a date look like? For formatting, please consult // http://php.net/manual/en/function.date.php // DEFAULT: 'Y-M-d' $BAW_CONF['date_format'] = 'Y-M-d'; // NAME: Date & Time format (2007-31-12 23:59) // INFO: How should a date & time look like? For formatting,please consult // http://php.net/manual/en/function.date.php // DEFAULT: 'Y-M-d H:i' $BAW_CONF['date_time_format'] = 'Y-M-d - H:i'; // NAME: Percentage decimals // INFO: How many decimals for percentage value? (99.9%) // DEFAULT: '1' $BAW_CONF['percent_decimals'] = '1'; // NAME: Hide Empty data // INFO: Completely hide graphs with zero entries? (The menu will also be // hidden) // DEFAULT: true // POSSIBLE VALUES: true, false $BAW_CONF['hideempty'] = true; // NAME: Submit dropdowns on change // INFO: If enabled, the site/date dropdowns do not have an "OK"-button. The // page is refreshed as soon as you choose a new value. Not recommended // for large sites. // DEFAULT: true // POSSIBLE VALUES: true, false $BAW_CONF['auto_submit_form'] = true; //*********************************************************/ //* TABLE SETTINGS //*********************************************************/ // NAME: First day of the week // INFO: Should Sunday be the first day of the week or monday? // DEFAULT: '1' // POSSIBLE VALUES: '1', '2' $BAW_CONF['firstdayofweek'] = '1'; // NAME: Field Length // INFO: What is the max. text length of table fields? (Applies only to // links) // DEFAULT: '65' $BAW_CONF['field_length'] = '50'; // NAME: Max. Table Lines // INFO: What is the max. no. of lines a table can have? Set to "false" to // disable. If a table reaches this number of lines, The rest is // summarized into one line. This also applies to the "full list" view // of a table // DEFAULT: '10000' $BAW_CONF['maxlines'] = '10000'; //*********************************************************/ //* CHART SETTINGS //*********************************************************/ // NAME: Max scale for Visitors // INFO: The maximum value of the chosen option will define the maximum // height of the Visitors bars in the chart // DEFAULT: 'layout_visits' // POSSIBLE VALUES: 'layout_visitos', 'layout_visits', 'layout_pages', // 'layout_hits', 'layout_bytes' $BAW_CONF['max_visitors'] = 'layout_visits'; // NAME: Max scale for Visits // INFO: The maximum value of the chosen option will define the maximum // height of the Visits bars in the chart // DEFAULT: 'layout_visits' // POSSIBLE VALUES: 'layout_visits', 'layout_pages', 'layout_hits', 'layout_bytes' $BAW_CONF['max_visits'] = 'layout_visits'; // NAME: Max scale for Pages // INFO: The maximum value of the chosen option will define the maximum // height of the Pages bars in the chart // DEFAULT: 'layout_pages' // POSSIBLE VALUES: 'layout_pages', 'layout_hits', 'layout_bytes' $BAW_CONF['max_pages'] = 'layout_pages'; // NAME: Max scale for Hits // INFO: The maximum value of the chosen option will define the maximum // height of the Hits bars in the chart // DEFAULT: 'layout_hits' // POSSIBLE VALUES: 'layout_hits', 'layout_bytes' $BAW_CONF['max_hits'] = 'layout_hits'; // NAME: Max no of chart rows // INFO: When displaying the charts with the full lists, How many items can // there be displayed? The rest will sum up into "Others". This is done // to prevent too wide charts // DEFAULT: '50' $BAW_CONF['max_chart_items'] = '30'; // NAME: Chart Titles? // INFO: If enabled, it will show a title on top of each chart. // DEFAULT: true // POSSIBLE VALUES: true, false $BAW_CONF['chart_titles'] = false; //*********************************************************/ //* JPGRAPH SETTINGS //*********************************************************/ // NAME: Enable JPgraph? // INFO: To use JPGraph, you have to download it from // http://www.aditus.nu/jpgraph/jpdownload.php. // DEFAULT: true // POSSIBLE VALUES: true, false $BAW_CONF['use_jpgraph'] = false; // NAME: Path to JPGraph // INFO: Where is your JPGraph installation? (The folder where jpgraph.php is // in. No trailing slash) // DEFAULT: '/path/to/betterawstats/jpgraph/src' $BAW_CONF['jpgraph_path'] = '/path/to/betterawstats/jpgraph/src'; //*********************************************************/ //* ADVANCED SETTINGS //*********************************************************/ // NAME: XHTML/ HTML // INFO: Do you want output in HTML or XHTML? // DEFAULT: true // POSSIBLE VALUES: true, false $BAW_CONF['xhtml'] = false; // NAME: Debug // INFO: Do you want to show debug-output (VERY detailed)? // DEFAULT: true // POSSIBLE VALUES: true, false $BAW_CONF['debug'] = false; // NAME: Parser Stats // INFO: Do you want to show log file parsing data below the stats summary? // DEFAULT: true // POSSIBLE VALUES: true, false $BAW_CONF['show_parser_stats'] = true; // NAME: Module settings // INFO: Are you using BetterAWstats as a module for another software? // (Currently only Drupal is supported) // DEFAULT: 'none' // POSSIBLE VALUES: 'none', 'drupal' $BAW_CONF['module'] = 'none'; //*********************************************************/ //* DISPLAY //*********************************************************/ // NAME: Summary // INFO: General Overview of key figures and dates $BAW_CONF_DIS['overview'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '1', // Item Sequence ); // NAME: Monthly history // INFO: Monthly data $BAW_CONF_DIS['months'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '2', // Item Sequence 'top_x' => '24', // Show how many entries? 'avg' => true, // Show averages? 'total' => true, // Show total Sum? 'chart' => true, // Show HTML chart? 'table' => true, // Show data table? ); // NAME: Days of month // INFO: Daily data $BAW_CONF_DIS['days'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '3', // Item Sequence 'avg' => true, // Show averages? 'total' => true, // Show total Sum? 'chart' => true, // Show HTML chart? 'table' => true, // Show data table? ); // NAME: Days of week (Averages) // INFO: Weekdays $BAW_CONF_DIS['weekdays'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '4', // Item Sequence 'avg' => true, // Show averages? 'total' => false, // Show total Sum? 'chart' => true, // Show HTML chart? 'table' => true, // Show data table? ); // NAME: Hours (Averages) // INFO: Hours of the day $BAW_CONF_DIS['hours'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '5', // Item Sequence 'avg' => true, // Show averages? 'total' => false, // Show total Sum? 'chart' => true, // Show HTML chart? 'table' => true, // Show data table? 'sort' => '1', // Sort for which column? Possible values are: // '1'=Hours, '2'=Pages, '3'=Hits, '4'=Bandwidth 'sort_dir' => SORT_ASC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending ); // NAME: Visitors domains/countries // INFO: Domains of visitors $BAW_CONF_DIS['domains'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '6', // Item Sequence 'avg' => false, // Show averages? 'total' => false, // Show total Sum? 'chart' => true, // Show HTML chart? 'table' => true, // Show data table? 'map' => true, // Show Map Image? 'top_x' => '10', // Show how many entries? 'sort' => '0', // Sort for which column? Possible values are: // 'key'=Visitors domains/countries, '0'=Pages, '1'=Hits, '2'=Bandwidth 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending ); // NAME: Hosts // INFO: IP addresses of visitors $BAW_CONF_DIS['visitors'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '7', // Item Sequence 'avg' => true, // Show averages? 'total' => true, // Show total Sum? 'table' => true, // Show data table? 'top_x' => '10', // Show how many entries? 'sort' => '1', // Sort for which column? Possible values are: // '0'=Hosts, '1'=Pages, '2'=Hits, '3'=Bandwidth, '4'=Ratio(Hits/Pages), // '5'=Last visit 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending 'assumebot' => '1', // Hits/pages minimum ratio to assume normal user? ); // NAME: Authenticated users // INFO: Logins for username/password protected pages $BAW_CONF_DIS['logins'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '8', // Item Sequence 'avg' => false, // Show averages? 'total' => false, // Show total Sum? 'table' => true, // Show data table? 'top_x' => '5', // Show how many entries? 'sort' => '1', // Sort for which column? Possible values are: // 'key'=Authenticated users, '0'=Pages, '1'=Hits, '2'=Bandwidth, '3'=Last // visit 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending ); // NAME: Robots/Spiders visitors // INFO: Spiders, Robots of Search engines etc. $BAW_CONF_DIS['robots'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '9', // Item Sequence 'avg' => true, // Show averages? 'total' => true, // Show total Sum? 'table' => true, // Show data table? 'top_x' => '10', // Show how many entries? 'sort' => '1', // Sort for which column? Possible values are: // '0'=Robots/Spiders visitors, '1'=Hits, '2'=Hits (robots.txt), // '3'=Bandwidth, '4'=Last visit 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending ); // NAME: Worms // INFO: Worms searching for security holes $BAW_CONF_DIS['worms'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '10', // Item Sequence 'avg' => false, // Show averages? 'total' => true, // Show total Sum? 'table' => true, // Show data table? 'top_x' => '10', // Show how many entries? 'sort' => '2', // Sort for which column? Possible values are: // '0'=Worms, '1'=Sensitive targets, '2'=Hits, '3'=Bandwidth, '4'=Last visit 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending ); // NAME: Visits duration // INFO: How long have people been on the site? $BAW_CONF_DIS['sessions'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '11', // Item Sequence 'avg' => false, // Show averages? 'total' => false, // Show total Sum? 'table' => true, // Show data table? ); // NAME: File type // INFO: What filetypes are on the site $BAW_CONF_DIS['filetype'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '12', // Item Sequence 'avg' => false, // Show averages? 'total' => true, // Show total Sum? 'table' => true, // Show data table? 'top_x' => '10', // Show how many entries? 'chart' => true, // Show HTML chart? 'sort' => '0', // Sort for which column? Possible values are: // 'key'=File type, '0'=Hits, '1'=Bandwidth, '2'=Compression on, // '3'=Compression result 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending ); // NAME: Pages-URL // INFO: Pages on the site $BAW_CONF_DIS['urls'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '13', // Item Sequence 'avg' => true, // Show averages? 'total' => true, // Show total Sum? 'table' => true, // Show data table? 'top_x' => '10', // Show how many entries? 'sort' => '1', // Sort for which column? Possible values are: // '0'=Pages-URL, '1'=Viewed, '2'=Average size, '3'=Entry, '4'=Exit 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending ); // NAME: Files/paths // INFO: Files/paths on the site $BAW_CONF_DIS['paths'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '14', // Item Sequence 'avg' => true, // Show averages? 'total' => true, // Show total Sum? 'table' => true, // Show data table? 'top_x' => '10', // Show how many entries? 'sort' => '1', // Sort for which column? Possible values are: // '0'=Files/paths, '1'=Viewed 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending ); // NAME: Operating Systems // INFO: Operating system of users $BAW_CONF_DIS['os'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '15', // Item Sequence 'avg' => false, // Show averages? 'total' => false, // Show total Sum? 'table' => true, // Show data table? 'chart' => true, // Show HTML chart? 'top_x' => '10', // Show how many entries? 'sort' => '2', // Sort for which column? Possible values are: // '1'=Operating Systems, '2'=Hits 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending ); // NAME: Unknown OS (useragent field) // INFO: Unknown Operating system $BAW_CONF_DIS['unknownos'] = array( 'show' => false, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '17', // Item Sequence 'avg' => false, // Show averages? 'total' => false, // Show total Sum? 'table' => true, // Show data table? 'top_x' => '10', // Show how many entries? 'sort' => '1', // Sort for which column? Possible values are: // '1'=User Agent, '2'=Last visit 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending ); // NAME: Operating Systems (+Versions) // INFO: Operating system of users including versions $BAW_CONF_DIS['osversions'] = array( 'show' => false, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '16', // Item Sequence 'avg' => false, // Show averages? 'total' => false, // Show total Sum? 'table' => true, // Show data table? 'chart' => true, // Show HTML chart? 'top_x' => '10', // Show how many entries? 'sort' => '2', // Sort for which column? Possible values are: // '1'=Operating Systems, '2'=Hits 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending ); // NAME: Browsers // INFO: User Browser Type $BAW_CONF_DIS['browsers'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '18', // Item Sequence 'avg' => false, // Show averages? 'total' => false, // Show total Sum? 'chart' => true, // Show HTML chart? 'table' => true, // Show data table? 'top_x' => '10', // Show how many entries? 'sort' => '3', // Sort for which column? Possible values are: // '1'=Browsers, '2'=Grabber, '3'=Hits 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending ); // NAME: Browsers (+Versions) // INFO: User Browser Type (+Versions) $BAW_CONF_DIS['browserversions'] = array( 'show' => false, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '19', // Item Sequence 'avg' => false, // Show averages? 'total' => false, // Show total Sum? 'table' => true, // Show data table? 'chart' => false, // Show HTML chart? 'top_x' => '10', // Show how many entries? 'sort' => '4', // Sort for which column? Possible values are: // '2'=Browsers, '3'=Grabber, '4'=Hits 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending ); // NAME: Unknown browsers (useragent field) // INFO: Unknown Browsers $BAW_CONF_DIS['unknownbrowser'] = array( 'show' => false, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '20', // Item Sequence 'avg' => false, // Show averages? 'total' => false, // Show total Sum? 'table' => true, // Show data table? 'top_x' => '10', // Show how many entries? 'sort' => '1', // Sort for which column? Possible values are: // '1'=User Agent, '2'=Last visit 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending ); // NAME: Screen sizes // INFO: Screensizes of users $BAW_CONF_DIS['screensizes'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '21', // Item Sequence 'avg' => false, // Show averages? 'total' => false, // Show total Sum? 'table' => true, // Show data table? 'chart' => true, // Show HTML chart? 'top_x' => '5', // Show how many entries? 'sort' => '2', // Sort for which column? Possible values are: // '1'=Screen sizes, '2'=Hits 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending ); // NAME: Referring search engines // INFO: Referrals from search engines $BAW_CONF_DIS['se_referers'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '22', // Item Sequence 'avg' => false, // Show averages? 'total' => true, // Show total Sum? 'table' => true, // Show data table? 'top_x' => '10', // Show how many entries? 'sort' => '1', // Sort for which column? Possible values are: // '0'=Referring search engines, '1'=Pages, '2'=Hits 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending 'favicon' => true, // Retrieve favicons for external URLs? ); // NAME: Referring sites // INFO: Referrals from other sites $BAW_CONF_DIS['referers'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '23', // Item Sequence 'avg' => false, // Show averages? 'total' => true, // Show total Sum? 'table' => true, // Show data table? 'top_x' => '10', // Show how many entries? 'sort' => '1', // Sort for which column? Possible values are: // '0'=Referring sites, '1'=Pages, '2'=Hits 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending 'favicon' => false, // Retrieve favicons for external URLs? ); // NAME: Referring sites by Domains // INFO: Referrals from other sites, grouped by 2-nd level domains $BAW_CONF_DIS['referer_domains'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '24', // Item Sequence 'avg' => false, // Show averages? 'total' => true, // Show total Sum? 'table' => true, // Show data table? 'top_x' => '10', // Show how many entries? 'sort' => '1', // Sort for which column? Possible values are: // '0'=Referring sites, '1'=Pages, '2'=Hits 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending 'favicon' => false, // Retrieve favicons for external URLs? 'domain_lvls' => '3', // Shorten URL to how many domain levels? (-1 to disable) ); // NAME: Hotlinks // INFO: Pages linking to images/data on your site $BAW_CONF_DIS['hotlinks'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '25', // Item Sequence 'avg' => false, // Show averages? 'total' => true, // Show total Sum? 'table' => true, // Show data table? 'top_x' => '10', // Show how many entries? 'sort' => '1', // Sort for which column? Possible values are: // '0'=Referring sites, '1'=Hits 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending 'favicon' => false, // Retrieve favicons for external URLs? ); // NAME: Hotlinks by Domains // INFO: Domains linking to images/data on your site $BAW_CONF_DIS['hotlink_domains'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '26', // Item Sequence 'avg' => false, // Show averages? 'total' => true, // Show total Sum? 'table' => true, // Show data table? 'top_x' => '10', // Show how many entries? 'sort' => '1', // Sort for which column? Possible values are: // '0'=Referring sites, '1'=Hits 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending 'favicon' => false, // Retrieve favicons for external URLs? 'domain_lvls' => '3', // Shorten URL to how many domain levels? (-1 to disable) ); // NAME: Search�Keyphrases // INFO: Search phrases $BAW_CONF_DIS['searchphrases'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '27', // Item Sequence 'avg' => false, // Show averages? 'total' => true, // Show total Sum? 'table' => true, // Show data table? 'top_x' => '10', // Show how many entries? 'sort' => '1', // Sort for which column? Possible values are: // '0'=different keyphrases, '1'=Hits 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending ); // NAME: Search�Keywords // INFO: Search words $BAW_CONF_DIS['searchwords'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '28', // Item Sequence 'avg' => false, // Show averages? 'total' => true, // Show total Sum? 'table' => true, // Show data table? 'top_x' => '10', // Show how many entries? 'sort' => '1', // Sort for which column? Possible values are: // '0'=different keywords, '1'=Hits 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending ); // NAME: Miscellaneous // INFO: User system features $BAW_CONF_DIS['misc'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '29', // Item Sequence 'table' => true, // Show data table? ); // NAME: HTTP Status codes // INFO: Acesses to pages that returned errors $BAW_CONF_DIS['errors'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '30', // Item Sequence 'total' => true, // Show total Sum? 'table' => true, // Show data table? 'top_x' => '10', // Show how many entries? 'sort' => '2', // Sort for which column? Possible values are: // '0'=HTTP Status codes, '2'=Hits, '3'=Average size 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending ); // NAME: Error�Hits // INFO: Required but not found URLs (HTTP code 404) $BAW_CONF_DIS['errors404'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '31', // Item Sequence 'table' => true, // Show data table? 'total' => true, // Show total Sum? 'top_x' => '10', // Show how many entries? 'sort' => '1', // Sort for which column? Possible values are: // '0'=Error�Hits, '1'=Hits, '2'=Hits 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending ); // NAME: Color depth // INFO: Screen colors of users $BAW_CONF_DIS['extra_1'] = array( 'show' => true, // Show this Data? 'collapse' => false, // Collapsed? 'order' => '32', // Item Sequence 'total' => false, // Show total Sum? 'table' => true, // Show data table? 'top_x' => '10', // Show how many entries? 'sort' => '1', // Sort for which column? Possible values are: // '0'=Color depth in bits, '1'=Hits 'sort_dir' => SORT_DESC, // Sort direction? Possible values are: // SORT_ASC=Ascending, SORT_DESC=Descending ); ?>
Konfiguration des Apache vHosts
Für den Zugriff auf unsere Webserver-Statistiken legen wir uns einen virtuellen Host an. Die entsprechende Konfigurationsdatei vhosts.conf haben wir im Verzeichnis /etc/httpd/conf.d angelegt. Mit dem Editor unserer Wahl ergänzen wir nun unsere virtuelen Hosts um einen weiteren:
# vim /etc/httpd/conf.d/vhosts.conf
- /etc/httpd/conf.d/vhosts.conf
# # betterawstats.nausch.org # <VirtualHost *:80> ServerAdmin webmaster@nausch.org ServerName betterawstats.nausch.org ServerAlias www.betterawstats.nausch.org ServerPath / DocumentRoot "/usr/share/betterawstats" <Directory "/usr/share/betterawstats"> AllowOverride None #Options +ExecCGI #DirectoryIndex awstats.pl Order deny,allow Deny from all Allow from 127.0.0.1 Allow from 10.0.0.0/24 Allow from 10.0.10.0/26 </Directory> Alias /awstatsclasses "/var/www/awstats/classes/" Alias /awstatscss "/var/www/awstats/css/" Alias /awstatsicons "/var/www/awstats/icon/" ScriptAlias /awstats/ "/var/www/awstats/cgi-bin/" ErrorLog logs/betterawstats_error.log CustomLog logs/betterawstats_access.log combined </VirtualHost>
Fehlerhandling - Anpassung
Achtung:
Hat man BetterAWStats aus den offiziellen Quellen installiert, kommt es beim Aufruf unserer dynamischen Webseite zu nachfolgendem Fehler. Zur Korrektur müssen wir die nachfolgenden PHP-Module data.inc.php und library.inc.php im Verzeichnis /usr/share/betterawstats/core austauschen!
BetterAWstats Fehler
Es gab einen Fehler beim Lesen der awstats library Datei /usr/share/awstats/wwwroot/cgi-bin/lib/mime.pm um die VariableArray zu erhalten. Bitte verwenden Sie den Debug-Modus und wenden Sie sich an den Support.
- /usr/share/betterawstats/core/data.inc.php
<?php /** * betterawstats, an alternative display for awstats data * * @author Oliver Spiesshofer, support at betterawstats dot com * @copyright 2008 Oliver Spiesshofer * @version 1.0 * @link http://betterawstats.com * Based on the GPL AWStats Totals script by: * Jeroen de Jong <jeroen@telartis.nl> * copyright 2004-2006 Telartis * version 1.13 (http://www.telartis.nl/xcms/awstats) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place','Suite 330, Boston, MA 02111-1307, USA. */ /** * File contents: * * This file contains functions that read data from files process it and store it * in an array. This concerns library-data as well as stats-data. Language files * are NOT processed here. */ // this file can't be used on its own if (strpos ($_SERVER['PHP_SELF'], 'data.inc.php') !== false) { die ('This file can not be used on its own!'); } /** * Data function: read the data directories this function is called by * baw_match_files() and itself recursively * * @param str $dir directory * @return arr ALL files found in that directory * */ function baw_parse_dir($dir = false) { global $BAW_CONF; if ($dir == false) { $dir = $BAW_CONF['path_data']; } if (!file_exists($dir)) { echo baw_raise_error('datafilesdir', array($dir)); return array(); } // add trailing slash if not exists if (substr($dir, -1) != '/') { $dir .= '/'; } baw_debug('dbg_start_parse_dir', $dir); $files = array(); if ($dh = @opendir($dir)) { while (($file = readdir($dh)) !== false) { if (!preg_match('/^\./s', $file)) { if (is_dir($dir.$file)) { $newdir = $dir.$file.'/'; $files = array_merge($files, baw_parse_dir($newdir)); baw_debug('dbg_found_dir', $dir); } else { $files[] = $dir.$file; baw_debug('dbg_found_file', $file); } } } closedir($dh); } baw_debug('dbg_finished_parse_dir', $dir); return $files; } /* * Data function: find all files that contain the data for the current month and * 12 month before now to write a rolling month data chart. This function is called * by index.php * * fills the gl. arrays: $BAW_CURR['years'], $BAW_CURR['months'], $BAW_DFILES * */ function baw_match_files() { global $BAW_CURR, $BAW_CONF, $BAW_CONF_DIS, $BAW_MES, $BAW_DFILES, $BAW_SERVERS; // read all the files in the directory $dirfiles = baw_parse_dir(); $pat_others = '/awstats(\d{6})\.((.+))\.txt$/'; // go through all files and find matching ones $year_array = array(); $month_array = array(); foreach ($dirfiles as $file) { $filename = explode("/", $file); $filename = $filename[count($filename)-1]; if (preg_match($pat_others, $file, $match)) { $month = substr($filename, 7, 2); $year = substr($filename, 9, 4); $year_array[$year] = $year; $month_array[$month] = $BAW_MES[$month + 59]; // future feature where the admin can tell which sites to read/ exclude // if (!$BAW_CONF['filter_configs'] || in_array($site, $BAW_CONF['filter_configs'])) { $site = $match[2]; $BAW_DFILES[$site][$year.$month] = array( 'file' => $file, 'map' => null ); // add the sites to another array since we need that for the config editor $BAW_SERVERS[$site] = $site; baw_debug("site found for month $month and year $year: $file, SITE: {$site}"); } } if (count($year_array)>0) { $year_array = array_unique($year_array); ksort($year_array); } if (count($month_array)>0) { ksort($month_array); $month_array = array_unique($month_array); } $BAW_CURR['years'] = $year_array; $BAW_CURR['months'] = $month_array; // since we added sites with each file, remove duplicates ksort($BAW_DFILES); ksort($BAW_SERVERS); $BAW_SERVERS = array('show_all' => $BAW_MES['cfg_show_all']) + $BAW_SERVERS; if (!isset($BAW_CURR['site_name'])) { $BAW_CURR['site_name'] = key($BAW_DFILES); // we dont have a selected, take first in line reset($BAW_DFILES); } } /* * Data function: calculate the month-data by summing up days and retrieving * single-value data. This function is called by different display-functions * * @param arr $t TIME data array of the current file * @param arr $g GENERAL data array of the current file * @return arr summed dataset for processing * */ function baw_calc_monthdata($t, $g) { baw_debug("Calculating Month-data"); $pages = 0; $hits = 0; $bandwidth = 0; $not_viewed_pages = 0; $not_viewed_hits = 0; $not_viewed_bandwidth = 0; $num_t = count($t); for ($i=0; $i<$num_t; $i++) { $pages += $t[$i][0]; $hits += $t[$i][1]; $bandwidth += $t[$i][2]; $not_viewed_pages += $t[$i][3]; $not_viewed_hits += $t[$i][4]; $not_viewed_bandwidth += $t[$i][5]; } $result = array( $g['TotalUnique'][0], $g['TotalVisits'][0], $pages, $hits, $bandwidth, $not_viewed_pages, $not_viewed_hits, $not_viewed_bandwidth ); return $result; } /* * Data Function: read data from awstats library files (perl format) * Opens a file, reads the contents and does corrections and makes PHP out of PERL * This function is called by the file library.inc.php * * @param str $file path to the library file * @param str $data the name of the array in the file * @return arr summed dataset for processing * */ function baw_get_library($file, $data) { global $BAW_CONF, $BAW_LOGTYPE; $file = $BAW_CONF['path_lib'] . $file; baw_debug("Trying to read library data ($data) from file: $file"); if (!file_exists($file)) { echo baw_raise_error('libraryfiles', array($file)); exit; } // read the whole file in one go $file_text = file_get_contents($file); // these are to attempt to convert the perl data file to PHP $search = array( "\$LogType eq 'S'", "= ", // remove spaces between = and ( "@", "%", "'=>'", "=(", "=\n(", "=\r(", "=\r\n(", ",,", ' target="_blank"', ' [new window]', '<a href="', '&', '/" Searc', '[', ']' ); $replace = array( "\$LogType = 'S'", "=", "$", "$", "', '", "= array(", "= array(", "= array(", "= array(", ",", " ", " ", '<a class="ext_link" href="', '&', '/" title="Searc', 'array(', ')' ); $file_text = str_replace($search, $replace, $file_text); $check = eval($file_text); // check if we have an error with the conversion if ($check === false) { echo baw_raise_error('libraryeval', array($file, $data)); } if (is_array($data)) { $a = 0; foreach($data as $arr_name) { $countpairs = count($$arr_name); $parr = $$arr_name; for ($i=0; $i<$countpairs; $i=$i+2) { $new_arr[$a][$parr[$i]] = $parr[$i+1]; } $a++; } } else { $countpairs = count($$data); $parr = $$data; for ($i=0; $i<$countpairs; $i=$i+2) { $new_arr[$parr[$i]] = $parr[$i+1]; } } return $new_arr; } /* * Data Function: read data from awstats data file. Identifies the file to read, * locates the data-map, reads the data. This function is called by every single * display-function on need for data. Some data might be read twice or more. * * @param str $site which site do we read * @param str $data_type the name of the data-type to read * @param str $date YYYYMM, date of datafile * @return arr data from file as assoc. array * */ function baw_data($site, $data_type, $date) { global $BAW_CONF, $BAW_LIB, $BAW_CURR, $BAW_DFILES; $MAP = array(); baw_debug("reading $site datafile, type $data_type from $date"); // we have to remove the linebreaks otherwise they end up in the data $brs_arr = array("\n", "\r"); $brr_arr = array("", ""); $dataset = array(); // reduce the dataset to the necessary data if (!isset($BAW_DFILES[$site][$date])) { return false; } else { $dataset[$date] = $BAW_DFILES[$site][$date]; } // iterate each data file $file = $dataset[$date]['file']; $f = fopen($file, 'r'); $map = $dataset[$date]['map']; baw_debug("reading site $site datafile, date $date, file $file"); // read the map if required if ($map == null) { baw_read_filemap($f, $site, $date); if (!isset($BAW_DFILES[$site][$date]['map'][$data_type])) { return false; } else { $offset = $BAW_DFILES[$site][$date]['map'][$data_type]; } } else if (isset($map[$data_type])) { $offset = $map[$data_type]; baw_debug("data map present, reading data $data_type from offset $offset"); } else { baw_debug("data map present, type $data_type not existant in map!"); return false; } $filedata = array(); fseek($f , $offset, SEEK_SET); $check = 1; while ($check !== 0) { baw_debug("reading aditional line to find data..."); $firstline = fgets($f, 20000); $check = strpos($firstline,"BEGIN_$data_type"); } if ($check !== 0) { $err_data = array($file, $firstline); echo baw_raise_error('datafile', $err_data); exit; } $index = explode(' ', $firstline); $lines_count = $index[1]; baw_debug("Data $data_type found at offset ". ftell($f) . " instead of $offset (" . (ftell($f) - $offset) . " diff), is $lines_count lines long, reading now:"); for ($i=0; $i<$lines_count;$i++) { baw_debug("reading Line $data_type $i"); $str = fgets($f, 20000); if (substr($str,0,4) == 'END_') { // this is a security check since sometimes we are off continue; } // remove linebreaks from string $str = str_replace($brs_arr,$brr_arr, $str); $line_arr = explode(' ', $str); // shift first element as array name $first_element = array_shift($line_arr); // check if one dataset has occurred twice and would // overwrite another. SIDER and PAGEREF had this issue for sure. if (!isset($filedata[$first_element])) { $filedata[$first_element] = $line_arr; } else { foreach ($line_arr as $no => $line_item) { if (is_numeric($line_item)) { // this could cause trouble in case this was a date, percentage etc. $filedata[$first_element][$no] += $line_item; } } } } fclose($f); baw_debug("data read, file closed"); return $filedata; } /* * Data Function: read the filemap at the begginning of a data file. This function * is called only by baw_data if the data was not read before. * * @param obj &$f file-handler to read * @param str $site the concerned site * @param str $date YYYYMM, date of datafile * adds the data to gl. array $BAW_DFILES * */ function baw_read_filemap(&$f, $site, $date) { global $BAW_DFILES; // $f = fopen($file, 'r'); $str =''; $check = 1; // read this file until we hit the offsets while ($check !== 0) { $str = fgets($f, 20000); // check for XML Data if (strstr($str, '<xml') !== false) { // we have XML echo baw_raise_error('xmldata'); exit; } $check = strpos($str, 'BEGIN_MAP'); } $check = explode(' ', $str); $lines_count = $check[1]; // line length of the map baw_debug("found data map for file, has $lines_count lines"); // now read x more lines for ($i=0; $i<$lines_count;$i++) { // read the complete offset map $str = fgets($f, 512); // split the info in string - byte offset $check = explode(' ', $str); $type = substr($check[0], 4); $offset = $check[1]; if ($offset > 1) { baw_debug("data type $type, starts at offset $offset"); $BAW_DFILES[$site][$date]['map'][$type] = $offset; } else { echo baw_raise_error('datafileindex', $err_data); exit; } } baw_debug("map read"); } ?>
- /usr/share/betterawstats/core/library.inc.php
<?php /** * betterawstats - an alternative display for awstats data * * @author Oliver Spiesshofer, support at betterawstats dot com * @copyright 2008 Oliver Spiesshofer * @version 1.0 * @link http://betterawstats.com * Based on the GPL AWStats Totals script by: * Jeroen de Jong <jeroen@telartis.nl> * copyright 2004-2006 Telartis * version 1.13 (http://www.telartis.nl/xcms/awstats) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /** * File contents: * * This file sets default/addon data for libraries and reads the aditional data * from the library files. */ // this file can't be used on its own if (strpos ($_SERVER['PHP_SELF'], 'library.inc.php') !== false) { die ('This file can not be used on its own!'); } $BAW_LIB['formats'] = array( // class img text format 'layout_visitors' => array( 'img' => 'vu.png', 'txt' => 11, 'frm' => 'baw_num_format(%s);', 'max'=> 'layout_visits'), 'layout_visits' => array( 'img' => 'vv.png', 'txt' => 10, 'frm' => 'baw_num_format(%s);', 'max'=> 'layout_visits'), 'layout_pages' => array( 'img' => 'vp.png', 'txt' => 56, 'frm' => 'baw_num_format(%s);', 'max'=> 'layout_pages'), 'layout_hits' => array( 'img' => 'vh.png', 'txt' => 57, 'frm' => 'baw_num_format(%s);', 'max'=> 'layout_hits'), 'layout_bytes' => array( 'img' => 'vk.png', 'txt' => 75, 'frm' => 'baw_byte_format(%s);', 'max'=> 'layout_bytes'), 'layout_percent' => array( 'img' => '', 'txt' => 15, 'frm' => 'baw_percent_format(%s);', 'max'=> ''), 'layout_date' => array( 'img' => '', 'txt' => '', 'frm' => 'baw_getdate_format(%s);', 'max'=> ''), 'layout_text' => array( 'img' => '', 'txt' => '', 'frm' => false, 'max'=> ''), 'layout_ratio' => array( 'img' => '', 'txt' => '', 'frm' => 'baw_num_format(%s,2);', 'max'=> '') ); // this is defined here to indicate the order of the array, otherwise the information is in the datafile $BAW_LIB['sessions'] = array( '0s-30s', '30s-2mn', '2mn-5mn', '5mn-15mn', '15mn-30mn', '30mn-1h', '1h+' ); $BAW_LIB['os']['families'] = array( 'win' => array('win', '<b>Windows</b>',0), 'mac' => array('mac', '<b>Macintosh</b>',0), 'linux'=> array('linux', '<b>Linux</b>',0), 'bsd' => array('bsd', '<b>BSD</b>',0) ); $BAW_LIB['os']['codes'] = array('win', 'mac', 'linux', 'bsd'); $BAW_LIB['os']['list'] = baw_get_library("/operating_systems.pm", 'OSHashLib'); $BAW_LIB['domains'] = baw_get_library("/domains.pm", 'DomainsHashIDLib'); $BAW_LIB['robots'] = baw_get_library("/robots.pm", 'RobotsHashIDLib'); list ( $BAW_LIB['worms']['names'], $BAW_LIB['worms']['targets']) = baw_get_library( "/worms.pm", array('WormsHashLib', 'WormsHashTarget') ); list ( $mime_hash_lib, $mime_hash_family) = baw_get_library ( "/mime.pm", array('MimeHashLib', 'MimeHashFamily') ); // In the 7.x version of AWStats the meanings of the mime arrays is // different from the 6.x versions. We can check for this by seeing if the // first element of $mime_hash_lib has two elements. $mime_hash_lib_values = array_values($mime_hash_lib); if (count($mime_hash_lib_values[0]) == 2) { // This is the 7.x version of AWStats $BAW_LIB['files']['types'] = $mime_hash_family; foreach ($mime_hash_lib as $ext => $family_type) { $BAW_LIB['files']['family'][$ext] = $family_type[0]; } $BAW_LIB['files']['icons'] = $BAW_LIB['files']['family']; } else { // This is the 6.x version of AWStats $mime_hash_icon = baw_get_library("/mime.pm", 'MimeHashIcon'); $BAW_LIB['files']['types'] = $mime_hash_lib; $BAW_LIB['files']['icons'] = $mime_hash_icon; $BAW_LIB['files']['family'] = $mime_hash_family; } $BAW_LIB['browser']['familes'] = array('msie'=>1,'firefox'=>2,'netscape'=>3,'svn'=>4); list ( $BAW_LIB['browser']['names'], $BAW_LIB['browser']['grabbers'], $BAW_LIB['browser']['icons']) = baw_get_library( "/browsers.pm", array('BrowsersHashIDLib','BrowsersHereAreGrabbers','BrowsersHashIcon') ); $BAW_LIB['searchengines']['names']= baw_get_library("/search_engines.pm", 'SearchEnginesHashLib'); $BAW_LIB['misc'] = array( // 'TotalMisc' => 0, // 'AddToFavourites' => 137, 'JavascriptDisabled' => 168, 'JavaEnabled' => 140, 'DirectorSupport'=> 141, 'FlashSupport' => 142, 'RealPlayerSupport'=> 143, 'QuickTimeSupport' => 144, 'WindowsMediaPlayerSupport' => 145, 'PDFSupport' => 146 ); $BAW_LIB['http_status'] = baw_get_library("/status_http.pm", 'httpcodelib'); $BAW_LIB['item_groups'] = array( 'time' => array( 'title' => $BAW_MES['time'], 'members' => array('overview', 'months', 'days', 'weekdays', 'hours') ), 'userinfo' => array( 'title' => $BAW_MES['user_information'], 'members' => array('domains', 'visitors', 'os', 'osversions', 'browsers','browserversions', 'misc', 'screensizes') ), 'actions' => array( 'title' => $BAW_MES['user_actions'], 'members' => array('logins', 'sessions', 'filetype', 'urls') ), 'origin' => array( 'title' => $BAW_MES['user_origin'], 'members' => array('referers', 'referer_domains', 'se_referers','searchphrases', 'searchwords') ), 'other' => array( 'title' => $BAW_MES['other_access'], 'members' => array('robots', 'worms', 'unknownos', 'unknownbrowser', 'hotlinks', 'hotlink_domains', 'errors', 'errors404') ) ); /* this is obsolete but kept here for ev. future usage $BAW_LIB['data']['full'] = array( 'GENERAL' => array('Misc ID', 'Pages', 'Hits', 'Bandwidth'), 'TIME' => array('Hour','Pages','Hits','Bandwidth','Not viewed Pages','Not viewed Hits','Not viewed Bandwidth'), 'VISITOR' => array('Host','Pages','Hits','Bandwidth','Last visit date','[Start date of last visit]','[Last page of last visit]'), 'DAY' => array('Date','Pages','Hits','Bandwidth','Visits'), 'DOMAIN' => array('Domain','Pages','Hits','Bandwidth'), 'LOGIN' => array('Login','Pages','Hits','Bandwidth','Last visit'), 'ROBOT' => array('Robot ID','Hits','Bandwidth','Last visit','Hits on robots.txt'), 'WORMS' => array('Worm ID','Hits','Bandwidth','Last visit'), 'SESSION' => array('Session range','Number of visits'), 'SIDER' => array('URL','Pages','Bandwidth','Entry','Exit'), 'FILETYPES' => array('Files type','Hits','Bandwidth','Bandwidth without compression','Bandwidth after compression'), 'OS' => array('OS ID','Hits'), 'BROWSER' => array('Browser ID','Hits'), 'SCREENSIZE' => array('Screen size','Hits'), 'UNKNOWNREFERER' => array('Unknown referer OS','Last visit date'), 'UNKNOWNREFERERBROWSER' => array('Unknown referer Browser','Last visit date'), 'ORIGIN' => array('Origin','Pages','Hits '), 'SEREFERRALS' => array('Search engine referers ID','Pages','Hits'), 'PAGEREFS' => array('External page referers','Pages','Hits'), 'SEARCHWORDS' => array('Search keyphrases','Number of search'), 'KEYWORDS' => array('Search keywords','Number of search'), 'MISC' => array('Misc ID','Pages','Hits','Bandwidth'), 'ERRORS' => array('Errors','Hits','Bandwidth'), 'CLUSTER' => array('Cluster ID','Pages','Hits','Bandwidth'), 'SIDER_404' => array('URL with 404 errors','Hits','Last URL referer'), 'EXTRA_1' => array('Extra key','Pages','Hits','Bandwidth','Last access') ); */ ?>
Alternativ kann man auch gleich bei der Installation von betterawstats, auf die angepasste Version von hier zurückgreifen.
erstes Ergebnis
Nach erfolgreicher Konfiguration steht dem ersten Aufruf nichts mehr im Wege. Der Aufruf erfolgt bei dem hier gezeigtem Konfigurationsbeispiel über folgende URL:
$ firefox http://betterawstats.nausch.org
Optimierung mit JpGraph
Mit Hilfe der objektorientiereten Graphikbibliothek JpGraph, die speziell für PHP entwickelt wurde, optimieren wir nun noch unsere BetterAWStatsinstallation.
Hierzu laden wir uns von der Downloadseite des Projekts die aktuelle Version 3.x auf unseren Server. Anschließend entpacken wir das Archiv direkt in unserem lokalen BetterAWStats-Installationsverzeichnis.
# tar xzfv jpgraph-3.5.0b1.tar.gz -C /usr/share/betterawstats/
Bevor wir uns nun an die Anpassung unserer Konfiguration machen, passen wir kurz noch die Verzeichnis und Dateirechte an.
# chown apache.apache /usr/share/betterawstats/jpgraph-3.5.0b1/ -R
Abschließend ergänzen wir noch die Konfigurationsdatei von BetterAWStats.
# vim /usr/share/betterawstats/config.php
... //*********************************************************/ //* JPGRAPH SETTINGS //*********************************************************/ // NAME: Enable JPgraph? // INFO: To use JPGraph, you have to download it from // http://www.aditus.nu/jpgraph/jpdownload.php. // DEFAULT: true // POSSIBLE VALUES: true, false // Django : 2013-12-29 // default: //$BAW_CONF['use_jpgraph'] = false; $BAW_CONF['use_jpgraph'] = true; // NAME: Path to JPGraph // INFO: Where is your JPGraph installation? (The folder where jpgraph.php is // in. No trailing slash) // DEFAULT: '/path/to/betterawstats/jpgraph/src' // Django : 2013-12-29 // default: $BAW_CONF['jpgraph_path'] = '/path/to/betterawstats/jpgraph/src'; $BAW_CONF['jpgraph_path'] = '/usr/share/betterawstats/jpgraph-3.5.0b1/src'; ...
Website Analytics mit Piwik
Einen ganz anderen Ansatz, nämlich nicht das Auswerten der Serverlogs, sondern das Sammeln von Informationen über den Client, geht Piwik. Ähnlich wie bei Google Analytics werden Informationen zum Besuch unserer Seiten gewonnen. Diese Daten werden jedoch nicht an Dritte, in dem Falle Google, weitergegeben - die ev. dann sonst was damit veranstalten - sondern auf unserem eigenen Server abgespeichert.
Eine ausführliche (Installations-)Beschreibung zu Piwik findet man hier.