Гид по технологиям

Установка и настройка AWStats на CentOS 8

• 5 min read • DevOps • Обновлено 27 Nov 2025
AWStats на CentOS 8 — установка и настройка
AWStats на CentOS 8 — установка и настройка

Что такое AWStats

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

Панель AWStats с графиками трафика

Основные возможности 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

Результат будет наподобие: (скриншот ниже показывает успешный вывод команды)

Вывод команды awstats.pl при обновлении статистики

Шаг 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 на ваш домен. Интерфейс будет выглядеть примерно так:

Веб-интерфейс AWStats с отчётами по трафику и посетителям

Безопасность и жёсткие настройки

  • Ограничьте доступ по 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.

Мини-тесты:

  1. Выполнить sudo /usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=example.com -update и убедиться в отсутствии ошибок.
  2. Открыть в браузере страницу отчёта и проверить наличие графиков за текущую дату.
  3. Проверить вывод 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, убедился в отсутствии незакрытых портов.

Краткая методология внедрения

  1. Установить зависимости (EPEL, Apache).
  2. Установить AWStats и создать конфиг для домена.
  3. Запустить первичную генерацию и проверить вывод.
  4. Настроить cron для регулярного обновления.
  5. Ограничить доступ и включить HTTPS.
  6. Мониторить логи и при необходимости корректировать конфиг.

Краткое резюме

  • AWStats — надёжный инструмент для лог-ориентированной аналитики.
  • На CentOS 8 необходим репозиторий EPEL и Apache.
  • Правильная настройка доступа и обновлений через cron — ключ к безопасной и стабильной работе.

Важно: всегда тестируйте изменения в конфигурации на тестовой среде или создайте резервные копии конфигурационных файлов перед правками.

Примечание: замените example.com на реальный домен в конфигурациях и crontab.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро