2008-03-10

Awstats-mgmt – hantering av webbstatistik



1. Om programmet

Detta dokument beskriver hur man installerar Awstats-mgmt på linuxdistributionen Debian 4r3 (Etch), men är tillämpbar på andra linuxdistributioner.

Huvudfunktionen för detta program är att via ett webbgränssnitt hantera Awstats för flera webbsiter, samt att på ett enkelt sätt samla in loggfiler från webbservrar. Programmet är uppbyggt kring shell-skript (Bash) och PHP. Det använder verktyget Awstats för data och statistikbearbetning.

I exemplen nedan så används webbsiten webstats.varmdo.se. Byt detta mot namnet på din egen webbsite.

Installationen förutsätter grundläggande kunskaper i Linux.

2. Nödvändiga programvaror

För att Awstats skall fungera med full funktionalitet så behövs ytterliggare ett antal programvaror. Själva programmet Awstats är ett perl-skript och den Perlversion som använts i detta dokument är 5.8.8, men andra versioner fungerar säkert lika bra. Om man vill mappa IP-adresser till land, så skall man installera perlmodulen Geo::IP. Denna är i sin tur beroende av programbiblioteket libgeoip. Statistiken presenteras som html-filer, så därför behövs en webbserver. Konfigurationsskripten använder php.

Följande program är nödvändiga för att awstats-mgmt skall fungera fullt ut. Dessa program kan i sin tur ha beroenden till andra programpaket.

Awstats 6.5

Perl 5.8.8

Geo::IP 1.27

Apache 2.2.3

PHP 5.2.0

wget 1.2.20

rsync 2.6.9

ssh 4.3p2

För installation av ovan nödvändiga programvaror, se dokumentationen för din linuxdistribution. Versionerna för de olika programpaketen kan avvika från just din linuxdistribution.

För Debian, så skulle installation med apt-get ske på följande sätt:

root@webstats:~# apt-get install php5 apache



För Fedora, så skulle installation med yum ske på motsvarande sätt:

root@webstats:~# yum install php apache



På Debian så får man kompilera och installera Geo::IP för hand. Detta görs enklast med:

root@webstats:~# wget -nv http://search.cpan.org/CPAN/authors/id/T/TJ/TJMATHER/Geo-IP-1.27.tar.gz

18:02:18 URL:http://ftp.port80.se/pub/CPAN/authors/id/T/TJ/TJMATHER/Geo-IP-1.27.tar.gz [13386/13386] -> "Geo-IP-1.27.tar.gz" [1]

root@webstats:~# tar -zxvf Geo-IP-1.27.tar.gz

root@webstats:~# cd Geo-IP-1.27

root@webstats:~/Geo-IP-1.27# perl Makefile.PL

Checking if your kit is complete...

Looks good

Writing Makefile for Geo::IP

root@webstats:~/Geo-IP-1.27# make

...

root@webstats:~/Geo-IP-1.27# make install

...



3. Förinstallation

Alla program och deras beroenden i föregående punkt måste vara installerade och konfigurerade för att Awstats-mgmt skall fungera korrekt.

Skapa en virtuell webbsite för apache.

Packa upp distributionspaketet i din hemkatalog med kommandot:

root@webstats:~# tar -zxvf awstats-mgmt-0.1.tar.gz

root@webstats:~# cd awstats-mgmt-0.1



Kopiera exempelkonfigurationen som finns i katalogen apache till katalogen /etc/apache2/sites-available och editera den. Ändra direktiven ServerName, ServerAdmin, DocumentRoot, ErrorLog och CustomLog. Var nog med att sätta ScriptAlias för awstats-skriptet rätt.

root@webstats:~awstats-mgmt-0.1# cp apache/website.conf /etc/apache2/sites-available/



Skapa kataloger för webbsiten.

root@webstats:~# mkdir -p /var/www/webstats.varmdo.se/htdocs

root@webstats:~# mkdir -p /var/www/webstats.varmdo.se/data



Sätt rättigheter på data-katalogen. Ägaren till data-katalogen skall vara densamma som den användare som apache-processen körs som.

root@webstats:~# chown www-data:www-data /var/www/webstats.varmdo.se/data

root@webstats:~# chmod 700 /var/www/webstats.varmdo.se/data



När du är klar med konfigurationen av webbsiten så skall den aktiveras:

root@webstats:~# a2ensite webstats.varmdo.se

Site webstats.varmdo.se installed; run /etc/init.d/apache2 reload to enable.

root@webstats:~# /etc/init.d/apache2 reload

Reloading web server config...2071

.

root@webstats:~#



Glöm inte att lägga upp webstats.varmdo.se i DNS.



4. Installation

Kopiera filerna i katalogen htdocs till rotkatalogen på din webbsite.

root@webstats:~awstats-mgmt-0.1# cp htdocs/* /var/www/webstats.varmdo.se/htdocs



Kopiera filerna i katalogen bin till /root/bin.

root@webstats:~# mkdir -p /root/bin

root@webstats:~# cp bin/* /root/bin



Kör awstats.sh en gång per dygn, klockan 00:17, genom crontab.

17 0 * * * root /root/bin/awstats.sh doall > /dev/null 2>&1



5. Konfiguration

Öppna filen /root/bin/awstats.sh i din favoriteditor och ange rätt sökväg till katalogerna så att det passar din installation.

# Directories

CONFIGDIR=/etc/awstats

WEBDIR=/var/www/webstats.varmdo.se

DATADIR=$WEBDIR/data

STATSDIR=/var/lib/awstats

STATICREPORTDIR=$WEBDIR/htdocs/static

BINDIR=/root/bin

LOGDIR=/var/log/apache2


Öppna filen /var/www/webstats.varmdo.se/htdocs/config.php och ange rätt sökvägar, samt ett lämpligt lösenord för administrationssidan.

$datadir="/var/www/webstats.varmdo.se/data";

$webroot="/var/www/webstats.varmdo.se/htdocs";

$default_website="www2.varmdo.se";

$admin_username = "admin";

$admin_password = "mypassword";



Kontrollera att det finns en konfigurationsmall i konfigurationskatalogen för awstats (awstats.model.conf). Denna fil utgör mallen för hur konfigurationen för varje webbsite skall se ut.

6. Användning

Börja med att lägga till en webbsite. Öppna en webbläsare och gå till http://webstats.varmdo.se. Klicka på logga in och ange användarnamn och lösenord, klicka sedan på skapa ny. Fyll i formuläret och klicka på skicka .

Förklaring av fälten.

Webbsite:

webbsiten:s fulla domännamn, fqdn.

Filter:

Filter för att generera statistik över specifika kataloger på webbsiten. Kan vara tom, då genereras de vanliga rapporterna

Filternamn:

Ett beskrivande namn för ovanstående filter.

Logfil:

Information om var logfilen finns i URI format. Logfilen kan överföras med http, ftp, scp, rsync och file. Exempel: file://var/log/www.somedomain.org_access.log, ftp://username:password@www.somedomain.org/some/path/www.somedomain.org_access.log

Extra argument:

Extra argument för det program som hanterar filöverföringen, se nedanstående tabell.



Vid inhämtning av loggfilerna så används olika program. Nedanstående tabell visar relationen mellan protokoll och program.

http

wget

ftp

wget

scp

scp

rsync

rsync/ssh

file

rsync



Exempel.

Webbsite:

www2.varmdo.se

Filter:

Resource.phx/plaza/publica/invanare/fritid

Filternamn:

fritid

Logfil:

ftp://username:password@www.example.com/some/path/www.example.com_access.log

Extra argument:




När cronjobbet /root/bin/awstats.sh doall körs hämtas logfilerna och statstiken bearbetas. Vid första körningen skapas konfigurationsfilerna om dessa saknas. Vill man skapa konfigurationsfiler för alla upplagda webbsiter, så kör man skriptet /root/bin/awstats.sh check.

7. Licens

Awstats-mgmt är licensierat under GPL version 2 och en kopia av licensen finns i distributionen av awstats-mgmt.





Copyright (C) 2008 Värmdö Kommun, Sweden



This file is part of awstats-mgmt.



awstats-mgmt 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, version 2 of the License.



awstats-mgmt 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 awstats-mgmt. If not, see <http://www.gnu.org/licenses/>.







































8. Författare

Mattias Eriksson

Webjörn Data & Nätverkskonsult