Jak sledovat návštěvnost na hostovaných webech?

Adam Štrauch 22. 4. 2010

Každý úspěšný web svůj úspěch staví mimo jiné i na statistice. Podle ní lze zjistit, co čtenáře nejvíce láká, kde strávili nejvíce času, od čeho zase hned utekli, odkud chodí, s jakým vyhledávacím spojením se na váš web dostali a mnoho dalšího. AWStats je přesně ten nástroj, který dokáže tato data získat a zobrazit.

 Rychlé seznámení

AWStats je dnes nedílnou součástí webhostingových služeb. Někde je použit v jeho surové formě, jinde je upraven do vzhledu nějaké administrace, někde byste pomalu ani nepoznali, že o nějaký AWStats jde, ale ve většině případů stojí za statistikami právě on. Mylně bychom se mohli domnívat, že AWStats slouží jen pro účely monitorování nějakého webu. Není tomu tak, AWStats je velmi flexibilní a dokáže dělat statistiky webových, poštovních, FTP a streamovacích serverů.

Možná jste již pochopili, že AWStats bere data z logovacích souborů monitorovaných služeb. Liší se tak od webových služeb jako je třeba navrcholu.cz nebo Google Analytics, které měří návštěvnost většinou přes nějaký neviditelný obrázek na jejich serverech.

Za AWStats stojí firma NLTechno, která se dnes podílí na jeho vývoji a uvolňuje zdrojové kódy pod licencí GNU/GPL. Samozřejmě do kódu přispívají i jiné organizace a jednotlivci. Největší boom vývoje byl od roku 2000 do roku 2004. Od té doby se zdrojové kódy už tolik nemění. Z určitého pohledu to je pro AWStats velké plus. Jde vlastně o odladěnou a spolehlivou technologii, která už dávno netrpí dětskými nemocemi. Jako jazyk byl zvolen Perl. Začátky AWStats sahají do května roku 2000, kdy byla vydána verze 1.0. V této době byl Perl mnohem oblíbenější než je dnes, takže si ho vývojáři kvůli tomu vybrali. Dnes je Perl spíše na ústupu a určitě to projektu nepomáhá.

Co AWStats ukáže

Z relativně strohého logu dokáže AWStats složit zajímavé informace, které se vám určitě budou hodit při rozšiřování vašeho webu nebo při analyzování zátěže jiné služby. Zde je seznam data, které vám AWStats naservíruje.

  • Souhrn
  • Měsíční přehled
  • Denní přehled
  • Návštěvnost v týdnu
  • Návštěvnost v hodinách
  • Původ návštěvníků
  • Nejčastější návštěvníci
  • Seznam robotů
  • Délka návštěv
  • Typy souborů
  • Operační systémy
  • Prohlížeče
  • Odkazující stránky
  • Odkazující vyhledávače
  • Hledaná slovní spojení
  • Hledané výrazy
  • Stavové kódy HTTP
  • Nenalezené stránky

Pro běžný přehled nabízí AWStats vše, co potřebujete, a dokáže zastat svou roli i v případě využití statistik pro SEO účely. Jak přesně webové rozhraní vypadá, si můžete vyzkoušet na webu projektu v demonstrační verzi.

Instalace

Statistika je hlavně věcí marketingového oddělení apod., nás adminy bude zajímat hlavně to, jak se AWStats nahazuje na server a jak se dá jednoduše nakonfigurovat pro několik domén, resp. webových stránek. K tomu je AWStats perfektně připraven. Jediné, co budeme potřebovat, je webový server, který dokáže pro každou webovou prezentaci vést zvláštní logovací soubor. Z toho AWStats vyždímá všechny informace a uloží si je do vlastní databáze. Formát logovacího souboru se dá nastavit. Nebudeme ovšem předbíhat a dáme se do instalace.

Na svém serveru jsem pro awstats vytvořil vlastního uživatele. Také jsem nepoužil verzi dostupnou z balíčkovacího systému. U takovýchto aplikací nejsem zrovna fanda balíčků, protože balíčkovací systém rozhází soubory AWStats do různých míst, což v mém případě nejde moc dohromady s postupem správy webů na serveru.

Začneme tedy vytvořením uživatele. Bude potřeba se pod tohoto uživatele přihlásit, abychom mohli nastavit aktualizaci v Cronu a pracovat s dodanými skripty, což znamená nastavit mu heslo. To můžeme později zrušit.

