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

Установка Mautic на Ubuntu 20.04 с LEMP и SSL Letsencrypt

• 8 min read • DevOps • Обновлено 24 Nov 2025
Mautic на Ubuntu 20.04 — установка LEMP + SSL
Mautic на Ubuntu 20.04 — установка LEMP + SSL

Краткое описание

Mautic — это open-source платформа для маркетинговой автоматизации, которую можно размещать на собственном сервере. Она помогает управлять контактами, создавать лендинги, кампании и рассылки. В этой инструкции развернём Mautic на Ubuntu 20.04 с Nginx, PHP-FPM 7.3 и MySQL, а также настроим SSL через Let’s Encrypt и добавим рекомендации по безопасности и обслуживанию.

Важно: Mautic в данной инструкции запускается под PHP 7.3 — более новые версии PHP могут требовать совместимости с вашим релизом Mautic.

Основные требования

  • Сервер с Ubuntu 20.04
  • Минимум 2 ГБ оперативной памяти (рекомендуется 4 ГБ для продакшн-нагрузки)
  • Доменное имя, указывающее на IP сервера
  • Права администратора (root или sudo)

Что мы сделаем:

  • Установим Nginx
  • Установим PHP-FPM 7.3 и расширения
  • Установим MySQL и создадим базу данных
  • Получим сертификат Let’s Encrypt
  • Скачиваем и распакуем Mautic
  • Настроим Nginx server block для Mautic
  • Проведём постустановочную проверку и добавим рекомендации по эксплуатации

Шаг 1 — Установка Nginx

Сначала обновите списки пакетов и установите Nginx, затем запустите и включите сервис в автозагрузку.

sudo apt update
sudo apt install nginx -y

Запустите сервис и добавьте его в автозагрузку:

systemctl start nginx
systemctl enable nginx

Проверка статуса:

systemctl status nginx

Установка Nginx на Ubuntu 20.04

Nginx установлен и готов принимать подключения. Для тестирования откройте IP сервера в браузере.


Шаг 2 — Установка и настройка PHP-FPM 7.3

Mautic в этой инструкции требует PHP 7.3. Добавим PPA с пакета Ondřej Surý и установим необходимые расширения.

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php -y

Установка PHP 7.3 и расширений:

sudo apt install -y php7.3-fpm php7.3-mbstring php7.3-xml php7.3-mysql php7.3-common php7.3-gd php7.3-json php7.3-cli php7.3-curl php7.3-zip php7.3-imap php7.3-intl

Отредактируйте php.ini:

cd /etc/php/7.3/fpm/
vim php.ini

Измените или раскомментируйте как минимум следующие параметры:

date.timezone = "UTC"
cgi.fix_pathinfo = 0

Запустите и включите сервис PHP-FPM:

systemctl start php7.3-fpm
systemctl enable php7.3-fpm

Проверка статуса:

systemctl status php7.3-fpm
ss -pl | grep php

Запуск PHP-FPM Проверка статуса PHP-FPM

Обратите внимание: PHP-FPM работает через unix-сокет /var/run/php/php7.3-fpm.sock. Это важно для конфигурации Nginx.


Шаг 3 — Установка и настройка MySQL

Установите сервер MySQL и выполните утилиту безопасности:

sudo apt install mysql-server mysql-client
systemctl start mysql
systemctl enable mysql
systemctl status mysql

Запустите безопасную настройку пароля:

mysql_secure_installation

Следуйте подсказкам: задайте пароль для root и ответьте ‘Y’ на предлагаемое удаление тестовой базы, запрет удалённого входа для root и т. п.

Создайте базу данных и пользователя для Mautic (пример имён и пароля — замените на свои значения):

mysql -u root -p
CREATE DATABASE mautic_db;
CREATE USER mauticuser@localhost IDENTIFIED WITH mysql_native_password BY 'mautic321';
GRANT ALL PRIVILEGES ON mautic_db.* TO mauticuser@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit

Установка MySQL на Ubuntu 20.04

Теперь база данных и пользователь готовы.


Шаг 4 — Генерация SSL с помощью Let’s Encrypt

Для HTTPS понадобится действующий домен, доступный по IP сервера. Установите certbot и получите сертификат в режиме standalone (Nginx будет временно остановлен).

sudo apt install certbot
systemctl stop nginx
certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [email protected] -d mautic.hakase-labs.io

После успешного выполнения сертификаты окажутся в /etc/letsencrypt/live/your-domain.com/

Сертификат выдан — можно перезапустить Nginx после настройки server block.


Шаг 5 — Загрузка исходников Mautic

Установите unzip и скачайте последнюю версию Mautic в /var/www:

sudo apt install unzip
cd /var/www/
wget -q https://www.mautic.org/download/latest
unzip -qq latest -d mautic
sudo chown -R www-data:www-data /var/www/mautic

Скачивание исходников Mautic


Шаг 6 — Настройка Nginx server block для Mautic

Создайте файл конфигурации в /etc/nginx/sites-available/mautic. Вставьте конфигурацию, адаптируя server_name и пути к сертификатам.

cd /etc/nginx/sites-available/
vim mautic

