AWStats für jeden Benutzer auswerten

Apache, Lighttpd, nginx, Cherokee
dennis3484
Posts: 9
Joined: 2006-07-04 03:19

AWStats für jeden Benutzer auswerten

Post by dennis3484 »

Hallo,

ich habe da ein kleines Problem mit AWStats. Es existieren mehrere Benutzer auf dem Server, die auch alle ihr eigenen public_html Verzeichnis unter /home/*/ haben. Nun möchte ich mit AWStats für jeden dieser Benutzer einzeln Statistiken erzeugen.

Mein Apache Logfile liegt unter /var/log/apache und nennt sich access.log.

Code: Select all

72.30.107.7 - - [02/Jul/2006:03:40:59 +0200] "GET /robots.txt HTTP/1.0" 404 284 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/yse$
72.30.226.205 - - [02/Jul/2006:03:41:00 +0200] "GET /~bla/cpg/displayimage.php?album=24&pos=7 HTTP/1.0" 200 11475 "-" "Mozilla/5.0 (compatible; Yahoo!$
84.138.234.175 - - [02/Jul/2006:03:49:26 +0200] "GET /~blubb/ HTTP/1.1" 304 - "http://www.pimp.be.tt/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1$
84.138.234.175 - - [02/Jul/2006:03:49:26 +0200] "GET /~blubb/style.css HTTP/1.1" 304 - "http://84.244.0.165/~blubb/" "Mozilla/4.0 (compatible; MSIE 6$
84.138.234.175 - - [02/Jul/2006:03:49:27 +0200] "GET /~blubb/menu.html HTTP/1.1" 304 - "http://84.244.0.165/~blubb/" "Mozilla/4.0 (compatible; MSIE 6$
84.138.234.175 - - [02/Jul/2006:03:49:27 +0200] "GET /~blubb/home.html HTTP/1.1" 304 - "http://84.244.0.165/~blubb/" "Mozilla/4.0 (compatible; MSIE 6$
Ich hatte zuerst die Idee, dass man in der httpd.conf die Logs filtert, sodass alle Zugriffe auf /~bla/* unter access1.log gespeichert werden. Genau das selbe mit /~blubb/* unter access2.log. Ich dachte mir, dass man es irgendwie mit dem Befehl "SetEnvIf" machen könnte, da man damit ja auch Robots ausschließen kann, jedoch fand ich keinen Befehl, mit dem es funktioniert hätte.


Nun kam ich auf die VHosts anzulegen. Das funktionierte auch recht gut, jedoch stehen im Logfile von "bla" auch alle Zugriffe von "blubb". Das Logfile von "blubb" zeichnet jedoch alle Zugriffe richtig auf.


Hat jemand eine Idee, wie ich es am besten löse?

Vielen Dank,
Dennis
hornox
Posts: 139
Joined: 2005-09-22 23:09

Re: AWStats für jeden Benutzer auswerten

Post by hornox »

Code: Select all

SetEnvIf Request_URI "^/~blubb" log_blubb
CustomLog logs/access_blubb_log common env=log_blubb
SetEnvIf Request_URI "^/~bla" log_bla
CustomLog logs/access_bla_log common env=log_bla
Bei vielen Usern könnte es besser sein wenn du das mit unterschiedlichen Konfigurationsdateien für AWStats lößt. http://awstats.sourceforge.net/docs/aws ... #SkipFiles
antondollmaier
Posts: 485
Joined: 2004-03-30 10:06

Re: AWStats für jeden Benutzer auswerten

Post by antondollmaier »

Änder dein logformat ab ... am Ende der Zeile ein "%v" ran ... das is der vHost, der aufgerufen wurde ...

für jeden user ne config? gerne:

Code: Select all

SiteDomain "domain1.de"
SiteAliases = REGEXP[ .*domain1.de ], REGEXP[ .*domain2.de ]
(syntax siehe manual, habs grad ned 100%ig im kopf, sorry)

für jede domain? auch kein problem:

Code: Select all

SiteDomain "domain1.de"
SiteAliases = REGEXP[ .*domain1.de ]
awstats wertet dann nur die zeilen aus dem log aus, die "matchen" ... und das tun eben nur die, die am ende den richtigen vhost stehen haben :)
rootsvr
Posts: 538
Joined: 2005-09-02 11:12

Re: AWStats für jeden Benutzer auswerten

Post by rootsvr »

Ne andere Möglichkeit ist es einfach für die user nen Vhost anzulegen und dem dann seperate Logfiles zuzuweisen.
So sind die Logfiles schön getrennt und (je nach rechten auf die Logfiles) können die User nicht gucken welche get Requests auf anderer Leuts seiten angekommen sind.

IMHO die beste Methode und dann einfach seperate awstats configs für die einzelnen vhosts