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

Установка Matomo (ранее Piwik) на CentOS 8

6 min read Аналитика Обновлено 27 Nov 2025
Установка Matomo на CentOS 8
Установка Matomo на CentOS 8

Логотип Matomo на экране

О чём эта инструкция

Matomo, ранее известный как Piwik, — свободное приложение для веб- и мобильной аналитики, работающее на PHP/MariaDB. Руководство показывает пошаговую установку Matomo на сервер с CentOS 8, включая подготовку LAMP-стека, конфигурацию Apache, SELinux, файрвола и установку HTTPS через Let’s Encrypt.

Важно: Matomo хранит ваши данные локально — вы управляете данными и конфигурацией. Если нужна облачная аренда сервиса, рассмотрите Matomo Cloud.

Быстрый список требований

  • Сервер с CentOS 8 и доступом по root или sudo.
  • Домен, указывающий на IP сервера (например, piwik.example.com).
  • Базовые навыки работы в терминале и редактировании файлов.

Краткая структура установки (мини-методология)

  1. Установить LAMP-пакеты и PHP-расширения.
  2. Настроить php.ini (параметры для Matomo).
  3. Запустить и включить Apache и MariaDB.
  4. Создать базу данных и пользователя MariaDB для Matomo.
  5. Скачать и распаковать Matomo в /var/www/html.
  6. Настроить SELinux и файрволд.
  7. Создать виртуальный хост Apache для домена.
  8. Пройти веб-установщик и завершить настройку.
  9. Получить и включить SSL через Let’s Encrypt.

Подготовка — установка LAMP и PHP-пакетов

Matomo работает на LAMP (Linux, Apache, MariaDB, PHP). На CentOS 8 выполните:

dnf install httpd mariadb-server php php-mysqlnd php-fpm unzip wget php-json php-dom php-gd php-mbstring -y

Откройте php.ini для корректировки лимитов (улучшает работу при импортах и больших отчётах):

nano /etc/php.ini

Измените или убедитесь в следующих значениях:

upload_max_filesize = 10M
post_max_size = 10M
max_execution_time = 300
max_input_time = 300
memory_limit = 256M

Сохраните файл и запустите сервисы, а также включите их автозапуск:

systemctl start mariadb
systemctl start httpd
systemctl enable mariadb
systemctl enable httpd

Важно: после обновлений пакетов проверяйте, что версии PHP и установленные расширения совместимы с вашей версией Matomo.

Создание базы данных для Matomo

Войдите в MariaDB и создайте базу и пользователя:

mysql

Внутри консоли MariaDB выполните:

mysql> CREATE DATABASE matomo;
mysql> CREATE USER `matomo`@`localhost` IDENTIFIED BY 'password';
mysql> GRANT ALL ON matomo.* TO `matomo`@`localhost`;
mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Примечание: замените ‘password’ на надёжный пароль и храните его в менеджере паролей.

Установка Matomo (ранее Piwik)

Перейдите в корневую папку веб-сервера и скачайте пакет:

cd /var/www/html
wget https://builds.matomo.org/matomo-latest.zip
unzip matomo-latest.zip

Установите владельца и права доступа:

chown -R apache:apache /var/www/html/matomo
chmod -R 775 /var/www/html/matomo

Важно: права 775 позволяют веб-серверу записывать в каталог Matomo; в строгих окружениях можно настроить ACL вместо широких прав.

Настройка SELinux и файрвола

Разрешите HTTP/HTTPS в firewalld:

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

Настройте SELinux для записи веб-сервера в директорию Matomo:

chcon -R -t httpd_sys_rw_content_t /var/www/html/matomo/
setsebool httpd_can_network_connect on -P

Примечание: в окружениях с строгой политикой SELinux лучше создавать собственный модуль политик, а не отключать SELinux.

Конфигурация Apache для Matomo

Создайте виртуальный хост:

nano /etc/httpd/conf.d/piwik.conf

Добавьте (отредактируйте ServerName и ServerAdmin под ваш домен):


ServerAdmin [email protected]
DocumentRoot "/var/www/html/matomo"
ServerName piwik.example.com

Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all

TransferLog /var/log/httpd/matomo_access.log
ErrorLog /var/log/httpd/matomo_error.log

Перезапустите Apache:

systemctl restart httpd
systemctl status httpd

Если в выводе systemctl будут ошибки, откройте /var/log/httpd/error_log и проверьте синтаксис конфигурации.

Доступ к веб-интерфейсу и пошаговый веб-инсталлятор

Откройте в браузере: http://piwik.example.com — вы попадёте в инсталлятор Matomo.

Экран установки Matomo

Следуйте шагам инсталлятора: проверка системы, ввод настроек базы данных, создание администратора, добавление сайта и получение трекинг-кода.

Проверка системы Matomo

Страница ввода данных базы данных

Создание таблиц в базе данных

Создание аккаунта администратора Matomo

Добавление сайта для трекинга

JavaScript-трекер Matomo

Логи аналитики Matomo

После завершения инсталляции вы попадёте на страницу входа в Matomo.

Завершение установки Matomo

Страница входа Matomo

Панель управления Matomo

Защита Matomo с помощью Let’s Encrypt SSL

Установите Certbot и получите сертификат для Apache:

wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

Запустите Certbot для Apache (замените домен):

certbot-auto --apache -d piwik.example.com