Вставьте (подставьте свой домен и путь к сертификатам):

server {
    listen               80;
    server_name          mautic.hakase-labs.io;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    server_name mautic.hakase-labs.io;

    ssl_certificate /etc/letsencrypt/live/mautic.hakase-labs.io/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mautic.hakase-labs.io/privkey.pem;

    ssl_session_timeout 5m;
    ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";

    client_max_body_size 4M;
    client_body_buffer_size 128k;

    root /var/www/mautic;
    index index.php index.html index.htm index.nginx-debian.html;

    location / {
      try_files $uri $uri/ =404;
    }

    location ~ .php$ {
      include snippets/fastcgi-php.conf;
      fastcgi_pass unix:/run/php/php7.3-fpm.sock;
    }

    location ~* ^/index.php {
      fastcgi_split_path_info ^(.+.php)(/.+)$;
      fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      include fastcgi_params;
      fastcgi_buffer_size 128k;
      fastcgi_buffers 256 16k;
      fastcgi_busy_buffers_size 256k;
      fastcgi_temp_file_write_size 256k;
    }
}

Активируйте сайт и проверьте конфигурацию Nginx:

ln -s /etc/nginx/sites-available/mautic /etc/nginx/sites-enabled/
nginx -t
systemctl restart nginx

Очистите и прогрейте кеш Mautic:

