Настройка AWStats для nginx в Ubuntu 16.04

Настройка AWStats для nginx в Ubuntu 16.04Настройка AWStats для nginx в Ubuntu 16.04

Perl-скрипт AWStats позволяет получать подробную статистику по посещению сайта, генерируя HTML-страницу с графиками на основании данных, сохраненных в журналах

Отчет включает в себя посетителей, страницы, ресурсы-источники, данные по браузеру и странам, коды ошибок и многое другое (см. рис. 1). При установке в Ubuntu можно указать конфигурацию для Apache или Lighttpd. Если используется nginx, придется ряд действий выполнить вручную.

Рисунок 1. Графики AWStats

Устанавливаем пакет:

$ sudo apt update

$ sudo apt install awstats

В поставке имеется шаблон, на основании которого AWStats сканирует журналы. Для каждого сайта создаем копию шаблона с именем, соответствующим веб-сайту:

$ sudo cp /etc/awstats/awstats. conf /etc/awstats/awstats. example. com. conf

Редактируем шаблон, указав домен, файл журнала и куда складывать статистику:

$ sudo nano /etc/awstats/awstats. example. com. conf

SiteDomain=»example. com»

HostAliases=»www. example. com»

LogFile=»/var/log/nginx/example. com. access. log»

DirData=»/var/www/example. com/awstats»

Обязательно создаем каталог для статистики:

$ sudo mkdir — p /var/www/example. com/awstats

Первый отчет лучше сгенерировать вручную. Так можно увидеть возможные ошибки в настройках:

$ sudo /usr/lib/cgi-bin/awstats. pl — update — config=example. com

В Ubuntu при установке из пакетов уже есть cron-задание для периодического сбора статистик со всех возможных хостов, описанных в /etc/awstats, и ротации журналов. Поэтому больше ничего для настройки AWstats делать не нужно. Осталось настроить веб-сервер.

Для работы AWStats в nginx нам понадобится FastCGI-модуль для Perl:

$ sudo apt install — y libfcgi-perl

Скачиваем готовый FastCGI-враппер для запуска Perl-сценариев и init-скрипт:

$ sudo wget http://nginxlibrary. com/downloads/perl-fcgi/fastcgi-wrapper — O /usr/bin/fastcgi-wrapper. pl

$ sudo wget http://nginxlibrary. com/downloads/perl-fcgi/perl-fcgi — O /etc/init. d/perl-fcgi

Делаем файлы исполняемыми:

$ chmod +x /usr/bin/fastcgi-wrapper. pl

$ chmod +x /etc/init. d/perl-fcgi

Для Ubuntu потребуется отредактировать init-скрипт вместо su:

su — $FASTCGI_USER — c $PERL_SCRIPT

Нужно использовать sudo:

sudo — u $FASTCGI_USER $PERL_SCRIPT

Это можно сделать в редакторе или выполнив команду:

$ sudo sed — i — e ‘s/su -/sudo — u/g’ — e ‘/sudo/s/-c //g’ /etc/init. d/perl-fcgi

Ставим на автозапуск и запускаем:

$ sudo systemctl enable perl-fcgi. service

$ sudo systemctl start perl-fcgi. service

Враппер perl-fcgi будет принимать соединения на 8999-му порту. Его можно изменить, установив другое значение в строке:

$socket = FCGI::OpenSocket( «127.0.0.1:8999», 10 );

Проверяем, работает ли порт:

$ netstat — anp | grep — i 8999

Прописываем в настройках сайта, как обрабатывать pl-файлы:

location

try_files $uri =404;

gzip off;

fastcgi_pass 127.0.0.1:8999;

fastcgi_index index. pl;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

Можно для статистик сделать свой поддомен, но чаще используют как подкаталог. Добавляем location для файлов AWStats: