Установка и настройка awstats на FreeBSD

()

Допустим, что некоторая организация арендует сервер под управлением FreeBSD 7.2, на котором размещает свой корпоративный сайт (он имеет имя firm.com), обслуживаемый веб-сервером Apache 2.2. Лог доступа к сайту пишется в файл /var/log/http-firm.com-access.log.

Разумеется, можно, используя этот лог, генерировать достаточно интересные отчёты о посещаемости сайта. Для этого существует множество инструментов, например webalizer, awfull, awstats и ряд других. Наиболее функциональным и интересным решением является awstats, который позволяет исключить из статистики трафик, созданный роботами, и имеет ряд других полезных функций.

Отчёты awstats выглядят примерно так:

Если вас не заинтересовал awstats, то дальше можете не читать. Если же интересен, то продолжайте:)

Для начала установим awstats:

cd /usr/ports/www/awstats && make install clean

Далее добавим в зону firm.com домен stat, A-запись которого будет указывать на IP-адрес нашего сервера. Как только домен будет создан - перейдём в директорию /usr/local/etc/apache22/Includes на сервере и создадим файл vhost_stat.conf следующего содержания:

<Virtualhost *>
    # Алиас для jar-файлов
    Alias /awstatsclasses "/usr/local/www/awstats/classes/"

    # Алиас для таблиц стилей
    Alias /awstatscss "/usr/local/www/awstats/css/"

    # Алиас для путей к иконкам
    Alias /awstatsicons "/usr/local/www/awstats/icons/"

    # Алиас для CGI-скриптов
    ScriptAlias /awstats/ "/usr/local/www/awstats/cgi-bin/"

    # Имя виртуального хоста
    ServerName stat.firm.com 

    # Корень виртуального хоста
    DocumentRoot /usr/local/www/awstats 

    # Настройки доступа к директории
    <Directory /usr/local/www/awstats>
        Allow from all 
        AllowOverride All 
    </Directory>

    # Логи виртуального хоста
    CustomLog "/var/log/httpd-stat.firm.com-access.log" combined
    ErrorLog "/var/log/httpd-stat.firm.com-error.log"
</Virtualhost>

После этого перезпускаем веб-сервер:

apachectl restart

Далее переходим в директорию /usr/local/www/awstats/cgi-bin и копируем файл awstats.model.conf в awsats.firm.com.conf:

cp awstats.model.conf awstats.firm.com.conf

Далее в файле нужно указать корректный путь к лог-файлу нашего сайта. За это отвечает параметр LogFile. В нашем файле конфигурации он должен иметь вид:

LogFile="/var/log/http-firm.com-access.log"

Далее нам нужно ещё указать домен нашего сайта в поле SiteDomain:

SiteDomain="firm.com"

На этом написание конфигурации заканчивается. Теперь нужно настроить периодическое обновление статистических данных, для этого в файл /etc/crontab нужно добавить строку:

55 * * * * root /usr/local/www/awstats/cgi-bin/awstats.pl -update -config=firm.com > /dev/null

Теперь статистические данные будут обновляться раз в час.

Статистику полезно закрыть паролем, для этого создадим файл /usr/local/www/awstats/.htaccess следующего содержания:

AuthType Basic 
AuthName "Private zone. Only for administrator!"
AuthUserFile  /usr/local/www/awstats/.htpasswd 
require valid-user 

После чего нужно создать файл /usr/local/www/awstats/.htpasswd и с помощью утилиты htpasswd добавить в него пользователей. Файл можно создать командой:

touch /usr/local/www/awstats/.htpasswd

Добавим (для примера) пользователя root с паролем 123:

htpasswd -b /usr/local/www/awstats/.htpasswd root 123

Теперь статистику посещаемости ресурса можно просматривать по адресу http://stat.firm.com/awstats/awstats.pl?config=firm.com. Если вам это кажется неудобным, то можно создать файл /usr/local/www/awstats/index.html, который будет индексным для домена stat.firm.com и будет переадресовывать пользователя на страницу статистики. Содержимое файла будет примерно таким:

<html>
<head>
<meta http-equiv="refresh" content="0; url=/awstats/awstats.pl?config=firm.com">
</head>
<body> 
<p align=center><a href="/awstats/awstats.pl?config=firm.com">click here</a></p>
</body>
</html>

На этом всё. Приятной работы!

Корректор: Регина Васильева (reggi86@mail.ru)

Ключевые слова: awstats, FreeBSD, apache, apache22.

Подписаться на обновления: RSS-лента Канал в TamTam Telegram канал Канал в ICQ

Комментарии:

Anonymous 2013-04-02 01:24:42 (#)

Сэкономили мне кучу времени :) Но, еще было бы полезнее написать, что для более удобных и расширенных данных статистики по ОС/Браузерам нужно сменить формат логирования в Апаче.
Новый комментарий

Жирный текстКурсивный текстПодчёркнутый текстЗачёркнутый текстПрограммный кодСсылкаИзображение




© 2006-2024 Вадим Калинников aka MooSE
Политика конфиденциальности