Awstats и geoip

После установки иногда хочется видеть географическую информацию о посетителях, а не только список их IP. Awstats содержит специальный плагин , который транслирует IP адреса в коды стран. Я использовал плагин для CentOS, но все написанное будет справедливо и для других дистрибутивов Linux.


1. Установим плагин:

# wget http://search.cpan.org/CPAN/authors/id/B/BO/BORISZ/Geo-IP-PurePerl-1.25.tar.gz
# tar -zxf Geo-IP-PurePerl-1.25.tar.gz
# cd Geo-IP-PurePerl-1.25
# perl Makefile.PL
# make
# make test
# make install

Плагин установлен, но не работает, так как отсутствует файл GeoIP.dat:

# make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/0_base..........ok
t/1_lookup........skipped
all skipped: No GeoIP.dat found
t/2_namelookup....skipped
all skipped: No GeoIP.dat found
All tests successful, 2 tests skipped.
Files=3, Tests=1, 1 wallclock secs ( 0.03 cusr + 0.25 csys = 0.28 CPU)

2. Получаем файл GeoIP.dat:


# mkdir /~/GeoIP
# cd /~/GeoIP
# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
# gunzip *

У меня сам awstats установлен в /usr/local/awstats/wwwroot/cgi-bin, туда и переносим полученные файлы.

# mv GeoIP.dat GeoLiteCity.dat /usr/local/awstats/wwwroot/cgi-bin

3.Последний штрих — для нужных доменов исправляем конфиги, включая опцию (по умолчанию она закомментирована)


LoadPlugin="/usr/share/GeoIP/geoip"

4. Особо вдумчивый читатель может заметить, что мы использовали только один файл GeoIP.dat. Все верно, статистику можно смотреть не только по странам, но и по городам. Подключите плагин в конфиге файла, добавив строчку

LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/share/GeoIP/GeoLiteCity.dat"

И в статистике будут показаны города 🙂

Комментарии 1

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *