[[:tux|{{ :linux.png?40|}}]]
===== Webserver Statistiken mit Awstats =====
Um die Zugriffe auf Ihren Webserver zu monitoren eignet sich zB der Logfile Analyzer Awstats((http://awstats.sourceforge.net/)). Dieser Artikel zeigt die Installation und Konfiguration auf einem Linux Debian System mit Apache2 Webserver VHost Konfiguration.
=== Installation ===
Die im debian.org Repository vorliegende Version ist leider veraltet, deshalb laden wir uns das aktuelle Paket direkt von der Webseite herunter. Da wir aptitude bzw apt-get nicht zum Auflösen der Abhängigkeiten verwenden, müssen wir uns um diese selbst kümmern:
# cd /usr/local
/usr/local# aptitude show awstats
Paket: awstats
Zustand: nicht installiert
Version: 6.5+dfsg-1+etch1
Priorität: optional
Bereich: web
Hängt ab von: perl, perl (>= 5.8.0-7) | libstorable-perl, perl (>= 5.8.0-7) | libtime-hires-perl
Empfiehlt: libnet-xwhois-perl
http://awstats.sourceforge.net/
/usr/local#
/usr/local# which perl
/usr/bin/perl
/usr/local# perl --version
This is perl, v5.10.0 built for i486-linux-gnu-thread-multi
/usr/local#
/usr/local# wget http://prdownloads.sourceforge.net/awstats/awstats-6.95.tar.gz
/usr/local# tar -xvf awstats-6.95.tar.gz
/usr/local# mv awstats-6.95 awstats
/usr/local# cd awstats
/usr/local/awstats# ls
docs README.TXT tools wwwroot
Wollen Sie die Herkunftsländer der Besucher angezeigt bekommen, installieren sie das GeoIP-Free Modul:
/usr/local# aptitude install libgeo-ipfree-perl
=== Konfiguration ===
**Awstats:**
Erstellen Sie eine Awstats-Konfigurationsdatei durch Ausführen des Skripts /usr/local/awstats/tools/awstats_configure.pl. Es werden einige Informationen abgefragt, die für meine Installation relevanten Eingaben sind Blau markiert.
/usr/local# cd /usr/local/awstats/tools/
/usr/local/awstats/tools# perl awstats_configure.pl
----- AWStats awstats_configure 1.0 (build 1.8) (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
-----> Check for web server install
Enter full config file path of your Web server.
Example: /etc/httpd/httpd.conf
Example: /usr/local/apache2/conf/httpd.conf
Example: c:\Program files\apache group\apache\conf\httpd.conf
Config file path ('none' to skip web server setup):
> /etc/apache2/httpd.conf
-----> Check and complete web server config file '/etc/apache2/httpd.conf'
Add 'Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"'
Add 'Alias /awstatscss "/usr/local/awstats/wwwroot/css/"'
Add 'Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"'
Add 'ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"'
Add '' directive
AWStats directives added to Apache config file.
-----> Update model config file '/usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf'
File awstats.model.conf updated.
-----> Need to create a new config file ?
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ? y
-----> Define config file name to create
What is the name of your web site or profile analysis ?
Example: www.mysite.com
Example: demo
Your web site, virtual server or profile name:
> www.sample-1.com
-----> Define config file path
In which directory do you plan to store your config file(s) ?
Default: /etc/awstats
Directory path to store config file(s) (Enter for default):
>
-----> Create config file '/etc/awstats/awstats.www.sample-1.com.conf'
Config file /etc/awstats/awstats.www.sample-1.com.conf created.
-----> Restart Web server with '/etc/init.d/apache restart'
-----> Add update process inside a scheduler
Sorry, configure.pl does not support automatic add to cron yet.
You can do it manually by adding the following command to your cron:
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.sample-1.com
Or if you have several config files and prefer having only one command:
/usr/local/awstats/tools/awstats_updateall.pl now
Press ENTER to finish...
Sie sollten nun in /etc/awstats eine Konfigurationsdatei nach dem Muster awstats.FQDN.conf finden. Hier müssen wir noch einige Anpassungen vornehmen, zudem erstellen Sie noch das Datenverzeichnis für Awstats.
/usr/local/awstats# cd /etc/awstats/
/etc/awstats# ls -l
insgesamt 64
-rw-r--r-- 1 root root 61006 25. Apr 19:34 awstats.www.sample-1.com.conf
/etc/awstats# mkdir /var/lib/awstats
Die notwendigen Änderungen in der Datei awstats.www.sample-1.com.conf:
LogFile="/home/www.sample-1.com/logs/access.log"
SiteDomain="www.sample-1.com"
HostAliases="www.sample-1.com"
AllowAccessFromWebToAuthenticatedUsersOnly=1
AllowAccessFromWebToFollowingAuthenticatedUsers="__REMOTE_USER__"
LoadPlugin="geoipfree"
**Apache:**
Erweitern Sie Ihre httpd.conf:
Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/local/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"
ScriptAlias /awstats "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl"
Options +ExecCGI
AllowOverride None
Order allow,deny
Allow from all
**Wichtig:** Schützen Sie das Verzeichnis /usr/local/awstats mit einem Passwort.\\ Eine Anleitung finden Sie im Artikel [[:tux:protect_wwwfolder|-> Webserver-Verzeichnis mit Passwort schützen]]
Laden Sie zum Abschluss die Apache Konfiguration neu:
vmdebian3:/usr/local/awstats# /etc/init.d/apache2 reload
Reloading web server config: apache2.
=== Cron ===
Um die Statistiken regelmäßig auszuführen, verwenden wir nicht direkt Cron, sondern Logrotate, welches von Cron täglich ausgeführt wird. Erweitern Sie dazu die Apache2-Datei /etc/logrotate.d/apache2 um folgenden Eintrag, bzw. passen Sie ihn an:
/home/www.sample-1.com/logs/*.log {
daily
missingok
rotate 30
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
prerotate
/usr/local/awstats/tools/awstats_updateall.pl now
endscript
postrotate
if [ -f /var/run/apache2.pid ]; then
/etc/init.d/apache2 restart > /dev/null
fi
endscript
}
Das setzt natürlich voraus, dass auch die Logfiles der VHosts dort abgelegt sind. Trifft das nicht zu, ändern Sie die Konfiguration entsprechend ab. Hier wurde das Logfile der Beispiel Webseite /home/www.sample-1.com/logs/*.log verwendet.
=== Abruf der Statistik ===
Geben Sie in einem Webbrowser die URL http://www.sample-1.com/awstats/awstats.pl ein:
{{:tux:awstats.png?800|}}
**Enjoy and have fun!**
\\
--- //pronto 2010/04/25 21:18//
{{keywords>linux debian apache2 webserver statistik}}