bolt Valebyte VPS від $4/міс — NVMe, запуск за 60 секунд.

Отримати VPS arrow_forward
eco Початковий Туторіал

Розгортання Mautic

calendar_month Aug 25, 2026 schedule 21 хв. читання visibility 24 переглядів
Развёртывание Mautic на VPS для автоматизации маркетинга и email-рассылок
info

Потрібен сервер для цього гайду? Ми пропонуємо виділені сервери та VPS у 50+ країнах з миттєвим налаштуванням.

Потрібен сервер для цього гайду?

Розгорніть VPS або виділений сервер за хвилини.

Розгортання Mautic на VPS для автоматизації маркетингу та email-розсилок

TL;DR

У цьому детальному посібнику ми крок за кроком налаштуємо Mautic — потужну платформу для автоматизації маркетингу та email-розсилок — на власному віртуальному приватному сервері (VPS). Ви навчитеся встановлювати всі необхідні компоненти (Nginx, PHP, MySQL), конфігурувати Mautic, забезпечувати його безпеку за допомогою HTTPS та налаштовувати систему бекапів. В результаті ви отримаєте повністю функціональну, контрольовану вами систему для керування маркетинговими кампаніями, лідогенерації та автоматичних розсилок, не прив'язану до сторонніх SaaS-рішень.

  • Встановлення та налаштування Mautic 5.x на Ubuntu 24.04/26.04.
  • Використання Nginx, PHP 8.3/8.4 та MySQL 8.0 для оптимальної продуктивності.
  • Забезпечення безпеки сервера за допомогою UFW, Fail2Ban та SSH-ключів.
  • Налаштування HTTPS за допомогою Certbot (Let's Encrypt) для безпечного доступу.
  • Створення автоматизованих бекапів бази даних та файлів Mautic.
  • Вирішення типових проблем та рекомендації щодо масштабування.

Що ми налаштовуємо і навіщо

Схема: Що ми налаштовуємо і навіщо
Схема: Що ми налаштовуємо і навіщо

Ми будемо розгортати Mautic, потужну Open Source платформу для автоматизації маркетингу, на вашому власному VPS-сервері. Mautic дозволяє автоматизувати email-розсилки, керувати лідами, створювати лендінги, форми, сегментувати аудиторію та відстежувати поведінку користувачів на сайті. Це повноцінний інструмент для inbound-маркетингу, який може замінити дорогі комерційні рішення, такі як HubSpot, ActiveCampaign або Mailchimp, особливо якщо вам потрібен повний контроль над даними та функціональністю.

У підсумку, після завершення цього туторіалу, ви отримаєте готову до роботи інсталяцію Mautic, доступну за захищеним HTTPS-з'єднанням. Ви зможете одразу ж приступити до створення своїх перших кампаній, форм та розсилок, маючи повну впевненість у тому, що ваша система налаштована оптимально та безпечно.

Існують два основні підходи до використання Mautic: хмарні керовані рішення (Mautic Cloud, або сторонні хостинги, що пропонують Mautic як сервіс) та самостійне розгортання (self-hosted) на VPS або виділеному сервері. Хмарні рішення зручні для швидкого старту, оскільки провайдер бере на себе всі турботи щодо встановлення, оновлення та обслуговування. Однак вони часто мають обмеження за функціональністю, обсягом даних або кількістю контактів, а також можуть бути значно дорожчими при масштабуванні.

Самостійне розгортання на VPS, як ми будемо робити, дає вам повний контроль. Ви самі обираєте конфігурацію сервера, керуєте оновленнями, встановлюєте будь-які плагіни та інтеграції, і, що найважливіше, повністю володієте своїми даними. Це ідеальний варіант для розробників, solo-фаундерів SaaS-проектів або компаній, яким потрібна максимальна гнучкість, конфіденційність даних та оптимізація витрат у довгостроковій перспективі.

Який VPS-конфіг потрібен для цього завдання

Схема: Який VPS-конфіг потрібен для цього завдання
Схема: Який VPS-конфіг потрібен для цього завдання

Вибір правильної конфігурації VPS критично важливий для стабільної та швидкої роботи Mautic, особливо при зростанні вашої бази контактів та активності кампаній. Mautic — це PHP-додаток, який інтенсивно використовує базу даних та вимагає достатньо ресурсів для обробки завдань з розсилки та сегментації.

Мінімальні вимоги для Mautic (на початок 2026 року):

  • Процесор (CPU): Мінімум 2 ядра. Для невеликих проектів (до 10 000 контактів, кілька активних кампаній) цього буде достатньо. Для більших інсталяцій краще орієнтуватися на 4 ядра і вище.
  • Оперативна пам'ять (RAM): Мінімум 4 ГБ. Mautic, PHP-FPM та MySQL можуть бути досить ресурсоємними. 4 ГБ дозволять комфортно працювати з базою до 20 000-30 000 контактів. Для більш активних кампаній або великих баз даних рекомендується 8 ГБ.
  • Диск (Storage): Мінімум 80 ГБ NVMe SSD. SSD-накопичувачі значно прискорюють роботу бази даних та завантаження файлів Mautic. NVMe забезпечує максимальну продуктивність. 80 ГБ достатньо для самої системи, Mautic та кількох десятків тисяч контактів з їх активностями. Якщо ви плануєте зберігати багато зображень, відео або інших медіафайлів, знадобиться більше місця.
  • Мережа (Network): Порт 1 Гбіт/с з необмеженим трафіком (або достатнім обсягом, наприклад, 10 ТБ/міс). Mautic активно взаємодіє із зовнішніми SMTP-сервісами для розсилок та обробляє запити від веб-форм та трекінгових пікселів, тому стабільне та швидке мережеве з'єднання необхідне.

Рекомендований VPS-план для старту:

Для більшості початкових та середніх проектів (до 50 000 контактів, до 10 активних кампаній) оптимальним буде VPS з такими характеристиками:

  • CPU: 4 ядра
  • RAM: 8 ГБ
  • Диск: 160-200 ГБ NVMe SSD
  • Мережа: 1 Гбіт/с, 10 ТБ трафіку

Ви можете розглянути VPS із зазначеними характеристиками або аналогічні пропозиції від інших провайдерів.

Коли потрібен dedicated, а не VPS

Виділений сервер (dedicated server) стає необхідним, коли ваш проект досягає дійсно великих масштабів:

  • База контактів перевищує 200 000-500 000.
  • Ви надсилаєте мільйони листів на місяць.
  • У вас одночасно активно десятки складних кампаній з безліччю кроків та сегментів.
  • Потрібна максимальна продуктивність бази даних та PHP-обробки без впливу "сусідів" по VPS.
  • З'являються суворі вимоги до відповідності нормативним актам, які найкраще задовольняються на повністю ізольованому обладнанні.

У таких випадках, відповідний dedicated сервер зазвичай включає 8+ ядер CPU, 32+ ГБ RAM та кілька NVMe SSD у RAID-масиві. Ви можете підібрати відповідний dedicated сервер для таких завдань.

Локація: на що впливає

Вибір локації VPS впливає на кілька факторів:

  • Швидкість доступу для користувачів: Розміщуйте сервер ближче до вашої цільової аудиторії, щоб зменшити затримки (latency) при завантаженні форм, лендінгів та трекінгових скриптів.
  • Законодавство про дані (GDPR, CCPA): Якщо ви працюєте з персональними даними, переконайтеся, що локація сервера відповідає вимогам місцевого законодавства про захист даних.
  • Швидкість розсилок: Хоча більшість SMTP-провайдерів мають глобальні мережі, фізична близькість до них може незначно вплинути на швидкість доставки.

Зазвичай рекомендується обирати локацію сервера в регіоні, де проживає більшість ваших клієнтів або де знаходиться ваш основний бізнес.

Підготовка сервера

Схема: Підготовка сервера
Схема: Підготовка сервера

Перед встановленням Mautic необхідно провести базове налаштування вашого нового VPS. Ми будемо використовувати Ubuntu Server 24.04 LTS (або 26.04 LTS, якщо до 2026 року вона стане доступною та стабільною) як операційну систему. Ці кроки забезпечать безпеку та стабільність вашої системи.

1. Підключення по SSH та оновлення системи

Спочатку підключіться до вашого VPS як користувач root, використовуючи IP-адресу, надану вашим провайдером. Замініть your_vps_ip на реальну IP-адресу вашого сервера.


ssh root@your_vps_ip
# Введіть пароль root, якщо потрібно

Після успішного підключення оновіть список пакетів та всі встановлені пакети до останніх версій. Це гарантує, що у вас є найсвіжіші виправлення безпеки та нові функції.


sudo apt update && sudo apt upgrade -y
# Оновлення списку пакетів та всіх встановлених пакетів

2. Створення нового користувача з правами sudo

Працювати під користувачем root небезпечно. Створимо нового користувача з обмеженими правами та додамо його до групи sudo.


adduser mauticuser
# Створення нового користувача 'mauticuser'
# Дотримуйтесь інструкцій: введіть пароль, потім можна пропустити інформацію про користувача
sudo usermod -aG sudo mauticuser
# Додавання 'mauticuser' до групи sudo, щоб він міг виконувати команди з правами адміністратора

3. Налаштування SSH-ключів (рекомендується)

Для підвищення безпеки замість паролів використовуйте SSH-ключі. Спочатку згенеруйте ключ на вашій локальній машині (якщо у вас його ще немає):


# На вашій локальній машині
ssh-keygen -t ed25519 -C "[email protected]"
# Генерація нового SSH-ключа типу Ed25519

Потім скопіюйте публічний ключ на ваш VPS для користувача mauticuser:


# На вашій локальній машині
ssh-copy-id mauticuser@your_vps_ip
# Копіювання публічного SSH-ключа на сервер

Тепер ви можете підключитися до сервера як mauticuser без пароля:


ssh mauticuser@your_vps_ip
# Підключення до сервера як 'mauticuser'

4. Відключення автентифікації за паролем для root (після налаштування SSH-ключів)

Відредагуйте файл конфігурації SSH-демона, щоб заборонити підключення за паролем для root та відключити автентифікацію за паролем загалом (після успішного налаштування SSH-ключів).


sudo nano /etc/ssh/sshd_config
# Відкриття файлу конфігурації SSH-демона

Знайдіть та змініть наступні рядки (або додайте, якщо їх немає):


PermitRootLogin prohibit-password
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Збережіть зміни (Ctrl+O, Enter) та вийдіть (Ctrl+X). Потім перезапустіть SSH-сервіс:


sudo systemctl restart sshd
# Перезапуск SSH-сервісу для застосування змін

5. Налаштування брандмауера UFW

Встановіть та налаштуйте Uncomplicated Firewall (UFW), щоб дозволити лише необхідні підключення.


sudo apt install ufw -y
# Встановлення UFW
sudo ufw allow OpenSSH
# Дозволити SSH-підключення (порт 22)
sudo ufw allow 'Nginx Full'
# Дозволити HTTP (порт 80) та HTTPS (порт 443) для веб-сервера Nginx
sudo ufw enable
# Увімкнення брандмауера. Підтвердіть 'y'
sudo ufw status
# Перевірка статусу брандмауера

6. Встановлення Fail2Ban

Fail2Ban захищає ваш сервер від атак методом підбору пароля, блокуючи IP-адреси, які роблять занадто багато невдалих спроб входу.


sudo apt install fail2ban -y
# Встановлення Fail2Ban
sudo systemctl enable fail2ban
# Увімкнення автоматичного запуску Fail2Ban при завантаженні системи
sudo systemctl start fail2ban
# Запуск сервісу Fail2Ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# Копіювання основного конфігу для створення локальної версії
# Це дозволить вашим змінам зберегтися при оновленні Fail2Ban
sudo nano /etc/fail2ban/jail.local
# Відкрийте файл і переконайтеся, що sshd увімкнено (enabled = true)
# Ви можете налаштувати bantime, findtime, maxretry на свій розсуд

Після змін у jail.local, перезапустіть Fail2Ban:


sudo systemctl restart fail2ban
# Перезапуск Fail2Ban для застосування нових налаштувань

Ваш сервер тепер базово налаштований та захищений. Можна переходити до встановлення основного ПЗ.

Встановлення ПЗ — покроково

Схема: Встановлення ПЗ — покроково
Схема: Встановлення ПЗ — покроково

Для роботи Mautic потрібен вебсервер (Nginx), інтерпретатор PHP з необхідними розширеннями та база даних (MySQL). Ми будемо встановлювати актуальні версії цих компонентів, які будуть стабільними та підтримуватимуться до 2026 року.

1. Встановлення Nginx

Nginx виступатиме в ролі вебсервера, що обслуговує запити до Mautic. Ми використовуємо його завдяки високій продуктивності та низькому споживанню ресурсів.


sudo apt install nginx -y
# Встановлення вебсервера Nginx
sudo systemctl enable nginx
# Увімкнення Nginx для автоматичного запуску під час завантаження системи
sudo systemctl start nginx
# Запуск сервісу Nginx

Перевірте, що Nginx працює, відкривши в браузері IP-адресу вашого сервера. Ви повинні побачити стандартну вітальну сторінку Nginx.

2. Встановлення MySQL Server

Mautic використовує базу даних для зберігання всієї інформації: контактів, кампаній, налаштувань. MySQL 8.0+ є чудовим вибором.


sudo apt install mysql-server -y
# Встановлення MySQL сервера (версія 8.0 або вище)
sudo mysql_secure_installation
# Запуск скрипта для посилення безпеки MySQL
# Дотримуйтесь інструкцій:
# - Встановіть плагін валідації паролів (рекомендується)
# - Встановіть надійний пароль для користувача root MySQL
# - Видаліть анонімних користувачів
# - Забороніть віддалений вхід для root
# - Видаліть тестову базу даних
# - Перезавантажте таблиці привілеїв

3. Встановлення PHP та необхідних розширень

Mautic 5.x та майбутні версії Mautic 6.x (актуальні на 2026 рік) вимагають PHP 8.3 або новішої версії. Ми встановимо PHP 8.3/8.4 та всі необхідні розширення.


sudo apt install php8.3-fpm php8.3-mysql php8.3-cli php8.3-gd php8.3-curl php8.3-intl php8.3-zip php8.3-mbstring php8.3-xml php8.3-soap php8.3-opcache php8.3-bcmath php8.3-gmp php8.3-imagick -y
# Встановлення PHP-FPM (FastCGI Process Manager) та всіх необхідних розширень
sudo systemctl enable php8.3-fpm
# Увімкнення PHP-FPM для автоматичного запуску
sudo systemctl start php8.3-fpm
# Запуск сервісу PHP-FPM

Для Mautic також рекомендується збільшити ліміти пам'яті та часу виконання в PHP. Відредагуйте файл php.ini:


sudo nano /etc/php/8.3/fpm/php.ini
# Відкриття файлу конфігурації PHP для PHP-FPM

Знайдіть та змініть наступні значення:


memory_limit = 512M
max_execution_time = 300
date.timezone = Europe/Moscow ; Встановіть ваш часовий пояс

Збережіть зміни та вийдіть. Потім перезапустіть PHP-FPM:


sudo systemctl restart php8.3-fpm
# Перезапуск PHP-FPM для застосування нових налаштувань

4. Створення бази даних для Mautic

Підключіться до MySQL від імені користувача root та створіть нову базу даних і користувача для Mautic.


sudo mysql -u root -p
# Підключення до MySQL як root
# Введіть пароль root MySQL, який ви встановили раніше

Всередині консолі MySQL виконайте наступні команди. Замініть mautic_db, mautic_user та strong_password на свої значення.


CREATE DATABASE mautic_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# Створення бази даних для Mautic
CREATE USER 'mautic_user'@'localhost' IDENTIFIED BY 'strong_password';
# Створення користувача для Mautic
GRANT ALL PRIVILEGES ON mautic_db. TO 'mautic_user'@'localhost';
# Надання всіх привілеїв користувачеві на базу даних
FLUSH PRIVILEGES;
# Оновлення привілеїв
EXIT;
# Вихід з консолі MySQL

5. Завантаження та встановлення Mautic

Перейдіть до директорії, де зберігатимуться файли Mautic, та завантажте останню стабільну версію. До 2026 року це, ймовірно, буде Mautic 5.x або 6.x. Ми будемо використовувати офіційний репозиторій GitHub для завантаження.


cd /var/www/
# Перехід до директорії для вебсайтів
sudo mkdir mautic
# Створення директорії для Mautic
sudo chown mauticuser:www-data mautic
# Встановлення власника директорії для користувача mauticuser та групи www-data
sudo chmod 775 mautic
# Встановлення прав доступу для директорії
cd mautic
# Перехід до директорії Mautic
sudo apt install unzip -y
# Встановлення утиліти для розпакування архівів
wget https://github.com/mautic/mautic/releases/download/5.1.0/5.1.0-update.zip -O mautic.zip
# Завантаження останньої стабільної версії Mautic (наприклад, 5.1.0, оновіть посилання на актуальну!)
# У 2026 році посилання буде на Mautic 5.x або 6.x, наприклад, https://github.com/mautic/mautic/releases/download/6.0.0/6.0.0-update.zip
sudo unzip mautic.zip -d .
# Розпакування архіву в поточну директорію
sudo rm mautic.zip
# Видалення архіву
sudo chown -R mauticuser:www-data /var/www/mautic
# Встановлення власника для всіх файлів Mautic
sudo find /var/www/mautic -type d -exec chmod 755 {} \;
# Встановлення прав 755 для всіх директорій
sudo find /var/www/mautic -type f -exec chmod 644 {} \;
# Встановлення прав 644 для всіх файлів
sudo chmod -R 775 /var/www/mautic/var
# Встановлення прав для директорії var (кеш, логи)
sudo chmod -R 775 /var/www/mautic/media
# Встановлення прав для директорії media
sudo chmod -R 775 /var/www/mautic/app/cache
# Встановлення прав для директорії app/cache
sudo chmod -R 775 /var/www/mautic/app/logs
# Встановлення прав для директорії app/logs

Тепер усі компоненти встановлені, і Mautic готовий до подальшої конфігурації.

Конфігурація

Схема: Конфігурація
Схема: Конфігурація

Після встановлення всіх компонентів необхідно налаштувати Nginx для обслуговування Mautic, забезпечити HTTPS-з'єднання та виконати початкове налаштування самого Mautic.

1. Налаштування Nginx для Mautic

Створіть новий файл конфігурації Nginx для вашого домену. Замініть your_domain.com на ваш фактичний домен.


sudo nano /etc/nginx/sites-available/your_domain.com
# Створення нового файлу конфігурації Nginx

Вставте наступний конфіг Nginx:


server {
    listen 80;
    server_name your_domain.com www.your_domain.com;
    root /var/www/mautic/docroot; # Mautic 5.x+ використовує піддиректорію docroot

    index index.php index.html index.htm;

    error_log /var/log/nginx/mautic_error.log;
    access_log /var/log/nginx/mautic_access.log;

    client_max_body_size 100M; # Збільшуємо ліміт на розмір завантажуваних файлів

    location / {
        try_files $uri /index.php$is_args$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }

    location ~ /(app|bin|cache|translations|vendor|src)/ {
        deny all;
        return 404;
    }

    location ~ /(composer.json|composer.lock|nginx.conf|Dockerfile) {
        deny all;
        return 404;
    }

    # Для Mautic 5.x+ рекомендується використання /media/images/
    location ~ ^/media/images/(.)$ {
        try_files $uri @asset;
        expires max;
        add_header Cache-Control "public";
    }

    location @asset {
        rewrite ^/media/images/(.)$ /media/images/$1 break;
        proxy_pass http://127.0.0.1:8000; # Замініть на ваш PHP-FPM сокет, якщо не використовується Nginx
    }
}

Збережіть файл та вийдіть. Потім активуйте конфігурацію, створивши символічне посилання, та перевірте синтаксис Nginx:


sudo ln -s /etc/nginx/sites-available/your_domain.com /etc/nginx/sites-enabled/
# Активація конфігурації Nginx
sudo nginx -t
# Перевірка синтаксису конфігурації Nginx
sudo systemctl restart nginx
# Перезапуск Nginx для застосування змін

Тепер, якщо ви введете http://your_domain.com у браузері, ви повинні побачити сторінку встановлення Mautic.

2. Налаштування HTTPS за допомогою Certbot (Let's Encrypt)

Для безпечного з'єднання та підвищення довіри SEO, налаштуємо HTTPS за допомогою безкоштовних сертифікатів Let's Encrypt через Certbot.


sudo apt install certbot python3-certbot-nginx -y
# Встановлення Certbot та плагіна для Nginx
sudo certbot --nginx -d your_domain.com -d www.your_domain.com
# Запуск Certbot для отримання та встановлення сертифікатів
# Дотримуйтесь інструкцій: введіть email, погодьтеся з умовами, виберіть перенаправлення HTTP на HTTPS

Certbot автоматично змінить ваш конфіг Nginx, додавши секції для HTTPS. Він також налаштує автоматичне оновлення сертифікатів. Перевірити статус автоматичного оновлення можна так:


sudo systemctl status certbot.timer
# Перевірка статусу таймера Certbot для автоматичного оновлення
sudo certbot renew --dry-run
# Тестовий запуск оновлення сертифікатів

3. Завершення встановлення Mautic через вебінтерфейс

Відкрийте ваш домен (https://your_domain.com) у браузері. Ви побачите сторінку встановлення Mautic. Дотримуйтесь кроків:

  1. Крок 1: Права доступу. Переконайтеся, що всі права доступу відзначені зеленим.
  2. Крок 2: Налаштування бази даних. Введіть дані, які ви створили раніше:
    • Database Driver: MySQL PDO
    • Database Host: localhost
    • Database Port: 3306
    • Database Name: mautic_db
    • Database Username: mautic_user
    • Database Password: strong_password
    • Table Prefix: (можна залишити пустим або вказати mt_)
  3. Крок 3: Налаштування адміністратора. Створіть обліковий запис адміністратора Mautic. Використовуйте надійний пароль.
  4. Крок 4: Налаштування email. Налаштуйте SMTP-сервер для надсилання листів. Рекомендується використовувати зовнішній сервіс (SendGrid, Mailgun, Amazon SES) замість прямого SMTP з VPS, щоб уникнути проблем з доставкою.

Після завершення ви будете перенаправлені на сторінку входу в адмін-панель Mautic.

4. Налаштування Cron-завдань для Mautic

Mautic вимагає виконання регулярних фонових завдань (обробка email-черг, сегментація, оновлення даних). Ці завдання налаштовуються через Cron.


sudo -u mauticuser crontab -e
# Відкриття crontab для користувача mauticuser

Вставте наступні рядки в кінець файлу (переконайтеся, що шлях до PHP CLI правильний, у цьому випадку /usr/bin/php8.3):


# Cron-завдання Mautic
5,20,35,50     /usr/bin/php8.3 /var/www/mautic/bin/console mautic:segments:update > /dev/null 2>&1
# Оновлення сегментів (кожні 15 хвилин)
10,25,40,55     /usr/bin/php8.3 /var/www/mautic/bin/console mautic:campaigns:update > /dev/null 2>&1
# Оновлення кампаній (кожні 15 хвилин)
0,15,30,45     /usr/bin/php8.3 /var/www/mautic/bin/console mautic:campaigns:trigger > /dev/null 2>&1
# Запуск тригерів кампаній (кожні 15 хвилин)
0,30     /usr/bin/php8.3 /var/www/mautic/bin/console mautic:emails:send > /dev/null 2>&1
# Надсилання листів з черги (кожні 30 хвилин)
0 0    /usr/bin/php8.3 /var/www/mautic/bin/console mautic:maintenance:cleanup --days=365 > /dev/null 2>&1
# Очищення старих даних (раз на день, наприклад, логів старше 365 днів)
0 2    /usr/bin/php8.3 /var/www/mautic/bin/console mautic:webhooks:send > /dev/null 2>&1
# Надсилання вебхуків (раз на день)

Збережіть та закрийте файл. Cron-завдання виконуватимуться автоматично.

5. Перевірка працездатності

Переконайтеся, що Mautic доступний і працює коректно.


curl -I https://your_domain.com
# Перевірка HTTP-заголовків вашого домену. Повинен бути статус 200 OK та перенаправлення на HTTPS.

Увійдіть в адмін-панель Mautic. Перейдіть до розділу "Налаштування" -> "Системна інформація". Переконайтеся, що всі компоненти відзначені як робочі, і немає критичних помилок.

Резервне копіювання та обслуговування

Схема: Резервне копіювання та обслуговування
Схема: Резервне копіювання та обслуговування

Регулярне резервне копіювання (бекапи) та своєчасне обслуговування — ключ до стабільної та безпечної роботи Mautic. У цьому розділі ми розглянемо, що саме потрібно бекапити, як автоматизувати процес та як підтримувати систему в актуальному стані.

1. Що бекапити

Для повного відновлення Mautic вам знадобляться три основні групи даних:

  • База даних Mautic: Містить усі ваші контакти, кампанії, сегменти, email-и, звіти та інші динамічні дані. Це найважливіший компонент.
  • Файли Mautic: Включають ядро Mautic, плагіни, теми, завантажені медіафайли (зображення, документи), а також файли конфігурації. Директорія /var/www/mautic/.
  • Конфігураційні файли сервера: Налаштування Nginx, PHP-FPM, Certbot, Fail2Ban, UFW. Хоча їх можна відновити вручну, бекап прискорить процес.

2. Простий скрипт автобекапу (cron + rsync + mysqldump)

Створимо простий скрипт, який виконуватиме бекап бази даних та файлів, а потім зберігатиме їх в окрему директорію. Для зберігання бекапів рекомендується використовувати зовнішнє сховище, таке як S3-сумісне хмарне сховище або окремий VPS.


sudo mkdir -p /opt/backups/mautic
# Створення директорії для зберігання бекапів
sudo chown mauticuser:mauticuser /opt/backups/mautic
# Встановлення власника для директорії бекапів
sudo nano /opt/backups/mautic_backup.sh
# Створення скрипта бекапу

Вставте наступний код у файл mautic_backup.sh. Замініть mautic_user, strong_password, mautic_db на свої дані. Також вкажіть шлях до зовнішнього сховища, якщо воно використовується.


#!/bin/bash

# Параметри бази даних
DB_USER="mautic_user"
DB_PASS="strong_password"
DB_NAME="mautic_db"

# Шляхи
MAUTIC_ROOT="/var/www/mautic"
BACKUP_DIR="/opt/backups/mautic"
DATE=$(date +%Y%m%d%H%M%S)
KEEP_DAYS=7 # Скільки днів зберігати бекапи

# 1. Бекап бази даних
echo "Dumping database..."
mysqldump -u ${DB_USER} -p"${DB_PASS}" ${DB_NAME} | gzip > ${BACKUP_DIR}/mautic_db_${DATE}.sql.gz

if [ $? -eq 0 ]; then
    echo "Бекап бази даних створено: ${BACKUP_DIR}/mautic_db_${DATE}.sql.gz"
else
    echo "Помилка: Бекап бази даних не вдався!"
    exit 1
fi

# 2. Бекап файлів Mautic (без кешу та логів)
echo "Archiving Mautic files..."
tar -czf ${BACKUP_DIR}/mautic_files_${DATE}.tar.gz \
    --exclude='${MAUTIC_ROOT}/var/cache/' \
    --exclude='${MAUTIC_ROOT}/var/logs/' \
    --exclude='${MAUTIC_ROOT}/vendor/' \
    ${MAUTIC_ROOT}

if [ $? -eq 0 ]; then
    echo "Бекап файлів Mautic створено: ${BACKUP_DIR}/mautic_files_${DATE}.tar.gz"
else
    echo "Помилка: Бекап файлів Mautic не вдався!"
    exit 1
fi

# 3. Очищення старих бекапів
echo "Очищення старих бекапів..."
find ${BACKUP_DIR} -type f -name "mautic_db_.sql.gz" -mtime +${KEEP_DAYS} -delete
find ${BACKUP_DIR} -type f -name "mautic_files_.tar.gz" -mtime +${KEEP_DAYS} -delete
echo "Старі бекапи очищено."

# 4. Синхронізація із зовнішнім сховищем (приклад для rsync)
# Якщо у вас є зовнішній сервер або S3-бакет, налаштуйте синхронізацію тут.
# Наприклад, для rsync:
# rsync -avz --delete ${BACKUP_DIR}/ user@remote_server:/path/to/remote/backups/
# Для S3-сумісного сховища використовуйте s3cmd або aws cli

echo "Процес резервного копіювання завершено."

Зробіть скрипт виконуваним:


sudo chmod +x /opt/backups/mautic_backup.sh
# Робимо скрипт виконуваним

Додайте скрипт у crontab користувача mauticuser для щоденного виконання:


sudo -u mauticuser crontab -e
# Відкриття crontab для користувача mauticuser

Додайте рядок у кінець файлу, наприклад, для запуску о 3:00 ночі:


0 3    /opt/backups/mautic_backup.sh > /dev/null 2>&1
# Щоденний запуск скрипта бекапу о 3:00 ночі

3. Куди зберігати бекапи

Ніколи не зберігайте бекапи на тому ж сервері, що й робочі дані. Це зводить нанівець сенс бекапу при виході сервера з ладу. Рекомендовані варіанти:

  • Зовнішнє S3-сумісне сховище: Хмарні сервіси (Amazon S3, DigitalOcean Spaces, Backblaze B2) пропонують надійне та недороге зберігання. Використовуйте утиліти типу s3cmd або rclone для синхронізації.
  • Окремий VPS або виділений сервер: Ви можете використовувати інший сервер виключно для зберігання бекапів, синхронізуючи їх по SSH за допомогою rsync.
  • Локальне сховище із синхронізацією: Для дуже маленьких проєктів можна тимчасово зберігати бекапи локально, але обов'язково налаштувати їх автоматичне завантаження на хмарний диск (Google Drive, Dropbox) за допомогою скриптів.

4. Оновлення: rolling vs maintenance window

Підтримка Mautic та всіх компонентів системи в актуальному стані критично важлива для безпеки та отримання нових функцій. Використовуйте наступну стратегію:

  • Оновлення ОС (Ubuntu): Виконуйте sudo apt update && sudo apt upgrade -y регулярно, наприклад, раз на тиждень. Якщо потрібне перезавантаження ядра, плануйте перезавантаження сервера.
  • Оновлення PHP, Nginx, MySQL: Ці компоненти зазвичай оновлюються разом з ОС. Однак, при переході на нову мажорну версію (наприклад, з PHP 8.3 на 8.4), плануйте це як окреме вікно обслуговування, оскільки можуть знадобитися зміни в конфігурації або коді Mautic.
  • Оновлення Mautic: Mautic випускає регулярні оновлення (патчі, мінорні та мажорні версії).
    • Патчі та мінорні оновлення (5.1.0 -> 5.1.1): Зазвичай можуть бути застосовані в "rolling" режимі, але завжди рекомендується робити бекап перед оновленням. Використовуйте команду php /var/www/mautic/bin/console mautic:update:find і потім php /var/www/mautic/bin/console mautic:update:apply.
    • Мажорні оновлення (5.x -> 6.x): Вимагають планування "maintenance window" (вікна обслуговування). Заздалегідь вивчіть офіційну документацію щодо оновлення Mautic, оскільки можуть бути зміни у вимогах до PHP, структурі бази даних або файловій системі. Обов'язково зробіть повний бекап перед таким оновленням.

Завжди тестуйте оновлення на стейджинг-сервері, якщо це можливо, перш ніж застосовувати їх на продакшені. Якщо стейджинг-сервера немає, ретельно вивчайте changelog і робіть бекап.

Вирішення проблем + FAQ

Навіть при найретельнішому налаштуванні можуть виникнути проблеми. Цей розділ допоможе вам діагностувати та вирішити найпоширеніші з них, а також відповість на часті запитання.

Mautic видає помилку 500 Internal Server Error або білу сторінку

Що перевірити:

  1. Логи Nginx: Перевірте /var/log/nginx/mautic_error.log.
  2. Логи PHP-FPM: Перевірте /var/log/php8.3-fpm.log (або аналогічний шлях).
  3. Логи Mautic: Перевірте /var/www/mautic/var/logs/mautic_prod.php.
  4. Права доступу до файлів: Переконайтеся, що користувач www-data (або користувач, під яким працює Nginx та PHP-FPM) має права на читання/запис у директорії Mautic, особливо в /var/www/mautic/var. Виконайте sudo chown -R www-data:www-data /var/www/mautic та sudo chmod -R 775 /var/www/mautic.
  5. Ліміти PHP: Переконайтеся, що memory_limit та max_execution_time у php.ini достатні (наприклад, 512M та 300).
Як виправити: Виходячи з логів, усуньте проблему. Найчастіше це невірні права, нестача пам'яті або синтаксичні помилки в конфігурації PHP/Nginx.

Email-и не надсилаються з Mautic

Що перевірити:

  1. Налаштування SMTP в Mautic: У розділі "Налаштування" -> "Конфігурація" -> "Налаштування Email". Переконайтеся, що дані SMTP-сервера (хост, порт, логін, пароль) вірні і ви використовуєте надійний зовнішній SMTP-провайдер.
  2. Логи Mautic: Шукайте помилки, пов'язані з надсиланням email, у /var/www/mautic/var/logs/mautic_prod.php.
  3. Cron-завдання: Переконайтеся, що mautic:emails:send запускається регулярно (sudo -u mauticuser crontab -l).
  4. Наявність спам-фільтрів: Переконайтеся, що ваш домен правильно налаштований (SPF, DKIM, DMARC записи в DNS), щоб уникнути потрапляння в спам.
Як виправити: Виправте дані SMTP, переконайтеся в роботі cron, перевірте записи DNS вашого домену.

Mautic працює повільно або зависає при великих обсягах даних

Що перевірити:

  1. Ресурси сервера: Використовуйте htop, free -h, df -h для моніторингу CPU, RAM та диска. Чи не вистачає ресурсів?
  2. Логи MySQL: Шукайте повільні запити.
  3. Індекси бази даних: Переконайтеся, що MySQL правильно індексує таблиці Mautic.
  4. Кеш Mautic: Переконайтеся, що кеш працює (Mautic використовує файловий кеш за замовчуванням, можна налаштувати Redis для великих інсталяцій).
  5. Cron-завдання: Переконайтеся, що вони не перекриваються і виконуються своєчасно, не створюючи надмірне навантаження.
Як виправити: Збільште ресурси VPS, оптимізуйте запити (можливо, знадобиться допомога спеціаліста з баз даних), розгляньте використання Redis для кешування, якщо навантаження дуже високе.

Який VPS-конфіг мінімально підійде?

Для тестової установки або дуже невеликого проєкту (до 5000 контактів, 1-2 кампанії) можна почати з 2 ядер CPU, 4 ГБ RAM та 80 ГБ NVMe SSD. Однак, як тільки ви почнете активно використовувати Mautic, рекомендується перейти на конфігурацію з 4 ядрами, 8 ГБ RAM та 160+ ГБ NVMe SSD для забезпечення стабільної та швидкої роботи.

Що обрати — VPS чи dedicated для цього завдання?

Для більшості користувачів, що починають з Mautic, VPS є оптимальним вибором. Він пропонує достатню гнучкість, продуктивність та економічність. Dedicated сервер стає виправданим при дуже великих обсягах даних (сотні тисяч контактів), високій частоті розсилок (мільйони листів на місяць) або якщо у вас є суворі вимоги до повної ізоляції ресурсів та максимальної продуктивності, які не може забезпечити VPS через віртуалізацію.

Як оновити Mautic?

Увійдіть до Mautic як адміністратор. Перейдіть до "Налаштування" (значок шестерні у правому верхньому куті) -> "Компоненти" -> "Оновити Mautic". Якщо доступне оновлення, Mautic запропонує його встановити. Також можна оновити через CLI, використовуючи команди php /var/www/mautic/bin/console mautic:update:find та php /var/www/mautic/bin/console mautic:update:apply. Завжди робіть бекап перед оновленням!

Як збільшити ліміт на завантаження файлів у Mautic?

Збільште значення upload_max_filesize та post_max_size у файлі /etc/php/8.3/fpm/php.ini. Також переконайтеся, що в конфігурації Nginx (/etc/nginx/sites-available/your_domain.com) параметр client_max_body_size встановлений на достатнє значення (наприклад, 100M). Після змін перезапустіть PHP-FPM та Nginx.

Висновки та наступні кроки

Схема: Висновки та наступні кроки
Схема: Висновки та наступні кроки

Вітаємо! Ви успішно розгорнули та налаштували Mautic на своєму VPS. Тепер у вас є потужний та гнучкий інструмент для автоматизації маркетингу, який повністю знаходиться під вашим контролем. Ви отримали не тільки функціональну платформу, а й цінний досвід у налаштуванні серверної інфраструктури, що стане в пригоді для будь-яких майбутніх проєктів.

Ось кілька кроків, куди можна рухатися далі, щоб максимально ефективно використовувати ваш Mautic:

  • Інтеграція з CRM та іншими сервісами: Mautic має безліч плагінів для інтеграції з популярними CRM-системами (Salesforce, HubSpot, Zoho CRM), CMS (WordPress, Drupal), а також із зовнішніми SMTP-провайдерами для покращення доставлення листів. Вивчіть доступні плагіни та налаштуйте їх під свої потреби.
  • Оптимізація продуктивності: Для великих інсталяцій розгляньте використання Redis або Memcached для кешування, а також налаштування оптимізації MySQL. Можливо, знадобиться горизонтальне масштабування, якщо навантаження стає занадто високим.
  • Розширена безпека: Додатково посильте безпеку, налаштувавши двофакторну автентифікацію для входу в Mautic, використовуючи складніші правила для Fail2Ban та регулярно проводячи аудит безпеки сервера.

Чи був цей гайд корисним?

Ваш відгук допомагає нам покращувати гайди.

Share this post:

Надішліть гайд тому, кому він може стати в пригоді.

Telegram VKVK WhatsApp Facebook LinkedIn XX

розгортання mautic на vps для автоматизації маркетингу та email-розсилок
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.