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

Получить VPS arrow_forward
eco Начальный Туториал

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

calendar_month Aug 25, 2026 schedule 21 мин. чтения visibility 23 просмотров
Развёртывание 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):


# Mautic Cron Jobs
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 "Database backup created: ${BACKUP_DIR}/mautic_db_${DATE}.sql.gz"
else
    echo "Error: Database backup failed!"
    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 files backup created: ${BACKUP_DIR}/mautic_files_${DATE}.tar.gz"
else
    echo "Error: Mautic files backup failed!"
    exit 1
fi

# 3. Очистка старых бэкапов
echo "Cleaning up old backups..."
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 "Old backups cleaned."

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

echo "Backup process finished."

Сделайте скрипт исполняемым:


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 и делайте бэкап.

Troubleshooting + 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 и регулярно проводя аудит безопасности сервера.

Был ли этот гайд полезен?

Ваш отзыв помогает нам улучшать гайды.

Поделиться записью:

Отправьте гайд тому, кому он может пригодиться.

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.