Устанавливаем AWStats (должен быть включен репозиторий RPMForge) и пакеты GeoIP (для определения из какой страны пользователь)
yum install awstats perl-Geo-IP GeoIP-data |
Копируем шаблон для AWStats с новым именем (DOMAIN_NAME – имя домена сайта):
cp /etc/awstats/awstats.localhost.localdomain.conf /etc/awstats/awstats.<DOMAIN_NAME>.conf |
Редактируем файл /etc/awstats/awstats.
... LogFile="/usr/bin/logresolvemerge.pl /var/log/httpd/<DOMAIN_NAME>_access.log* |" SiteDomain="<DOMAIN_NAME>" HostAliases="www.<DOMAIN_NAME> REGEX[<DOMAIN_NAME>$]" LoadPlugin="geoip GEOIP_STANDARD /usr/share/GeoIP/GeoIP.dat" ... |
LogFile – такая запись собирает все логи сайта, даже ротированные
SiteDomain – основное имя сайта
HostAliases – алиасы сайта, в блоке «REGEX[
LoadPlugin – включаем модуль GeoIP
В файлах конфигурации Apache логи сайтов оформляем в таком виде:
... ErrorLog /var/log/httpd/<DOMAIN_NAME>_error.log CustomLog /var/log/httpd/<DOMAIN_NAME>_access.log combined ... |
Редактируем файл /etc/httpd/conf.d/awstats.conf:
Alias /awstats/icon/ /var/www/awstats/icon/ ScriptAlias /awstats/ /var/www/awstats/ <Directory /var/www/awstats/> DirectoryIndex awstats.pl Options ExecCGI AuthType Basic AuthName "Auth?" require valid-user AuthUserFile /etc/awstats/awstats.htpasswd </Directory> |
Создаем htpasswd-файл с паролем к пользователю admin:
htpasswd -c /etc/awstats/awstats.htpasswd admin |
Перезапускаем Apache
service httpd reload |
Когда в логе накопятся данные нужно запустить следующую команду:
/usr/bin/awstats_updateall.pl now -confdir="/etc" -awstatsprog="/var/www/awstats/awstats.pl" |
Далее переходим на страницу http://server_ip/awstats/awstats.pl?config=
Последним шагом будет добавление скрипта обновления данных AWStats в CRON.