Установка анализатора логов awstats на веб-сервер под управлением Ubuntu Server

Apache2 сохраняет подробнейшую статистику о посетителях сервера в своих логах. Существует не мало средств для анализа логов посещений, но наибольшую популярность, насколько я себе представляю, снискали универсальные инструменты: webalizer и awstats. О настройке последнего далее и поговорим. Awstats написан на Perl и имеется на многих (думаю, что на большинстве) виртуальных хостингах, так что его можно считать чуть ли не традиционным инструментом для анализа логов.

Сразу должен заметить, что рассмотренная ниже конфигурация довольно просто реализуется, но не идеальна в смысле безопасности. Отчёты awstats мы скроем только при помощи нестандартного адреса и никак более, устанавливать пакет будем также в стандартные директории, что небезопасно для ответственных серверов. Однако, если читателям будет интересно, то милости прошу в комментарии: наберётся достаточно вопросов — будет и продолжение статьи.

А пока начнём с установки:
sudo aptitude install awstats

После того, как пакет установлен, переходим к конфигурированию. Первый шаг — создание конфигурационного файла для одного из ваших виртуальных хостов. Скопируем исходные настройки:
sudo cp /etc/awstats/awstats.conf /etc/awstats/awstats.example.com.conf

Разумеется, example.com вам нужно заменить на имя вашего домена.

Далее правим конфигурационный файл:
sudo nano /etc/awstats/awstats.example.com.conf

Нас интересуют следующие параметры:
LogFile="/var/www/example.com/access.log" — укажите в кавычках пусть до access.log вашего вирт. хоста;
LogFormat=1 — для подробной статистики;
SiteDomain="example.com" — имя вашего домена;
HostAliases="www.example.com" — альясы (синонимы) вашего виртуального хоста.

Всё почти готово, осталось научить Apache2 отображать статистику. По умолчанию сконфигурированный Apache2 в своём конфигурационном файле содержит включение файлов из /etc/apache2/conf.d/, поэтому в соответствующей директории создадим файл с параметрами для доступа к awstats: touch /etc/apache2/conf.d/awstats.

Правим файл и добавляем в него следующие директивы:
Alias /awstatsclasses "/usr/share/awstats/lib/"
Alias /awstats-icon/ "/usr/share/awstats/icon/"
Alias /awstatscss "/usr/share/doc/awstats/examples/css"
ScriptAlias /stats/ /usr/lib/cgi-bin/
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch

Настройка завершена. Проанализируем существующие логи:
sudo /usr/lib/cgi-bin/awstats.pl -config=example.com -update

И перезапустим веб-сервер, чтобы он узнал, что показывать посетителю, если в браузере он наберёт example.com/stats/awstats.pl:
sudo apache2ctl restart

Готово. Можно идти по вышеназванному адресу и любоваться результатом. Хотя, конечно же, надо бы научить awstats генерировать отчёты регулярно и автоматически. Нам поможет планировщик cron.

Правим crontab:
sudo nano /etc/crontab

Добавляем строчку (обновляться статистика будет раз в полчаса) и сохраняем файл:
*/30 * * * * root /usr/lib/cgi-bin/awstats.pl -config=example.com -update >/dev/null

Понятно, что если вам понадобится статистика для другого хоста, то процедуру нужно просто повторить.

Источник
free-templates.ru