Следуйте подсказкам: введите e-mail, согласитесь с условиями и выберите перенаправление HTTP->HTTPS (рекомендуется — выбор 2). В конце вы увидите сообщение об успешном развертывании сертификата. Пример вывода см. ниже (в исходном тексте указаны примеры путей и сроков действия сертификата).

Важно: certbot-auto устарел в некоторых дистрибутивах; в CentOS 8 доступен пакет python3-certbot-apache через dnf. При необходимости используйте его.

Пост-установка: проверка и базовая безопасность

  • Убедитесь, что каталог config/config.ini.php защищён и доступен только для чтения через веб.
  • Настройте бэкапы базы данных и директорий Matomo. Регулярные бэкапы необходимы для восстановления.
  • Включите автоматическое продление сертификатов (certbot renew), проверьте cron/systemd timer.
  • Обновляйте Matomo в пределах совместимости с PHP/бэкэндом.

Контроль качества — критерии приёмки

  • Веб-инсталлятор Matomo доступен по HTTPS и без ошибок на странице статуса.
  • Внутренние системные проверки Matomo (PHP, расширения, права) пройдены.
  • Администратор создан, сайт добавлен, трекинг-код сгенерирован и доступен.
  • Веб-страницы сайта начинают отправлять события, видимые в реальном времени Matomo.
  • Бэкап БД выполняется по расписанию, тестовый откат подтверждён.

Рекомендации по безопасности и жёсткая конфигурация

  • Используйте сильные пароли и храните их в менеджере паролей.
  • Отключите возможности записи в конфигурационные файлы из веба: каталог config должен быть доступен только системному пользователю.
  • Включите двухфакторную аутентификацию для административных аккаунтов (поддерживается плагинами).
  • Ограничьте доступ к административному интерфейсу по IP через Apache или внешний прокси, если это возможно.
  • Регулярно проверяйте обновления Matomo и PHP-стека.

Альтернативные подходы (когда так проще)

  • Docker: разверните Matomo в контейнере docker-compose, чтобы упростить обновления и изоляцию зависимостей.
  • Matomo Cloud: если не хотите управлять сервером и бэкапами, используйте облачную версию.
  • Nginx вместо Apache: некоторые предпочитают Nginx + php-fpm для лучшей производительности и меньшего потребления ресурсов.

Ментальные модели и подсказки для поддержки

  • Разделяйте обязанности: DevOps отвечает за бэкап и инфраструктуру, аналитики — за конфигурации сайтов и цели.
  • Трекинг-код — «датчик» на сайте; Matomo — «хранилище и отчёты».
  • Если данные не приходят — проверьте сеть, HTTPS, CSP и наличие JS-трекера на целевой странице.

Роль‑ориентированные чеклисты

  • DevOps:
    • Настроить бэкап MySQL и директорий.
    • Обновление пакетов и мониторинг дискового пространства.
    • Настроить TLS и автоматическое продление.
  • Администратор Matomo:
    • Создать аккаунты с ролями и ограничить права.
    • Установить плагины безопасности и резервного копирования.
  • Аналитик:
    • Добавить сайты и проверить трекинг-код.
    • Настроить цели и отчёты, проверить события в реальном времени.

Тесты и сценарии приёмки

  • Установить трекинг-код на тестовую страницу и отправить тестовый заход — событие должно появиться в реальном времени.
  • Проверить доступность по HTTPS, убедиться в перенаправлении HTTP->HTTPS.
  • Проверить работу администратора: вход, создание отчёта, экспорт данных.

Частые ошибки и как их исправить

  • 500/403 ошибки после установки: проверьте права и SELinux контекст.
  • Не подключается к базе: проверьте пароль, хост и права пользователя в MariaDB.
  • Трекинг не собирается: проверьте, вставлен ли JS-код на страницу и нет ли блокировщиков рекламы/CSP.

Короткая памятка по обслуживанию

  • Обновления Matomo: выполняйте в тестовой среде перед продакшеном.
  • Резервное копирование: daily для БД, weekly для файлов.
  • Мониторинг: следите за размером базы и временем отклика запросов.

1‑строчный глоссарий

  • Matomo — открытая платформа аналитики, ранее Piwik.
  • LAMP — стек: Linux, Apache, MariaDB, PHP.
  • Certbot — клиент для получения сертификатов Let’s Encrypt.

Заключение

Поздравляем: вы установили Matomo на CentOS 8, настроили веб-сервер, базу данных и SSL. Теперь вы контролируете данные аналитики и можете настраивать отчёты, цели и отслеживание событий. Следуйте рекомендациям по безопасности и бэкапам, чтобы обеспечить надёжную и устойчивую работу сервиса.

Важно: если нужно развернуть Matomo в масштабируемой среде или использовать кластерную базу данных, рассмотрите варианты с отдельными хостами баз данных и балансировщиками нагрузки.

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

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

Мониторинг трафика: логи и GoAccess
Мониторинг.

Мониторинг трафика: логи и GoAccess

Отключить Motion Photos на Samsung
Мобильная фотография

Отключить Motion Photos на Samsung

Как исправить ошибку docagent.dll в Windows 10
Windows

Как исправить ошибку docagent.dll в Windows 10

Как нарисовать радиус в Google Maps
Руководства

Как нарисовать радиус в Google Maps

Исправить ошибку d3d9.dll в Windows
Windows

Исправить ошибку d3d9.dll в Windows

Отключить всплывающие объявления на Samsung
Мобильные советы

Отключить всплывающие объявления на Samsung