Рубрика:
Администрирование /
How To
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
Настройка 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 ~ \.pl$ {
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:
location /awstats/ {
root /usr/lib/cgi-bin;
index index.html index.pl;
}
location /awstatsclasses/ {
alias /usr/share/awstats/lib/;
}
location /awstats-icon/ {
alias /usr/share/awstats/icon/;
}
location /awstatscss {
alias /usr/share/doc/awstats/examples/css/;
}
Проверяем корректность конфигурационного файла и перезапускаем nginx:
$ sudo nginx -t && sudo nginx -s reload
После этого статистика будет доступа по адресу: http://example.com/awstats/awstats.pl?config=example.com.
Подготовил Сергей Яремчук
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|