Advanced Web Statistics (AWStats) – это мощный анализатор журналов веб-сервера, написанный на perl показывает всю статистику веб включая визитеров, уникальных визитеров, страницы, количество кликов, часы пик, поисковые сервисы, ключевые слова, использованные для поиска вашего сайта, роботов, нерабочие ссылки и другое. Дает более детальную информацию и графики чем Webalizer, и прост в использовании. Работает с различными форматами журналов из CGI-сценария или командной строки. Поддерживает более 30 языков.
Установка и настройка AWStats в Операционная система Debian + плагин GEOIP (для его работы нужен perl модули Geo::IP, Geo::IP::PurePerl и С библиотека)
# apt 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/