Jag har just spenderat nÄgra timmar med att installera och sÀtta upp AWStats pÄ en av mina servrar. Jag tÀnkte dokumentera hur jag gjorde.
AWStats Àr ett utmÀrkt program för att fÄ statistik för din webbplats. AWStats har Àven stödj för andra typer av statistik som t.ex. ftp-servrar men det kommer jag inte ta upp hÀr. Vill du veta mer kan du lÀsa pÄ den officiella hemsidan eller kolla pÄ ett demo.
AWStats official web site
Demo av AWStats
Vad ska jag med AWStats till kanske du undrar, jag har redan ett bra webbaserade statistikverktyg som t.ex. Google Analytics. Jo, saken Àr den att webbaserade statistikverktyg fÄngar inte all trafik, t.ex. om du har en blogg sÄ fÄr du ingen information om hur mÄnga som lÀser bloggen via din feed, du missar Àven besökare som har javascript avstÀngt eller har installerat nÄgot som blockerar t.ex. Google Analytics. Allt det för att de webbaserade verktygen baserar sin statistik pÄ ett litet javascript, eller liknande teknik som finns pÄ din hemsida.
AWStats anvÀnder din webbservers loggar som kÀlla för att bygga sin statistik, det gör att den fÄr med allt som finns dÀr. Nu sparas inte all information i loggarna sÄ vill du ha bra koll pÄ dina besökare sÄ kör flera statistikverktyg, t.ex. AWStats + Google Analytics. Det skadar aldrig att hÄlla koll pÄ besökarna.
Jag föresÀtter att du kör en debian-baserat system (t.ex. Ubuntu), och att du kÀnner dig bekvÀm med kommandoraden och att du kör webbservern Apache.
Installera
sudo apt-get install awstats
Konfigurera AWStats
AWStats har sin konfiguration i /etc/awstats. Det finns en fil dĂ€r som heter awstats.conf, utgĂ„ frĂ„n den för att skapa en ny fil som heter awstats.example.com.conf dĂ€r example.com Ă€r ditt domĂ€nnamn. Ăppna den och Ă€ndra följande instĂ€llningar:
LogFile -- SökvÀgen till din access.log för din site.
SiteDomain -- Ditt domÀnnamn, t.ex. example.com
HostAliases -- LĂ€gg till ditt domĂ€nnamn först dĂ€r, t.ex. âexample.com localhost 127.0.0.1âł
Det Àr det minsta du behöver för att fÄ igÄng AWStats.
**Konfigurera Apache och generera statistik
**
Nu behöver du sÀtta upp apache sÄ att du kan se din statistik, skapa en fil i /etc/apache2/conf.d, jag döpte den till awstats.conf. Alla filer i conf.d kommer laddas nÀr apache startar. I den har jag:
Alias /awstatsclasses â/usr/share/awstats/lib/â
Alias /awstats-icon/ â/usr/share/awstats/icon/â
Alias /awstatscss â/usr/share/doc/awstats/examples/cssâ
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
ScriptAlias /awstats/ /usr/lib/cgi-bin/
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Det rÀcker för att AWStats ska laddas nÀr du gÄr till example.com/awstats/awstats.pl. Men innan du gör det sÄ mÄste du generera nÄgon statistik att kolla pÄ, det gör du genom att köra följande kommando:
sudo /usr/lib/cgi-bin/awstats.pl -config=example.com -update
Det kommer skrivas ut den del information, första gÄngen kommandot körs sÄ kan det ta lÄng tid att köra. NÀr det Àr klart sÄ bör du hitta statistiken pÄ example.com/awstats/awstats.pl sÄ fort apache har laddats om med:
sudo /etc/init.d/apache2 reload
(Ăr servern viktig sĂ„ kan du kolla filerna efter syntaxfel först innan du kör reload med kommandot âapache2ctl -tâ)
KrÀv inloggning och lite enklare adress
Nu Àr det inte bra att ha statistik som din webbplats öppen för alla sÄ en inloggning vore en idé, börja med att Àndra variabeln AllowAccessFromWebToAuthenticatedUsersOnly till 1, nu krÀver AWStats att du mÄste vara inloggad. Nu mÄste du se till att det gÄr att logga in, det gör du genom att Àndra lite i apaches konfiguration.
LÀgg till följande i din apache-konfiguration i din vhost. Första 2 raderna gör sÄ att det rÀcker med att skriva example.com/awstats för att komma till statistiken och Àr valfria.
RewriteEngine On
RewriteRule ^/awstats/?$ http://%{HTTP_HOST}/awstats/awstats.pl [R,L]
<Directory /usr/lib/cgi-bin/>
<IfModule mod_authn_file.c>
AuthType Basic
AuthName âAWStats Loginâ
AuthUserFile /etc/awstats/htpasswd
Require valid-user
Skapa filen htpasswd i /etc/awstats med:
sudo htpasswd -c /etc/awstats/htpasswd anvÀndare
(för att lÀgga till fler anvÀndare, kör samma rad igen men utan flaggan -c)
Ladda om servern:
sudo /etc/init.d/apache2 reload
Nu bör du fÄ en frÄga om att logga in nÀr du försöker nÄ AWStats, prova gÀrna med att logga in med fel (och tomma) uppgifter sÄ att saker Àr korrekt uppsatta.
HĂ„ll statistiken uppdaterad med cron
Tidigare körde vi awstats.pl för att generera statistik, för att slippa göra det manuellt sÄ ber vi programmer cron att köra kommandot med regelbundna intervall. För att editera cronjobben skriv:
sudo crontab -e
Ăr det första gĂ„ngen blir du tillfrĂ„gad om vilken editor du vill anvĂ€nda, vĂ€lj din favorit. Syntaxen i cron Ă€r:
[MINUTER]Â Â [TIMMAR] Â [DAGAR PĂ MĂ NADEN] Â [MĂ NADEN] Â [DAG PĂ Ă RET] Â [KOMMANDO]
Ett cronjobb skrivs pĂ„ en rad, och Ă€r separerat med ett mellanrum. Du skriver en * för att beskriva âalltidâ, du kan Ă€ven ange datum och tider som 12-15 eller 1,2,3 eller */10. Du kan lĂ€sa pĂ„ mer om cron hĂ€r.
Exempel dÀr jag uppdaterar statistiken kl. 00:00, 06:00, 12:00 och 18:00:
0 0,6,12,18 * * * /usr/lib/cgi-bin/awstats.pl -config=example.com -update > /dev/null
1 gÄng i timman (xx:00):
0 * * * * /usr/lib/cgi-bin/awstats.pl -config=example.com -update > /dev/null
1 gÄng om dagen (midnatt):
* 0 * * * /usr/lib/cgi-bin/awstats.pl -config=example.com -update > /dev/null
Har du flera olika domÀnnamn pÄ servern?
Har du flera olika domÀnnamn pÄ servern sÄ rÀcker det med att skapa en till konfigurationsfil för AWStats, sÀtta upp vhost:en sÄ att det gÄr att logga in, eventuellt skapa en till anvÀndare och sÀtta upp en rad till i cron sÄ att statistiken för den nya siten genereras. Ett tipps Àr att inte köra bÄda hÀndelserna exakt samtidigt, speciellt inte om dina loggar Àr stora.
Det finns en del smÄ förbÀttringar du kan göra sÄ du slipper ha samma typ av information pÄ flera olika stÀllen. Du kan flytta ut konfiguration frÄn vhost:en till en separat fil, jag har kallat den awstats.conf och lagt den i en katalog som heter inc under /etc/apache2, d.v.s. /etc/apache2/inc/awstats.conf (inte att blanda ihop med /etc/apache2/conf.d/awstats.conf). Sedan rÀcker det med att inkludera den frÄn de olika vhost:s jag har med:
Include inc/awstats.conf
Fördelen Àr att du nu har konfigurationen pÄ ett stÀlle, och om du behöver Àndra nÄgot sÄ Àr det bara i inc/awstats.conf du behöver Àndra i.
Samma teknik kan anvÀndas för konfigurationen till AWStats, jag har skapat en fil som heter awstats.model.conf som ligger i /etc/awstats. Den innehÄller alla gemensamma instÀllningar som gÀller alla sidor jag har. De instÀllningarna som Àr unika för en sida har jag flyttat in i sidans konfigurationsfil. Filen slutar sedan med att jag inkluderar de generella instÀllningarna:
Include â/etc/awstats/awstats.model.confâ
Det blir mycket renare och enklare att ha översikt, och risken att du glömmer att Àndra nÄgon instÀllningen pÄ en av sidorna minskar.
Jag hoppas att det hÀr kan hjÀlpa nÄgon, Àr det nÄgot som inte funkar, eller har jag missat nÄgot. LÄt mig veta.