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

Установка Matomo — Piwik на Ubuntu 20.04 с Nginx и Let's Encrypt

• 5 min read • Инфраструктура • Обновлено 23 Nov 2025
Matomo на Ubuntu 20.04: Nginx и Let's Encrypt
Matomo на Ubuntu 20.04: Nginx и Let's Encrypt

Логотип Matomo (Piwik) — веб‑аналитика с открытым кодом

Кратко — TL;DR

Matomo (ранее Piwik) — это свободная и открытая система веб‑аналитики, которую можно разместить на своём сервере и полностью контролировать данные. В этой инструкции показано, как установить Matomo на Ubuntu 20.04 с Nginx и получить бесплатный SSL от Let’s Encrypt. Следуйте шагам: обновление системы, установка LEMP, создание базы данных, развертывание Matomo, настройка Nginx и выпуск сертификата Certbot.

Что такое Matomo

Matomo — система веб‑аналитики с открытым исходным кодом. Она собирает посещения, цели, загрузки, ключевые слова и другие KPI. Главная особенность — вы храните и контролируете все данные сами, без сторонних сервисов.

Краткое определение: Matomo — self‑hosted веб‑аналитика для компаний, стремящихся к приватности и контролю данных.

Требования

  • Сервер с Ubuntu 20.04.
  • Домен, указывающий на IP сервера (пример в примерах: matomo.linuxbuz.com). Замените на ваш домен.
  • root‑доступ или пользователь с правами sudo.
  • Рекомендации по ресурсам: для небольшого сайта хватит 1 vCPU и 1–2 ГБ RAM; для средних сайтов — 2+ vCPU и 2–4 ГБ RAM.

Важно: используйте надёжные пароли для базы данных и аккаунтов.

Подготовка системы

Обновите списки пакетов и установите базовые утилиты:

apt-get update -y

Установите вспомогательные утилиты:

apt-get install curl wget vim git unzip socat gnupg2 -y

После установки зависимостей переходите к следующему разделу.

Установка LEMP (Nginx + MariaDB + PHP)

Matomo написан на PHP и использует MySQL/MariaDB. Установим Nginx, MariaDB и PHP 7.4 с необходимыми расширениями:

apt-get install nginx mariadb-server php7.4 php7.4-cli php7.4-fpm php7.4-common php7.4-curl php7.4-gd php7.4-xml php7.4-mbstring php7.4-mysql -y

После установки проверьте статус служб и включите их в автозагрузку при необходимости:

systemctl enable --now nginx
systemctl enable --now php7.4-fpm
systemctl enable --now mariadb

Если вы используете UFW, откройте порты для HTTP/HTTPS:

ufw allow 'Nginx Full'

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

Выполните вход в MariaDB и создайте базу данных и пользователя для Matomo. Замените ‘password’ на сложный пароль.

mysql

После входа выполните:

MariaDB [(none)]> CREATE DATABASE matomodb;
MariaDB [(none)]> GRANT ALL ON matomodb.* TO 'matomo' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Совет: храните учетные данные в менеджере паролей или в зашифрованном хранилище.

Загрузка Matomo

Скачайте последнюю версию Matomo в корень веб‑сервера:

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

Распакуйте и установите владельца файлов на www‑data:

unzip matomo.zip
chown -R www-data:www-data /var/www/html/matomo

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

Создайте конфигурацию виртуального хоста для Matomo:

nano /etc/nginx/sites-available/matomo.conf

Добавьте следующие строки (замените server_name на ваш домен):

server {

  listen 80;
  server_name matomo.linuxbuz.com;
  root /var/www/html/matomo/;
  index index.php;

  location ~ ^/(index|matomo|piwik|js/index).php {
    include snippets/fastcgi-php.conf;
    fastcgi_param HTTP_PROXY ""; 
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; 
  }
  
  location = /plugins/HeatmapSessionRecording/configs.php {
    include snippets/fastcgi-php.conf;
    fastcgi_param HTTP_PROXY "";
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
  }

  location ~* ^.+\.php$ {
    deny all;
    return 403;
  }

  location / {
    try_files $uri $uri/ =404;
  }
  
  location ~ /(config|tmp|core|lang) {
    deny all;
    return 403;
  }

  location ~ \.(gif|ico|jpg|png|svg|js|css|htm|html|mp3|mp4|wav|ogg|avi|ttf|eot|woff|woff2|json)$ {
    allow all;
  }

  location ~ /(libs|vendor|plugins|misc/user) {
    deny all;
    return 403;
  }

}

Сохраните файл и активируйте сайт:

ln -s /etc/nginx/sites-available/matomo.conf /etc/nginx/sites-enabled/
nginx -t
systemctl restart nginx

Если тест nginx -t показывает ошибки, исправьте конфигурацию до перезапуска.

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

Установите Certbot с плагином для Nginx и выпустите сертификат:

apt-get install python3-certbot-nginx -y
certbot --nginx -d matomo.linuxbuz.com