# adduser awstats 

Bez zdrojových kódů se neobejdeme, takže si je stáhneme v aktuální verzi.

# su awstats
$ cd
$ wget http://prdownloads.sourceforge.net/awstats/awstats-6.95.tar.gz
$ tar xf awstats-6.95.tar.gz
$ rm awstats-6.95.tar.gz 

Teď je potřeba vytvořit konfigurační soubory. Jeden konfigurační soubor nastaví všechny parametry na výchozí hodnoty a ty pak budeme „přepisovat“ v každém konfiguračním souboru pro konkrétní web. Přepneme se opět pod uživatele root a nakopírujeme hlavní konfigurační soubor do /etc.

# cp wwwroot/cgi-bin/awstats.model.conf /etc/awstats.conf 

V tomto konfiguračním souboru je několik voleb, které bychom neměli přehlédnout. Soubor je dobře dokumentován, ale některé volby jsou pro běh důležité a se špatnou hodnotou nám AWStats nepoběží. Jsou to:

LogFile     log soubor konkrétního webu
LogType     Typ logu: web, mail, ftp nebo stream
LogFormat   Formát logových záznamů, o tom níže
SiteDomain  Doména pro kterou se vedou statistiky
DNSLookup   Překlad IP adres návštěvníků na doménová jména
DirData     Adresář s daty, o tom také níže 

LogFormat je formát řádku z logu. Pro nejpoužívanější webové servery je již LogFormat předpřipravený, jako třeba u Apache kde stačí nastavit hodnotu „1“, ale u některých není. Narazíme např. s Lighttpd, pro které budeme muset LogFormat nakonfigurovat ručně. Volba DirData říká AWStats, kde má uchovávat datové soubory. Většinou je již nastavená, ale měli bychom zjistit kam a vytvořit podle toho správný adresář a nastavit mu práva. Balíčkovací systém tohle udělá za nás, my to musíme v tomto případě udělat ručně.

# mkdir /var/lib/awstats
# chown awstats:awstats /var/lib/awstats 

Nyní nastal čas vytvořit adresář pro konfigurační soubory jednotlivých webů.

# mkdir /etc/awstats
# chown awstats:awstats /etc/awstats 

A pro každý web vytvořit konfigurační soubor. Ten může vypadat třeba takto:

Include "/etc/awstats.conf"
SiteDomain="example.com"
LogFile="/var/log/webs/access_example.com.log" 

Nejdříve v něm vložíme vše, co je v /etc/awstats.conf, a pak hodnoty, které se pro tento konkrétní web mění, na dalších řádcích uvedeme. Zde pracujeme s doménou example.com. Musíme si dát pozor, jak soubor uložíme, protože podle toho pak budeme přistupovat ke statistikám tohoto konkrétního webu. Když konfigurační soubor pojmenujeme třeba awstats.example­.com.conf, tak na statistiku example.com se dostaneme přes:

http://awstats.example.com/?config=example.com 

Záleží samozřejmě na nastavení webového serveru, na které se podíváme níže. Ujistěte se také, že uživatel awstats,, bude moci číst log soubory jednotlivých webů.

Teď se musíme postarat o aktualizaci dat pro AWStats. K tomu je ve zdrojových kódech připraven skript, takže my ho jen zavoláme s určitými parametry. Abych nemusel dávat do Cronu dlouhý zápis, vytvořil jsem si skript „/home/awstat­s/run.sh“ a uložil do něj:

#!/bin/sh
/home/awstats/awstats-6.95/tools/awstats_updateall.pl now \
-awstatsprog=/home/awstats/awstats-6.95/wwwroot/cgi-bin/awstats.pl \
-configdir /etc/awstats 

Nastavíme práva:

# chown awstats:awstats /home/awstats/run.sh
# chmod 700 /home/awstats/run.sh 

A pak Cron. Pod uživatelem awstats spustíme „crontab -e“, a přidáme řádek:

 20 */2 *   *   *    /home/awstats/run.sh 

Tím se nám budou data aktualizovat každé dvě hodiny dvacátou minutu v hodině.

Zbývá nastavit Apache. Pokud používáte jiný web server, tak tady už vám návod moc nepomůže. Důležité je se ujistit, že v Apachi máme mod_cgi. Pokud ne, doinstalujeme balíček. Pak vytvoříme VirtualHost:

<VirtualHost *:80>
    ServerName awstats.example.com
    DocumentRoot /home/awstats/awstats-6.95/wwwroot

    DirectoryIndex awstats.pl
    AddHandler     cgi-script      .pl

    Alias /awstatsclasses "/home/awstats/awstats-6.95/wwwroot/classes/"
    Alias /awstatscss "/home/awstats/awstats-6.95/wwwroot/css/"
    Alias /awstatsicons "/home/awstats/awstats-6.95/wwwroot/icon/"
    ScriptAlias /awstats/ "/home/awstats/awstats-6.95/wwwroot/cgi-bin/"

    <Directory /home/awstats/awstats-6.95/wwwroot>
        Options +ExecCGI
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost> 

V něm by mělo stačit jen upravit doménu dle vaší volby a vše je hotovo. Po znovu načtení konfigurace Apache:

/etc/init.d/apache reload 

By měl být dostupný link zmíněný výše. Samozřejmě pod vaší doménou.

Závěr

Konfigurace AWStats je bezproblémová a stačí jenom vědět, kam co nahrát a co použít. Díky jednoduchým konfiguračním souborům, ve kterých jsou jenom rozdíly pro každý web, není problém vytvořit automaticky generované konfiguráky z nějakého vašeho interního systému. Během pod zvláštním uživatelem zvýšíme bezpečnost. Jelikož se AWStats v tomto případě spouští v Apachi jako CGI skript, můžeme použít suexec a spouštět pod vlastním uživatelem i web. Výsledek může nakonec vypadat takto:

awstats
Našli jste v článku chybu?
120na80.cz: Tipy pro odvodnění organismu

Tipy pro odvodnění organismu

Měšec.cz: Do ostravské MHD bez jízdenky. Stačí vaše karta

Do ostravské MHD bez jízdenky. Stačí vaše karta

Měšec.cz: MyUniCard: recenze předplacenky

MyUniCard: recenze předplacenky

Lupa.cz: eIDAS: Nepřehnali jsme to s výjimkami?

eIDAS: Nepřehnali jsme to s výjimkami?

DigiZone.cz: Kauza technik: oficiální vyjádření Novy

Kauza technik: oficiální vyjádření Novy

Podnikatel.cz: Místa, kde hází podnikání klacky pod nohy

Místa, kde hází podnikání klacky pod nohy

Měšec.cz: Investice do drahých kovů - znáte základní chyby?

Investice do drahých kovů - znáte základní chyby?

DigiZone.cz: Loewe Subwoofer 300 pro televizory

Loewe Subwoofer 300 pro televizory

Lupa.cz: Vodafone umí volání přes Wi-Fi. Z ciziny jako v ČR

Vodafone umí volání přes Wi-Fi. Z ciziny jako v ČR

Měšec.cz: Nový sazebník mBank radost nedělá

Nový sazebník mBank radost nedělá

Podnikatel.cz: Český zákazník nakupuje v čínských e-shopech

Český zákazník nakupuje v čínských e-shopech

Měšec.cz: Platíme NFC mobilem. Konečně to funguje!

Platíme NFC mobilem. Konečně to funguje!

DigiZone.cz: Sat novinky: pátý kanál maďarské televize

Sat novinky: pátý kanál maďarské televize

Vitalia.cz: Tohle je Břicháč Tom, co zhubnul 27 kg

Tohle je Břicháč Tom, co zhubnul 27 kg

Měšec.cz: Test: Výběry z bankomatů v cizině a kurzy

Test: Výběry z bankomatů v cizině a kurzy

Lupa.cz: Japonská invaze. Proč SoftBank kupuje ARM?

Japonská invaze. Proč SoftBank kupuje ARM?

Podnikatel.cz: Daň z nemovitosti? Změny budou v říjnu

Daň z nemovitosti? Změny budou v říjnu

Lupa.cz: EU začala prověřovat bezpečnost open-source

EU začala prověřovat bezpečnost open-source

Podnikatel.cz: Používají čárové kódy, vyhledávače je mají radši

Používají čárové kódy, vyhledávače je mají radši

Vitalia.cz: Patří maso do dětského jídelníčku?

Patří maso do dětského jídelníčku?