awstats — Частин https://chast.in Свободной памяти нет - приходится записывать Wed, 29 Feb 2012 16:15:54 +0000 ru-RU hourly 1 https://wordpress.org/?v=6.6.2 Awstats и geoip https://chast.in/awstats-with-geoip.html https://chast.in/awstats-with-geoip.html#comments Sun, 17 Oct 2010 06:09:44 +0000 http://chast.in/?p=179

После установки awstats иногда хочется видеть географическую информацию о посетителях, а не только список их IP. Awstats содержит специальный плагин geoip, который транслирует 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"

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

]]>
https://chast.in/awstats-with-geoip.html/feed 1
Установка Awstats на CentOS и связка с ISPManager https://chast.in/install-awstats-centos-with-ispmanager.html https://chast.in/install-awstats-centos-with-ispmanager.html#respond Sat, 16 Oct 2010 18:42:34 +0000 http://chast.in/?p=155

Имеем Centos 5.4, ISPManager Pro, нужно установить awstats.
Тема довольно популярна, и разжевана неоднократно. Однако полного и пошагового руководства к действию нет. Поэтому решил записать все от начала и до конца, поскольку довольно часто приходится ставить, однако не так часто, чтобы помнить это наизусть.


1. Для начала — в ISPManager по умолчанию установлен анализатором логов webalizer. Первым делом идем в панели и в пункте возможности удаляем его 🙂

2. Пока происходит удаление пакета, идем на AWStats Download Page , скачиваем пакет

# cd ~
# mkdir awstats
# cd awstats
# wget http://sourceforge.net/projects/awstats/files/AWStats/6.95/awstats-6.95-1.noarch.rpm/download

При попытке установить этот пакет может появиться ошибка:

# rpm -ivh awstats-6.95-1.noarch.rpm
ошибка: Неудовлетворенные зависимости:
perl(LWP::UserAgent) нужен для awstats-6.95-1.noarch

Не теряемся, делаем так :
yum install perl perl-libwww-perl.noarch
и повторяем предыдущую команду.
Пакет установился, обновляем кеш ISPManager и перезапускаем его:

# /usr/local/ispmgr/sbin/pkgctl cache
# killall ispmgr

Смотрим в возможности панели — там должен появиться awstat. 🙂 Включаем awstats.

3. Далее — небольшая «магия» 🙂
3.1. Идем в доменные имена в панели. выбираем любой домен — нажимаем кнопочку «ротация логов WWW домена» выбираем в качестве анализатора логов awstats и период сбора статистики(каждый час). Я обычно еще ставлю галку «применить для всех доменов». Жмем ОК и ждем. При этом создаются логи конфиги анализатора, для выбранного(или для всех) домена. Все конфиги можно смотреть и исправлять в папке /etc/awstats

3.2. Редактируем /etc/httpd/conf.d/awstats.conf. убираем первые 4 строчки и пишем вместо них вот эти:


Alias /awstatsclasses /usr/local/awstats/wwwroot/classes
Alias /awstatscss /usr/local/awstats/wwwroot/css
Alias /awstatsicons /usr/local/awstats/wwwroot/icon
ScriptAlias /awstats/ /usr/local/awstats/wwwroot/cgi-bin/

Финалом | апофеозом 🙂 всех манипуляций является перезапуск апачи:


# service httpd restart

Смотрим на неутешительную статистику так. Убедившись, что этот блог никто, кроме меня, не читает, идем варить кофе 🙂

P.S. Случается, что иногда в конфиге апачи запрещено выполнение перл — скриптов. В таком случае вы будете наблюдать 500 ошибку — Internal Server Error. Для избавления от нее нужно в файле
/etc/httpd/httpd.conf найти строку

#AddHandler cgi-script .cgi

и заменить ее на

AddHandler cgi-script .cgi .pl

Если же вы не хотите использовать перл скрипты нигде, кроме этой статистики, то исправляйте файл /etc/httpd/conf.d/awstats.conf.

В нем нужно в

<Directory /usr/local/awstats/wwwroot/>
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>

Добавить

Options ExecCGI
AddHandler cgi-script .pl

Чтобы вышло как то так:

<Directory /usr/local/awstats/wwwroot/>
Options ExecCGI
AddHandler cgi-script .pl
AllowOverride None
Order allow,deny
Allow from all
</Directory>

Еще добавлю, что awstats можно «научить» считать отдельно закачки файлов (например, mp3), и смотреть в логи nginx, что в некоторых случаях гораздо правильнее.

]]>
https://chast.in/install-awstats-centos-with-ispmanager.html/feed 0