2008-03-10
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.
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 ... |
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.
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 |
Ö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.
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.
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/>.
Mattias Eriksson
Webjörn Data & Nätverkskonsult