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?
Podnikatel.cz: Babiš bude mít přehled o vašich účtech

Babiš bude mít přehled o vašich účtech

DigiZone.cz: ČTÚ červenec: rušení trochu vzrostlo

ČTÚ červenec: rušení trochu vzrostlo

120na80.cz: Kam umístit silikony?

Kam umístit silikony?

Lupa.cz: Co najdete uvnitř kosmické sondy?

Co najdete uvnitř kosmické sondy?

Lupa.cz: Co vzal čas: internetové kavárny a herny

Co vzal čas: internetové kavárny a herny

Podnikatel.cz: Česká pošta vycouvala ze služby ČP Cloud

Česká pošta vycouvala ze služby ČP Cloud

Lupa.cz: Elektronika tajemství zbavená. Jak s ní začít?

Elektronika tajemství zbavená. Jak s ní začít?

Vitalia.cz: 9 potravin, které nesmí chybět v jídelníčku těhotné

9 potravin, které nesmí chybět v jídelníčku těhotné

Vitalia.cz: Ženy, které milují příliš, jsou neštěstí

Ženy, které milují příliš, jsou neštěstí

DigiZone.cz: ČTÚ zveřejnil aktualizovaný D-Book

ČTÚ zveřejnil aktualizovaný D-Book

Měšec.cz: TEST: Vyzkoušeli jsme pražské taxikáře

TEST: Vyzkoušeli jsme pražské taxikáře

Podnikatel.cz: Kauza z Vinohrad pokračuje. Policie se omlouvá

Kauza z Vinohrad pokračuje. Policie se omlouvá

Lupa.cz: Samořídicí taxíky jsou tu. Začíná s nimi Uber

Samořídicí taxíky jsou tu. Začíná s nimi Uber

Vitalia.cz: Je bílý kokos fakt tak úžasný? Ano, je!

Je bílý kokos fakt tak úžasný? Ano, je!

Lupa.cz: Olympiáda zakázala GIFy. Moc to nepomáhá

Olympiáda zakázala GIFy. Moc to nepomáhá

Měšec.cz: Investiční pasti. Děláte to, co ostatní, ale proděláváte

Investiční pasti. Děláte to, co ostatní, ale proděláváte

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

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

Měšec.cz: Co s reklamací, když e-shop krachuje?

Co s reklamací, když e-shop krachuje?

Lupa.cz: Nechcete datacentrum? Jsou na prodej

Nechcete datacentrum? Jsou na prodej

Podnikatel.cz: Pozor na vykuky, imitují služby České pošty

Pozor na vykuky, imitují služby České pošty