Следуйте интерактивным подсказкам: укажите email и согласитесь с условиями. Certbot спросит, нужно ли принудительно перенаправлять HTTP на HTTPS. Для новых сайтов безопаснее выбрать перенаправление на HTTPS.

После успешного выпуска сертификата вы увидите сообщения о сохранении сертификатов и пути к ним в /etc/letsencrypt/live/<ваш_домен>/.

Совет: certbot автоматически создаёт cron/системный таймер для автоматического обновления сертификатов. Проверьте автоповтор:

certbot renew --dry-run

Доступ к Matomo и установка через веб‑мастер

Откройте в браузере https://matomo.linuxbuz.com и пройдите через шаги установщика.

Установка Matomo — приветственный экран установщика

Нажмите кнопку NEXT. Проверка системы покажет, какие компоненты доступны.

Проверка системы — требуются модули и права

Далее настройте подключение к базе данных, используя созданные ранее данные.

Настройка базы данных Matomo

Инсталлятор создаст таблицы в базе данных.

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

Создайте суперпользователя — логин, пароль и email.

Создание суперпользователя Matomo

Добавьте сайт и получите код отслеживания.

Добавление сайта в Matomo — настройки

Код отслеживания Matomo для вставки на сайт

Пример кода отслеживания Matomo на сайте

После завершения вы увидите экран успешной установки.

Matomo успешно установлен — финальный экран

Нажмите CONTINUE TO MATOMO и войдите в систему.

Экран входа Matomo — форма логина

После входа вы попадёте в дашборд.

Панель управления Matomo — главный дашборд

Чеклист для ролей

  • Операторы/DevOps:
    • Убедиться, что домен указывает на сервер.
    • Настроить бэкапы /etc/letsencrypt и баз данных.
    • Настроить автоматическое обновление пакетов и сертификатов.
  • Администратор Matomo:
    • Создать суперпользователя и настроить права.
    • Настроить цели и KPI для отслеживания.
    • Настроить ротацию логов и мониторинг нагрузки.
  • Разработчики:
    • Вставить код отслеживания на страницы.
    • Проверить корректность событий и целей.

Альтернативные способы установки

  • Docker: используйте официальный образ matomo в связке с базой в контейнере MariaDB. Это упрощает изоляцию и обновления.
  • Snap/Packaged: некоторые дистрибутивы имеют пакеты, но они могут быть устаревшими.
  • Использовать управляемый хостинг Matomo Cloud, если не хотите поддерживать инфраструктуру.

Когда Docker эффективен: если вы хотите быстро запускать и обновлять Matomo, а также изолировать зависимости. Когда не подходит: если нужна тонкая настройка производительности и интеграция с локальными сервисами.

Отладка и часто встречаемые проблемы

  • Проблема: 502 Bad Gateway после настройки Nginx.
    • Проверьте, что php7.4-fpm запущен и сокет указан правильно (unix:/var/run/php/php7.4-fpm.sock).
  • Проблема: Ошибки прав доступа к файлам.
    • Убедитесь, что владелец папки /var/www/html/matomo — www-data и права корректны.
  • Проблема: Certbot не может проверить домен.
    • Проверьте DNS и доступ по HTTP (порт 80) внешне.

Краткий чек для отладки:

  • nginx -t
  • systemctl status php7.4-fpm
  • tail -n 100 /var/log/nginx/error.log
  • tail -n 100 /var/log/php7.4-fpm.log

Безопасность и рекомендации

  • Используйте сложные пароли и двухфакторную аутентификацию (если доступно).
  • Ограничьте доступ к админ‑панели по IP при возможности.
  • Регулярно обновляйте ОС и PHP.
  • Делайте регулярные резервные копии базы данных и каталога /etc/letsencrypt.
  • Отключите ненужные плагины и сервисы.

Критерии приёмки

  • Matomo доступен по HTTPS на вашем домене.
  • Установщик завершил все проверки без ошибок.
  • Таблицы созданы в базе данных matomodb.
  • Вы можете войти под суперпользователем и видеть дашборд.
  • Код отслеживания корректно передаёт данные (проверить реальное посещение).

Факто‑бокс

  • Поддерживаемые версии ОС: Ubuntu 20.04 (инструкция ориентирована на неё).
  • Минимальные ресурсы: для тестовой установки — 1 vCPU и ~1–2 ГБ RAM.
  • Компоненты: Nginx, MariaDB, PHP 7.4, Certbot (Let’s Encrypt).

Итоги

Вы успешно установили Matomo на Ubuntu 20.04 с Nginx и сертификатом Let’s Encrypt. Система теперь готова собирать данные о посетителях и сохранять их на вашем сервере. Настройте цели, отчёты и резервное копирование, чтобы поддерживать надежность и безопасность.

Важно: замените примеры доменов и паролей на реальные значения и храните секреты в безопасном месте.

Если нужны примеры Docker‑конфигурации, шаблоны бэкапов или помощь с миграцией с Google Analytics — напишите, и я подготовлю инструкции.

Поделиться: 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 быстро