{{tag>awstats webstat nginx}}

====== AWStats - Сервер статистики ======

===== Установка =====

==== Установка perl-fastcgi ====

<code sh>
$ apt-get install fcgiwrap spawn-fcgi
</code>

=== Проверка ===

<code sh>
$ service fcgiwrap status
</code>

=== Настройка Nginx ===

<code>
# Perl fastcgi
location ~ \.pl$ {
  gzip off;
  try_files $uri =404;
  root /var/www/;
  fastcgi_pass unix:/var/run/fcgiwrap.socket;
  include /etc/nginx/fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_ignore_client_abort off;
}
</code>

==== Настройка AWStats ====

=== Настройка Nginx ===

<code>
server {
    location / {
        root   /home/vse2.reklamu.ru/awstats/;
        index  awstats.html;
        access_log off;
    }

    location  /awstats-icon/ {
        alias  /usr/share/awstats/icon/;
        access_log off;
    }

    location ~ ^/cgi-bin {
        fastcgi_pass   unix:/var/run/fcgiwrap.socket;
        include /etc/nginx/fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME  /usr/lib$fastcgi_script_name;
        access_log off;
    }
}
</code>

Дальше натравим awstats на логи nginx. Приступаем к настройке парсера:
  cp /etc/awstats/awstats.conf /etc/awstats/awstats.[host-name].conf

Если у Вас на одном сервере находится больше одного сайта, тогда лучше создавать для них отдельные конфигурационные файлы. Дальше приступаем к редактированию ново созданного файла:
  /etc/awstats/awstats.[host-name].conf

Откройте его в Вашем любимом редакторе, затем найдите и отредактируйте следующие значения согласно конфигурации сервера:
  LogFile="/var/log/nginx/site_access.log" #path to logfile;

  LogFormat=1 #for full statistics;

  SiteDomain="[host-name]” #domainname;

  HostAliases="www.[host-name] [host-name]" #site aliases

Очищаем БД статистики

<code>
$ rm /var/lib/awstats/*
</code>

Создаем индексную страницу

<code>
$ /usr/lib/cgi-bin/awstats.pl -config=[host-name] -update -output > /home/[host-name]/awstats/awstats.html
</code>

Следующим шагом является создание задачи в crontab для регулярного парсинга лог файлов. Естественно хорошо было бы выполнять ее с правами суперпользователя (root) :
crontab -e
<code>
*/20 * * * * /usr/lib/cgi-bin/awstats.pl -config=[host-name] -update -output > /home/[host-name]/awstats/awstats.html
</code>

