Установка AWStats + GEOIP

Устанавливаем 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..conf и меняем некоторые параметры:

...
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[$]» в DOMAIN_NAME нужно эранировать все точки(REGEX[tst\.test\.com$])
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=, пользователь – admin, пароль – введенный при создании htpasswd

Последним шагом будет добавление скрипта обновления данных AWStats в CRON.


Источник статьи