Установка awstats на Gentoo Linux
Установка и настройка awstats в связки с Nginx для Gentoo Linux.
Установка
Установка awstats и необходимых зависимостей:
emerge net-www/awstats
Для определение георгафии ip адрессов необходимо установить 1) USE-флаг geip:
echo net-www/awstats geoip >> /etc/portage/package.use
Если вы использиете USE-флаг vhost то необходимо выполнить:
webapp-config -I -h localhost -d awstats awstats 6.9-r1
где localhost имя вашего виртуального хоста и 6.9-r1 версия awstats.
Перейдите в папку установки awstats 2) и создайте необходимый каталоги:
cd /var/www/localhost/htdocs/awstats mkdir data
Скопировать конфигурационный файл:
cp /etc/awstats/awstats.model.conf /etc/awstats/default.conf
Отредактируем конфиг:
/etc/awstats/default.conf
DirData="/var/www/localhost/htdocs/awstats/data" Lang="ru" LoadPlugin="decodeutfkeys"
Теперь создадим конфигурационный файл для конкретного сайта (в примере domain.com):
/etc/awstats/awstats.domain.com.conf
Include "/etc/awstats/default.conf" LogFile="/var/log/nginx/access_log" SiteDomain="domain.com" HostAliases="REGEX[.*\.domain\.com$]"
Автоматизация парсинга логов и построения отчётов
Дабы минимизировать работу при добавлении очередного сайта создадим два скрипта управляемые единым конфигом. Первый скрипт для парсинга логов, второй для создания отчётов. Оба скрипта будут подключать файл настроек.
Файл настроек:
/var/www/localhost/htdocs/awstats/stat.config
AWDIR="/var/www/localhost/htdocs/awstats" AWSTATS="/var/www/localhost/cgi-bin/awstats.pl" REPORTS="alldomains allhosts lasthosts unknownip allemails lastemails allemailr lastemailr alllogins lastlogins allrobots lastrobots urldetail urlentry urlexit osdetail browserdetail unknownbrowser unknownos refererse refererpages keyphrases keywords errors404" SITES="enchtex.info" INDEX_PAGE="$AWDIR/data/index.html"
Скрипт парсинга логов:
/var/www/localhost/htdocs/awstats/stat.parse.sh
#!/bin/sh . /var/www/localhost/htdocs/awstats/stat.config for SITE in $SITES; do $AWSTATS -config=$SITE done
Скрипт генерации отчётов:
/var/www/localhost/htdocs/awstats/stat.render.sh
#!/bin/sh . /var/www/localhost/htdocs/awstats/stat.config custom_report() { SITE=$1 REPORT=$2 $AWSTATS -config=$SITE -output=$REPORT -staticlinks > "$AWDIR/data/awstats.$SITE.$REPORT.html" } for SITE in $SITES; do $AWSTATS -config=$SITE -output -staticlinks > "$AWDIR/data/$SITE.html" for REPORT in $REPORTS; do custom_report $SITE $REPORT done done rm $INDEX_PAGE for SITE in $SITES; do echo "<div><a href=\"$SITE.html\">$SITE</a></div>" >> $INDEX_PAGE done
Отмечаем файлы как выполняемые:
chmod +x /var/www/localhost/htdocs/awstats/stat.parse.sh chmod +x /var/www/localhost/htdocs/awstats/stat.render.sh
Для проверки правильности настроек следует выполнить stat.parse.sh и затем stat.render.sh:
/var/www/localhost/htdocs/awstats/stat.parse.sh /var/www/localhost/htdocs/awstats/stat.render.sh
После выполнения в папке /var/www/localhost/htdocs/awstats/data должны появиться файлы отчётов.
Добавляем автоматическое построение отчётов через крон раз в час:
/etc/cron.hourly/awstats
#!/bin/bash /var/www/localhost/htdocs/awstats/stat.parse.sh /var/www/localhost/htdocs/awstats/stat.render.sh
Делаем файл выполняемым:
chmod +x /etc/cron.hourly/awstats
Статья не завершена
Обсуждение