cd /var/www/mautic/app
rm -rf cache/*
./console cache:warmup

Настройка Nginx для Mautic


Шаг 7 — Постустановочная настройка Mautic через веб-интерфейс

Откройте в браузере https://ваш-домен/ . Инсталлятор проверит окружение. Убедитесь, что получите сообщение “Ready to install” перед продолжением.

Проверка окружения Mautic

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

Конфигурация БД Mautic

Создание администратора Mautic

Настройка почты Mautic

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

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

Войдите под учётной записью администратора и проверьте дашборд.

Дашборд Mautic

Установка завершена.


Дополнительные рекомендации по эксплуатации и безопасности

Ниже собраны практические советы для продакшн-развёртывания.

Обновления и резервное копирование

  • Регулярно делайте бэкапы файлов Mautic (/var/www/mautic) и базы данных. Используйте cron + mysqldump или решения для резервного копирования.
  • Перед обновлением Mautic создавайте резервную копию и тестируйте обновление в staging-среде.

Права доступа

  • Директория Mautic должна принадлежать веб-пользователю:
sudo chown -R www-data:www-data /var/www/mautic
  • Не давайте лишних прав 777. Достаточно 755 для каталогов и 644 для файлов, при необходимости — корректируйте только на время установки.

Firewall и защита сервисов

  • Ограничьте доступ по SSH (используйте ключи, меняйте порт, отключите root-login по паролю).
  • Разрешите в firewall только нужные порты: 80, 443 и SSH (22 или ваш порт).

Fail2ban и защита от брутфорса

  • Установите fail2ban для защиты SSH и панели Mautic от неудачных попыток входа.

Заголовки HTTP для безопасности

Добавьте в конфигурацию Nginx заголовки HSTS, X-Frame-Options, X-Content-Type-Options и Content-Security-Policy по необходимости.

Cron задачи Mautic

Mautic требует задач cron для обработки очередей и рассылок. Пример записей в crontab для пользователя www-data:

# Обновление списков контактов
* * * * * php /var/www/mautic/bin/console mautic:segments:update
* * * * * php /var/www/mautic/bin/console mautic:campaigns:rebuild
* * * * * php /var/www/mautic/bin/console mautic:campaigns:trigger
* * * * * php /var/www/mautic/bin/console mautic:emails:send

Подробный набор cron-заданий зависит от вашего объёма рассылок и настроек очередей.

Почтовая доставляемость

  • Для улучшения доставляемости настраивайте DKIM, SPF и DMARC в DNS.
  • Рассмотрите выделенный SMTP-провайдер (SendGrid, Mailgun и т. п.) для больших объёмов.
  • Тестируйте отправку на несколько почтовых провайдеров.

Логи и мониторинг

  • Следите за логами Nginx (/var/log/nginx/), PHP-FPM и системными логами.
  • Подключите мониторинг (Prometheus, Grafana, Zabbix) для отслеживания загрузки CPU, памяти и времени отклика PHP.

Тонкие настройки производительности

  • Включите OPcache в php.ini для ускорения выполнения PHP.
  • При большом количестве контактов используйте Redis/ElasticSearch для кеша и поиска (Mautic поддерживает внешние кэши).
  • Настройте параметры PHP-FPM (pm.max_children, pm.start_servers и т. п.) в зависимости от доступной памяти.

Устранение распространённых проблем

  1. Nginx возвращает 502 Bad Gateway
  • Проверьте статус php7.3-fpm: systemctl status php7.3-fpm
  • Убедитесь, что fastcgi_pass указывает на правильный сокет (/run/php/php7.3-fpm.sock).
  1. Ошибки доступа к файлам
  • Проверьте права: chown -R www-data:www-data /var/www/mautic
  • Убедитесь, что SELinux/AppArmor не блокируют доступ (на Ubuntu обычно AppArmor — проверьте логи).
  1. Проблемы с отправкой почты
  • Проверьте настройки SMTP в админке Mautic.
  • Проверьте логи Mautic (app/logs) и почтового сервера.
  1. Ошибки при установке пакетов PHP
  • Убедитесь, что добавлен PPA и выполнено apt update перед установкой.

Совместимость и миграция (матрица версий)

КомпонентРекомендуемая версия в этом гайдеПримечания
Ubuntu20.04 LTSСовместимость с PPA и пакетом PHP7.3
NginxПоследняя в репозитории Ubuntu 20.04Подходит для статической раздачи и проксирования PHP-FPM
PHP7.3Mautic в данном гайде тестировался под 7.3. Новые версии PHP требуют проверки совместимости
MySQL5.7 / 8.0Mautic поддерживает обе, но проверьте sql_mode и кодировку

При миграции с другой среды: экспортируйте базу данных и файлы Mautic, протестируйте на staging перед релизом.


Ролевые чек-листы

Чек-лист для системного администратора:

  • Обновить пакеты и установить Nginx
  • Установить PHP-FPM и необходимые расширения
  • Настроить MySQL: создать базу и пользователя
  • Получить SSL-сертификат и настроить Nginx
  • Настроить cron и мониторинг
  • Настроить бэкапы и восстановление

Чек-лист для маркетолога при запуске:

  • Создать тестовую кампанию и сегмент
  • Настроить SMTP и отправить тестовое письмо
  • Проверить трекинг на сайте (пиксель/скрипт Mautic)
  • Настроить интеграции (если есть)

Мини-методология постустановочного тестирования

  1. Проверка доступности сайта по HTTPS и валидности сертификата.
  2. Тестовый вход в панель администратора.
  3. Создание тестового контакта и сегмента.
  4. Настройка и отправка тестовой рассылки на отдельный адрес.
  5. Контроль логов на предмет ошибок.
  6. Тест восстановления из резервной копии.

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

  • Сайт доступен по HTTPS без предупреждений.
  • Админ-панель запускается, в интерфейсе нет критических ошибок.
  • Успешное подключение к базе данных и выполнение миграций.
  • Успешная отправка тестовой почты (через выбранный SMTP).
  • Настроены регулярные бэкапы и cron-задачи.

Тест-кейсы и приёмочные критерии

  1. Установка: Сервер отвечает на порт 443 и отображает страницу входа Mautic.
  2. База данных: Вход в MySQL под mauticuser — успешен и может читать таблицы Mautic.
  3. Cron: Запуск mautic:emails:send не вызывает фатальных ошибок в логах.
  4. Безопасность: Попытка загрузки вредоносного файла блокируется (проверка заголовков и размера).

Бэкап и роллбек (короткий план)

  • Перед крупными изменениями: создавать snapshot VM или экспорт базы данных и архив www.
  • Для быстрого роллбека: восстановить дамп БД и распаковать архив /var/www/mautic.
  • Тестировать процесс восстановления регулярно.

Факт-бокс — ключевые рекомендации

  • Минимум оперативной памяти: 2 ГБ (рекомендуется 4 ГБ для продакшн).
  • Рекомендуемый веб-пользователь: www-data
  • Обязательные PHP-расширения: mbstring, xml, mysql, gd, curl, zip, intl
  • Рекомендуется выделенный SMTP-провайдер для массовых рассылок

Примечания по приватности и соответствию (GDPR)

  • При хранении контактных данных убедитесь, что вы соблюдаете требования местного законодательства по защите данных.
  • Настройте обработку согласий (consent) в Mautic и храните доказательства согласия.
  • При необходимости опишите политику обработки данных в вашем Privacy Policy.

Короткое объявление для команды (100–200 слов)

Развернута локальная инстанция Mautic на Ubuntu 20.04 с LEMP и SSL. Сервер доступен по HTTPS. Выполнены базовые настройки: Nginx, PHP-FPM 7.3, MySQL, cron-задания и SSL Let’s Encrypt. Администратор создан; почтовая отправка настроена для тестов. Рекомендуется провести совместное тестирование кампаний и подтвердить рабочую доставляемость писем. Перед масштабированием нужно настроить Redis/ElasticSearch и выделить дополнительную память. Бэкапы настроены и проверены в тестовом восстановлении.


Социальный предпросмотр

OG заголовок: Mautic на Ubuntu 20.04 — установка с LEMP и SSL OG описание: Быстрое руководство по развёртыванию Mautic с Nginx, PHP-FPM 7.3, MySQL и Let’s Encrypt. Подходит для self-hosted инстанций.


Резюме

  • Следуя инструкциям вы получите рабочую инстанцию Mautic на Ubuntu 20.04.
  • Проверьте совместимость версий PHP и MySQL перед установкой в продакшн.
  • Настройте cron, бэкапы и мониторинг для стабильной работы.

Если нужна помощь с переносом данных, настройкой очередей или интеграциями SMTP, опишите ваш стек и объёмы — можно подготовить план миграции и масштабирования.

Ссылки

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