Розгортання 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 критично важливий для стабільної та швидкої роботи 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 готовий до подальшої конфігурації.