Установка и настройка AWStats на CentOS 8
Что такое AWStats
AWStats — это открытый инструмент веб-аналитики на Perl, который парсит лог-файлы веб/FTP/потоковых серверов и генерирует графические HTML-отчёты. Коротко: анализатор логов, который даёт сводку посещений, страниц выхода, браузеров и источников трафика.

Основные возможности AWStats
- Поддержка большинства форматов логов (Apache, IIS и другие).
- Отчёты по посещениям, уникальным посетителям, продолжительности визитов.
- Список самых просматриваемых страниц и страниц выхода.
- Информация о посетителях: ОС, браузер, IP, разрешение экрана, поисковые фразы.
- Полезно для мониторинга трафика по дням/неделям/месяцам.
Требования и рекомендации
- Сервер с CentOS 8 и доступом root (или sudo).
- Интернет-доступ для подключения EPEL.
- Установленный Apache (httpd) и доступ к логам (обычно /var/log/httpd/access.log).
- Учет SELinux и firewall — возможны дополнительные настройки.
Шаг 1 — Установка репозитория EPEL
По умолчанию пакет AWStats отсутствует в стандартном репозитории CentOS 8. Установите EPEL:
dnf install epel-releaseШаг 2 — Установка Apache
AWStats работает через веб-сервер Apache. Установите и запустите httpd:
sudo dnf install httpdПроверка и включение сервиса:
sudo systemctl status httpd
sudo systemctl start httpd
sudo systemctl enable httpdШаг 3 — Установка AWStats
Установите пакет AWStats через dnf:
sudo dnf install awstatsШаг 4 — Конфигурация AWStats для Apache
При установке создаётся конфигурация Apache: /etc/httpd/conf.d/awstats.conf. По умолчанию доступ разрешён всем — если требуется ограничить доступ по сети, отредактируйте блок Directory и укажите вашу сеть.
Пример фрагмента конфигурации Apache:
Options None
AllowOverride None
# Apache 2.4
Require ip 192.168.1.0/24
# Apache 2.2
Order allow,deny
Allow from 127.0.0.1
Allow from 192.168.1.0/24
Важно: после правок перезапустите Apache:
sudo apachectl restartСовет по безопасности: вместо открытия по IP используйте базовую аутентификацию Apache или ограничьте доступ через VPN/SSH-туннель.
Шаг 5 — Создание конфигурационного файла AWStats для сайта
Для каждого сайта нужен свой конфиг. Создадим конфиг для example.com на основе шаблона:
sudo cp /etc/awstats/awstats.localhost.localdomain.conf /etc/awstats/awstats.example.com.confОткройте файл в редакторе:
sudo vim /etc/awstats/awstats.example.com.confИзмените ключевые строки:
# Change to Apache log file, by default it's /var/log/apache2/access.log
LogFile="/var/log/httpd/access.log"
# Change to the website domain name
SiteDomain="example.com"
HostAliases="www.example.com localhost 127.0.0.1"
#set AllowToUpdateStatsFromBrowser=0 to AllowToUpdateStatsFromBrowser=1
AllowToUpdateStatsFromBrowser=1Сохраните файл и перезапустите Apache ещё раз для корректной подхватки конфигурации:
sudo apachectl restartШаг 6 — Первичная генерация статистики
Соберите начальную базу данных AWStats из текущих логов:
sudo /usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=example.com -updateРезультат будет наподобие: (скриншот ниже показывает успешный вывод команды)

Шаг 7 — Настройка регулярного обновления (cron)
Для автоматического обновления статистики добавьте cron-задание.
Если вы редактируете системный crontab (/etc/crontab) — используйте формат с указанием пользователя. Если редактируете crontab через crontab -e от root, не указывайте поле пользователя.
Пример записи в /etc/crontab (каждые 30 минут):
*/30 * * * * root /usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=example.com -updateПример для root crontab (через sudo crontab -e):
*/30 * * * * /usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=example.com -updateСохраните и выйдите.
Шаг 8 — Доступ к AWStats через браузер
Откройте в браузере:
http://your.server.ip/awstats/awstats.pl?config=example.com
Замените example.com на ваш домен. Интерфейс будет выглядеть примерно так:

Безопасность и жёсткие настройки
- Ограничьте доступ по IP (Require ip) или настройте базовую аутентификацию Apache (htpasswd).
- Обязательно используйте HTTPS для доступа к панели AWStats.
- Проверьте права на файлы конфигурации и логи — веб-серверу нужен только чтение логов.
- SELinux: если SELinux включён, при проблемах проверьте AVC-отказы в /var/log/audit/audit.log и профили контекстов. Для диагностики временно переключите в permissive.
- Firewall: откройте порт 80/443 только для нужных сетей.
Тесты и критерии приёмки
Критерии приёмки:
- При запуске команды
awstats.pl -updateне возникает ошибок. - Отчёт доступен по URL и отображает актуальные данные логов.
- Cron обновляет статистику согласно расписанию (проверить по timestamp в HTML или dabase файлах).
- Доступ к /awstats/ защищён или ограничен по IP.
Мини-тесты:
- Выполнить
sudo /usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=example.com -updateи убедиться в отсутствии ошибок. - Открыть в браузере страницу отчёта и проверить наличие графиков за текущую дату.
- Проверить вывод
systemctl status httpdи лог/var/log/httpd/error_logна наличие ошибок связанных с CGI.
Отладка и типичные ошибки
- Пустые отчёты: убедитесь, что LogFile в конфиге указывает на правильный файл и что лог содержит записи.
- Неверный формат логов: проверьте формат логов Apache — AWStats поддерживает большинство форматов, но при кастомных логах потребуется корректировка параметров формата в конфиге AWStats.
- Ошибки прав доступа: проверьте права доступа к /usr/share/awstats и к файлам конфигурации.
- SELinux блокирует выполнение скриптов — смотрите /var/log/audit/audit.log.
Альтернативы и когда AWStats может не подойти
- GoAccess — быстрый CLI/реaltime анализатор логов с веб-выводом.
- Matomo (Piwik) — полноценная платформа веб-аналитики с хранением данных в СУБД и расширенной аналитикой.
- AWStats хорошо для парсинга логов без установки JS на сайт; если нужен трекинг на стороне клиента (event-based), рассмотрите Matomo/Google Analytics.
Резервный план / откат
- Сохраните оригинальные файлы конфигурации Apache и AWStats перед изменениями.
- Для отката: восстановите старые файлы конфигурации и перезапустите httpd.
Роли и чек-лист при вводе в эксплуатацию
Администратор:
- Установил EPEL, Apache и awstats.
- Настроил cron и проверил обновления. DevOps:
- Ограничил доступ к панели AWStats и настроил HTTPS. Security:
- Проверил SELinux и firewall, убедился в отсутствии незакрытых портов.
Краткая методология внедрения
- Установить зависимости (EPEL, Apache).
- Установить AWStats и создать конфиг для домена.
- Запустить первичную генерацию и проверить вывод.
- Настроить cron для регулярного обновления.
- Ограничить доступ и включить HTTPS.
- Мониторить логи и при необходимости корректировать конфиг.
Краткое резюме
- AWStats — надёжный инструмент для лог-ориентированной аналитики.
- На CentOS 8 необходим репозиторий EPEL и Apache.
- Правильная настройка доступа и обновлений через cron — ключ к безопасной и стабильной работе.
Важно: всегда тестируйте изменения в конфигурации на тестовой среде или создайте резервные копии конфигурационных файлов перед правками.
Примечание: замените example.com на реальный домен в конфигурациях и crontab.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента