И так, цель следующая: смотреть статистику awstats напрямую через nginx, чтобы это воплотить, нужно научить nginx обрабатывать cgi запросы и правильно писать access логи. Для этого нам понадобится perl'овый врапер который будет работать как демон и прослушиваться на сокете и немного подправить конфигруацию nginx'a.
Для начала приступим к установке awstats, ставить будем версию 7.* из предаврительно подключенного репозитория RPMForge:
Далее скачиваем сам врапер и init скрипт, и добавляем в автозапуск при старте системы:
В основном конфе nginx'a задаем праметр записи access лога:
В самом виртуал хосте нужно включить логирование запросов к сайту:
и прописать alias для самой статистики awstats и для картинок awstatsicons.
В конфе awstats для домена прописываем настройки LogFile(путь к логу), SiteDomain(собственно домен), HostAliases(алиасы домена), DirIcons(указываем /awstatsicons), ну и остальное по Вашему усмотрению и вкусу.
Для начала приступим к установке awstats, ставить будем версию 7.* из предаврительно подключенного репозитория RPMForge:
yum -y install awstats
Далее скачиваем сам врапер и init скрипт, и добавляем в автозапуск при старте системы:
wget -P /usr/bin/ http://files.2ip.org.ua/nginx/perl/fastcgi-wrapper.pl
wget -P /etc/init.d/ http://files.2ip.org.ua/nginx/perl/perl-fastcgi
chmod 755 /usr/bin/fastcgi-wrapper.pl
chmod 755 /etc/init.d/perl-fastcgi
chkconfig perl-fastcgi on
/etc/init.d/perl-fastcgi start
В основном конфе nginx'a задаем праметр записи access лога:
log_format main '$host $remote_addr [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
В самом виртуал хосте нужно включить логирование запросов к сайту:
access_log /var/logs/nginx/domain.com.log main;
и прописать alias для самой статистики awstats и для картинок awstatsicons.
location ~ ^/awstats/ {
gzip off;
fastcgi_pass unix:/var/run/nginx/fastcgi-wrapper.sock;
fastcgi_param SCRIPT_FILENAME /var/www/awstats/awstats.pl;
fastcgi_param SCRIPT_NAME awstats.pl;
fastcgi_param DOCUMENT_ROOT /var/www/awstats/;
include fastcgi_params;
# Включаем авторизацию htpasswd для просмотра статистики.
auth_basic "AwStats Statistics";
auth_basic_user_file /var/www/htpasswd/awstats;
}
location /awstatsicons/ {
alias /var/www/awstats/icon/;
}
В конфе awstats для домена прописываем настройки LogFile(путь к логу), SiteDomain(собственно домен), HostAliases(алиасы домена), DirIcons(указываем /awstatsicons), ну и остальное по Вашему усмотрению и вкусу.