Web statistika za Apache in Apache2 - Awstats
Igor
Član
Za Linux obstaja veliko programov za spremljanje statistike web prometa, ki teče preko web serverjev. Ponavadi je to Apache, obstajajo pa seveda tudi drugi. Za statične web strani so verjetno najbolj primerni kakšni programi, ki vključujejo dodatne PHP funkcije, npr. BBClone - http://bbclone.de
S takimi programi lahko dobite dodatne informacije o vaših obiskovalcih internetnih strani, vendar je potrebno na vsako stran dodati določeno ~kodo . Pogosto to je to zamudno ali nepotrebno, če so vam dovolj statistični podatki, ki jih beleži Apache web server. Za tak način spremljanja statistike pa izstopata kot boljša dva programa - Awstats - http://awstats.sourceforge.net in Webalizer - http://www.mrunix.net/webalizer Webalizer je starejši, nazadnje sem imel probleme s kombinacijo novejšega Apacha2 in Webalizerja pri prikazu nekaterih podatkov, tako da sem se tokrat ponovno odločil, da inštaliram Awstats (heh, enkrat prej neuspešno)...
No, tokrat pa deluje! Pravzaprav je relativno simpelj!
Tole pišem, da ne bom naslednjič zopet izzumljal tople vode, navodila za Awstats so namreč tako obsežna, da imaš občutek, da potrebuješ najmanj dva doktorata za uspešno namestitev Na kratko pa gre nekako takole (sledeči postopek bo deloval, če imate uspešno nameščen Apache2 in Perl, ki ga Awstats uporablja; sam imam trenutno nameščen Ubuntu Edgy, najverjetneje bo ta postopek deloval tudi na ostalih Ubuntu in Debian distribucijah, nisem pa preverjal):
Postopek:
V ukazni vrstici se logiraj kot root:
$ sudo su (vpiši password)
Inštaliraj pakete (lahko tudi s Synaptic-om):
# apt-get install awstats
# apt-get install libnet-ip-perl
# apt-get install libgeo-ipfree-perl
Direktoriji kjer se nahajajo datoteke, ki so potrebne za nastavitev:
# cd /etc/awstats/
# cd /var/lib/awstats/
# cd /etc/apache2/
# cd /etc/apache2/sites-enabled
# cd /var/log/apache2/
# cd /usr/lib/cgi-bin/
# cd /var/spool/cron/crontabs/
Torej, prvo nastavimo konfiguracijske datoteke za Apache2:
# gedit /etc/apache2/apache2.conf
Dodamo sledeče v apache2.conf:
Skopiral sem awstats.conf v awstats.imedomene.tld.conf (tu spremenite zgolj 'imedomene' - 'awstats', 'tld', 'conf' ne spreminjajte!):
# cp /etc/awstats/awstats.conf /etc/awstats/awstats.imedomene.tld.conf
# gedit /etc/awstats/awstats.imedomene.tld.conf
V awstats.imedomene.tld.conf sem nastavil sledeče (ostalo sem pustil nespremenjeno):
# /etc/init.d/apache2 restart
# /usr/lib/cgi-bin/awstats.pl -config=imedomene.tld -update
Sedaj naj bi že lahko videli statistiko z browserjem:
http://www.imedomene.com/statistika/awstats.pl?config=imedomene.tld
Dodamo še vrstico v root crontab (če ga še ni si preberi kako se nastavi: man crontab, ne ustvarjaj manualno te datoteke!):
# gedit /var/spool/cron/crontabs/root
.
I.
S takimi programi lahko dobite dodatne informacije o vaših obiskovalcih internetnih strani, vendar je potrebno na vsako stran dodati določeno ~kodo . Pogosto to je to zamudno ali nepotrebno, če so vam dovolj statistični podatki, ki jih beleži Apache web server. Za tak način spremljanja statistike pa izstopata kot boljša dva programa - Awstats - http://awstats.sourceforge.net in Webalizer - http://www.mrunix.net/webalizer Webalizer je starejši, nazadnje sem imel probleme s kombinacijo novejšega Apacha2 in Webalizerja pri prikazu nekaterih podatkov, tako da sem se tokrat ponovno odločil, da inštaliram Awstats (heh, enkrat prej neuspešno)...
No, tokrat pa deluje! Pravzaprav je relativno simpelj!
Tole pišem, da ne bom naslednjič zopet izzumljal tople vode, navodila za Awstats so namreč tako obsežna, da imaš občutek, da potrebuješ najmanj dva doktorata za uspešno namestitev Na kratko pa gre nekako takole (sledeči postopek bo deloval, če imate uspešno nameščen Apache2 in Perl, ki ga Awstats uporablja; sam imam trenutno nameščen Ubuntu Edgy, najverjetneje bo ta postopek deloval tudi na ostalih Ubuntu in Debian distribucijah, nisem pa preverjal):
Postopek:
V ukazni vrstici se logiraj kot root:
$ sudo su (vpiši password)
Inštaliraj pakete (lahko tudi s Synaptic-om):
# apt-get install awstats
# apt-get install libnet-ip-perl
# apt-get install libgeo-ipfree-perl
Direktoriji kjer se nahajajo datoteke, ki so potrebne za nastavitev:
# cd /etc/awstats/
# cd /var/lib/awstats/
# cd /etc/apache2/
# cd /etc/apache2/sites-enabled
# cd /var/log/apache2/
# cd /usr/lib/cgi-bin/
# cd /var/spool/cron/crontabs/
Torej, prvo nastavimo konfiguracijske datoteke za Apache2:
# gedit /etc/apache2/apache2.conf
Dodamo sledeče v apache2.conf:
Sam imam v /etc/apache2/sites-enabled nekaj VirtualHost-ov, v vsakega sem dodal (znotraj .):Alias /awstats-icon/ /usr/share/awstats/icon/
Options None
AllowOverride None
Order allow,deny
Allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
Potem sem nastavil konfiguracijske datoteke za Awstats.ScriptAlias /statistika/ /usr/lib/cgi-bin/
Skopiral sem awstats.conf v awstats.imedomene.tld.conf (tu spremenite zgolj 'imedomene' - 'awstats', 'tld', 'conf' ne spreminjajte!):
# cp /etc/awstats/awstats.conf /etc/awstats/awstats.imedomene.tld.conf
# gedit /etc/awstats/awstats.imedomene.tld.conf
V awstats.imedomene.tld.conf sem nastavil sledeče (ostalo sem pustil nespremenjeno):
To je vse kar je potrebno nastaviti za Apache2 in Awstats. Reštartamo Apacha in zaženemo Awstats s komandne vrstice (ne pozabite prej shraniti datotek, ki ste jih spremenili!):## (Komentar: pot do log datoteke)
LogFile="/var/log/apache2/imedomene.com.access.log"
## (Komentar: default je nastavljen na 4, vendar ima Ubuntu Apache2 sistem logiranja, ki ustreza št. 1)
LogFormat=1
## (komentar: ime domene, odvisno kako imate nastavljen DNS...)
SiteDomain="www.imedomene.com"
## (komentar: ta nastavitev je važna, če ne želite, da awstats vodi statistike dostopov z vašega računalnika. Ne smete uporabljati vejic, samo presledke. Namesto '198.72.198.105' vstavite vašo IP številko, lahko tudi www.imedomene.com)
HostAliases="localhost 127.0.0.1 198.72.198.105"
## (komentar: če NISTE namestili libnet-ip-perl in libgeo-ipfree-perl potem to pustite na 1)
DNSLookup=0
## (komentar: direktorij kjer se se hranijo posamezne statistike ki jih zgenerira awstats. Brisanje teh datotek resetira statistike.)
DirData="/var/lib/awstats"
## (komentar: direktorij kjer se nahaja awstats.pl)
DirCgi="/usr/lib/cgi-bin/"
## (komentar: direktorij kjer se nahajajo ikone. Ta alias sem nastavil zgoraj v apache2.conf)
DirIcons="/awstats-icon"
## (komentar: ta nastavitev je važna, če ne želite, da awstats vodi statistike dostopov z vašega računalnika. Ne smete uporabljati vejic, samo presledke. Namesto '198.72.198.105' vstavite vašo IP številko, lahko tudi www.imedomene.com)
SkipHosts="198.72.198.105 www.imedomene.com"
## (komentar: plugin za ugotavljanje držav iz IP številk)
LoadPlugin="geoipfree"
## (komentar: plugin za mouseover-komentarje)
LoadPlugin="tooltips"
# /etc/init.d/apache2 restart
# /usr/lib/cgi-bin/awstats.pl -config=imedomene.tld -update
Sedaj naj bi že lahko videli statistiko z browserjem:
http://www.imedomene.com/statistika/awstats.pl?config=imedomene.tld
Dodamo še vrstico v root crontab (če ga še ni si preberi kako se nastavi: man crontab, ne ustvarjaj manualno te datoteke!):
# gedit /var/spool/cron/crontabs/root
To je to. S temi nastavitvami vam bo root crontab osveževal statistiko web obiskov vsako polno uro, noč in dan, 365 dni v letu! \o/0 */1 * * * /usr/lib/cgi-bin/awstats.pl -config=imedomene.tld -update > /dev/null
.
I.
Komentarji
kr u wiki s tem
Screamboy, kaj zelis imeti prikazano od apacheja...?
zanimivo samo je trenutno webpage down
Eden popularnih je webalizer, drugi pa je že omenjen v naslovu teme (awstats).
Vsekakor pa ti za statistiko bolj priporočam google analytics (sicer nima veze s Apache log datotekami ampak vseeno), ker prikaže podatke v lepi obliki, omogoča izvoz podatkov v pdf, csv itd.
tu mas kak naret to:
http://blog.kejadlen.net/2007/12/02/awstats-with-lighttpd-on-ubuntu
da pa polejas mojo statistiko na lighttpd da deluje:
http://aws.m5it.org/cgi-bin/awstats.pl
lp