Homepage: AWStats
Advanced Web Statistics (AWStats) – это мощный анализатор журналов веб-сервера, написанный на perl показывает всю статистику веб включая визитеров, уникальных визитеров, страницы, количество кликов, часы пик, поисковые сервисы, ключевые слова, использованные для поиска вашего сайта, роботов, нерабочие ссылки и другое. Дает более детальную информацию и графики чем Webalizer, и прост в использовании. Работает с различными форматами журналов из CGI-сценария или командной строки. Поддерживает более 30 языков.
Установка и настройка AWStats в Операционная система Debian + плагин GEOIP (для его работы нужен perl модули Geo::IP, Geo::IP::PurePerl и С библиотека)
# aptitude install awstats geoip-database # nano /etc/awstats/awstats.conf ... LoadPlugin="geoip GEOIP_STANDARD /usr/share/GeoIP/GeoIP.dat" LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/share/GeoIP/GeoLiteCity.dat" LoadPlugin="geoip_org_maxmind GEOIP_STANDARD /usr/share/GeoIP/GeoIPASNum.dat" ... # cd /usr/share/GeoIP # wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz # gunzip GeoIP.dat.gz # wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz # gunzip GeoLiteCity.dat.gz # wget http://geolite.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz # gunzip GeoIPASNum.dat.gz # cd ~ # wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP.tar.gz # tar xzvf GeoIP.tar.gz # cd GeoIP-1.4.7 # ./configure && make && make install # cd .. # rm -rfv GeoIP* # cpan -i Geo::IP # cpan -i Geo::IP::PurePerl
# cd /usr/share/doc/awstats/examples/ # gunzip awstats.model.conf.gz
Исправляем пути и переменную $modelfile в файле awstats_configure.pl.
$AWSTATS_PATH='/usr/share/awstats'; $AWSTATS_ICON_PATH='/usr/share/awstats/icon'; $AWSTATS_CSS_PATH='/usr/share/doc/awstats/examples/css'; $AWSTATS_CLASSES_PATH='/usr/share/awstats/lib'; $AWSTATS_CGI_PATH='/usr/lib/cgi-bin'; $AWSTATS_MODEL_CONFIG='/usr/share/doc/awstats/examples/awstats.model.conf'; $AWSTATS_DIRDATA_PATH='/var/lib/awstats'; # Define model config file path # ----------------------------- my $modelfile=''; if ($OS eq 'linux') { if (-f "$AWSTATS_PATH/wwwroot/cgi-bin/awstats.model.conf") { $modelfile="$AWSTATS_PATH/wwwroot/cgi-bin/awstats.model.conf"; } else { $modelfile="$AWSTATS_MODEL_CONFIG"; if (! -s $modelfile || ! -w $modelfile) { $modelfile="$AWSTATS_MODEL_CONFIG"; } } }
Запускаем конфигурационный скрипт.
# ./awstats_configure.pl ... Do you want to continue setup from this NON standard directory [yN] ? y ...
Читаем /usr/share/doc/awstats/README.Debian. Создадим виртуальный домен в Apache для просмотра статистики Awstat.
# nano /etc/apache2/sites-available/awstatsmail <VirtualHost *:80> ServerName awstatsmail.Your.Domen ServerAdmin webmaster@localhost DocumentRoot /usr/share/awstats/ Alias /awstatsclasses "/usr/share/awstats/lib/" Alias /awstatscss "/usr/share/doc/awstats/examples/css/" Alias /awstatsicons "/usr/share/awstats/icon/" Alias /awstats-icon/ /usr/share/awstats/icon/ ScriptAlias /awstats/ "/usr/lib/cgi-bin/" <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 Allow from 10.26.95.251 </Directory> <Directory /usr/share/awstats/> Options None AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> <Directory /usr/share/doc/awstats/> Options None AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost> # a2ensite # /etc/init.d/apache2 restart
Редактируем конфигурационны файл полученный после запуска скрипта awstats_configure.pl.
LogFile="/var/log/apache2/other_vhosts_access.log" # Possible values: 1,2,3,4 or "your_own_personalized_log_format" # 1 - Apache or Lotus Notes/Domino native combined log format (NCSA combined/XLF/ELF log format) # 2 - IIS or ISA format (IIS W3C log format). See FAQ-COM115 For ISA. # 3 - Webstar native log format. # 4 - Apache or Squid native common log format (NCSA common/CLF log format) LogFormat=1 SiteDomain="Your.Domen"
Первый запуск анализа лога Apache для вашего сайта
# /usr/lib/cgi-bin/awstats.pl -config=Your.Domen
Для просмотра статистики набираем в браузере путь
http://yourdomain.com/awstats/awstats.pl?config=Your.Domen
Автоматизируем сбор статистики через Использование планировщика cron в Linux. Apache запускается от пользователя www-data. Обновление статистики тоже будет делать от этого пользователя.
# crontab -u www-data -e */30 * * * * /usr/lib/cgi-bin/awstats.pl -config=Your.Domen
В этом случае удобнее дописать строки для крона в файл /etc/cron.d/awstats:
# nano /etc/cron.d/awstats 0,10,20,30,40,50 * * * * www-data /usr/lib/cgi-bin/awstats.pl -config=Your.Domen
Изменяем настройки ротации лог файлов Apache2, для того чтобы скрипт запущенный из под пользователя www-data смог прочитать логи. Ниже указаны только измененные строки.
# nano /etc/logrotate.d/apache2 ... create 640 www-data adm ... # chown -R www-data:adm /var/log/apache2/