2024. április 26., péntek

Gyorskeresés

Útvonal

Cikkek » IT-ipar rovat

Advanced Web Statistics

  • (f)
  • (p)
Írta: |

A nézettségért folyik a harc az interneten (is), legalább tudjam hányadán állok, mert a tudás hatalom!

[ ÚJ TESZT ]

Bevezető

Mostanában eléggé bele kellett merülnöm a linuxos webszerverek témakörébe, így felmerült, hogy az apache site-okat monitorozni is jó lenne statisztikai szempontból. Ugyebár a nézettségért folyik a harc az interneten is, legalább tudjam hányadán állok...

Telepítési előfeltételek:

- Telepített operációs rendszer (Ubuntu 12.04 alatt tesztelve)
- Apache2, külön logfájlokkal minden monitorozni kívánt sitenak (a cikk végén ki tudod puskázni a mintából)

Az AWStats egy perl alapú logfájl analizátor. Beolvassa a logfájljainkat, amit aztán különböző grafikonokba, statisztikákba rendez (pl egyéni látogatók, oldalletöltések, hibakódok... stb.)

Awstats

Először is telepítenünk kell az AWStats nevű hasznos programot. Ezt megtehetjük kézzel, de a repo-ban is benne van.

Én repoból telepítettem:

sudo apt-get install awstats

A fenti paranccsal a szükséges többi programot (pl perl) is letölti és telepíti a rendszer.

Nálam az Apache2 több VirtualHost-ot kezel (mindegyiknek megvan a saját access és error logja) és a statisztikákat domainonként szeretném megjeleníteni.
Lépjünk be a config fájlokat tartalmazó könyvtárba és hozzuk létre a siteonkénti config fájlokat.

cd /etc/awstats
cp /etc/awstats/awstats.conf /etc/awstats/awstats.domain.hu.conf
--- Az alap configot átmásoljuk és azt módosítjuk a siteunkhoz.

Itt az alábbi paramétereket kell elsődlegesen módosítani:

LogFile = ”/var/www/vhosts/domain.hu/logs/access.log” --- Itt található a log az adott sitehoz.
LogFormat = 1 --- Apache-hoz ez kell.
SiteDomain = ”domain.hu”
HostAliases = ”localhost 127.0.0.1 domain.hu”

Ezután az awstats.conf fájl végére be kell írni:
Include ”/etc/awstats/awstats.domain.hu.conf”

Az adatbázis frissítése:
/usr/lib/cgi-bin/awstats.pl -config=domain.hu -update

Figyelni kell arra, hogy a -config kapcsoló után nem a teljes config fájl név kell, csak az awstats. és a .conf közötti rész!

Most meg kell mondanunk az Apachenak, hogy siteonként hol találja a statisztikát

cd /etc/apache2/sites-availible

A site configjába irjuk be ezt:
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

Ezután:

service apache2 reload

Ha megvagyunk, akkor az elkészült statisztikát a http://domain.hu/awstats/awstats.pl címen érhetjük el. A nagyobb biztonság érdekében rakhatunk rá authentikációt is, akkor viszont a következő értékek kellenek a configba:

awstats.domain.hu.conf

AllowAccessFromWebToAuthenticatedUsersOnly=1
AllowAccessFromWebToFollowingAuthenticatedUsers="user1 user2 user3"

/etc/apache2/sites-available/domain.hu így kell kinéznie:
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/
<Directory /usr/lib/cgi-bin/>
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
AuthName "AWStats Authentication"
AuthType Basic
AuthUserFile /etc/apache2/auth/awstats
Require valid-user
</Directory>

Generálhatunk CLI-ből (htpasswd awstats username) jelszót, vagy online, pl.: http://www.htaccesstools.com/htpasswd-generator/ vagy http://aspirine.org/htpasswd_en.html

A jelszavakat én a /etc/apache2/auth mappában tartom a könnyebb átláthatóság végett

htpasswd /etc/apache2/auth/awstats <username>

A statisztika nem dinamikusan frissül, csak akkor ha lefuttatjuk a fent már említett parancsot. Szerencsére van megoldás rá, hogy ne kelljen kézzel, alapértelmezésben, ha repoból telepítettük, akkor 10 percenként lefut az/usr/share/awstats/tools/update.sh fájl. Ezt kézzel át tudjuk ütemezni cronban.

Ezzel el is készültünk a statisztikai oldalunkkal, amit a http://domain.hu/awstats/awstats.pl vagy a http://domain.hu/awstats/awstats.pl?config=domain.hu linken keresztül érhetünk el. Ha beállítottunk authentikációt, akkor fel fog jönni az ablak, ahol bejelentkezhetünk.

A végére a teljes /etc/apache2/sites-available/domain.hu fájl

<VirtualHost *:80>
ServerAdmin admin@domain.hu
ServerName domain.hu
ServerAlias *.domain.hu
DocumentRoot /var/www/vhosts/domain.hu/www
ErrorLog /var/www/vhosts/domain.hu/logs/error.log
CustomLog /var/www/vhosts/domain.hu/logs/access.log combined
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/
<Directory /usr/lib/cgi-bin/>
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
AuthName "AWStats Authentication"
AuthType Basic
AuthUserFile /etc/apache2/auth/awstats
Require valid-user
</Directory>
</VirtualHost>

Remélem segítettem, jó elemezgetést! Kérdés esetén állok rendelkezésetekre.

Azóta történt

  • Hyper-V, Ubuntu, Shoutcast

    A fenti három program alkotja a most következő cikk törzsét, ami a webrádiózásról szól.

  • StartSSL és Apache

    Hitelesített SSL tanúsítvány ingyen weblapodhoz: inkább te is okulj utóbbi hónapok adatkezelési botrányaiból!

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.