Установка Mautic на Ubuntu 20.04 с LEMP и SSL Letsencrypt
Краткое описание
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 установлен и готов принимать подключения. Для тестирования откройте 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 работает через 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
Теперь база данных и пользователь готовы.
Шаг 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
Шаг 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
Шаг 7 — Постустановочная настройка Mautic через веб-интерфейс
Откройте в браузере https://ваш-домен/ . Инсталлятор проверит окружение. Убедитесь, что получите сообщение “Ready to install” перед продолжением.

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



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

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

Установка завершена.
Дополнительные рекомендации по эксплуатации и безопасности
Ниже собраны практические советы для продакшн-развёртывания.
Обновления и резервное копирование
- Регулярно делайте бэкапы файлов 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 и т. п.) в зависимости от доступной памяти.
Устранение распространённых проблем
- Nginx возвращает 502 Bad Gateway
- Проверьте статус php7.3-fpm: systemctl status php7.3-fpm
- Убедитесь, что fastcgi_pass указывает на правильный сокет (/run/php/php7.3-fpm.sock).
- Ошибки доступа к файлам
- Проверьте права: chown -R www-data:www-data /var/www/mautic
- Убедитесь, что SELinux/AppArmor не блокируют доступ (на Ubuntu обычно AppArmor — проверьте логи).
- Проблемы с отправкой почты
- Проверьте настройки SMTP в админке Mautic.
- Проверьте логи Mautic (app/logs) и почтового сервера.
- Ошибки при установке пакетов PHP
- Убедитесь, что добавлен PPA и выполнено apt update перед установкой.
Совместимость и миграция (матрица версий)
| Компонент | Рекомендуемая версия в этом гайде | Примечания |
|---|---|---|
| Ubuntu | 20.04 LTS | Совместимость с PPA и пакетом PHP7.3 |
| Nginx | Последняя в репозитории Ubuntu 20.04 | Подходит для статической раздачи и проксирования PHP-FPM |
| PHP | 7.3 | Mautic в данном гайде тестировался под 7.3. Новые версии PHP требуют проверки совместимости |
| MySQL | 5.7 / 8.0 | Mautic поддерживает обе, но проверьте sql_mode и кодировку |
При миграции с другой среды: экспортируйте базу данных и файлы Mautic, протестируйте на staging перед релизом.
Ролевые чек-листы
Чек-лист для системного администратора:
- Обновить пакеты и установить Nginx
- Установить PHP-FPM и необходимые расширения
- Настроить MySQL: создать базу и пользователя
- Получить SSL-сертификат и настроить Nginx
- Настроить cron и мониторинг
- Настроить бэкапы и восстановление
Чек-лист для маркетолога при запуске:
- Создать тестовую кампанию и сегмент
- Настроить SMTP и отправить тестовое письмо
- Проверить трекинг на сайте (пиксель/скрипт Mautic)
- Настроить интеграции (если есть)
Мини-методология постустановочного тестирования
- Проверка доступности сайта по HTTPS и валидности сертификата.
- Тестовый вход в панель администратора.
- Создание тестового контакта и сегмента.
- Настройка и отправка тестовой рассылки на отдельный адрес.
- Контроль логов на предмет ошибок.
- Тест восстановления из резервной копии.
Критерии приёмки
- Сайт доступен по HTTPS без предупреждений.
- Админ-панель запускается, в интерфейсе нет критических ошибок.
- Успешное подключение к базе данных и выполнение миграций.
- Успешная отправка тестовой почты (через выбранный SMTP).
- Настроены регулярные бэкапы и cron-задачи.
Тест-кейсы и приёмочные критерии
- Установка: Сервер отвечает на порт 443 и отображает страницу входа Mautic.
- База данных: Вход в MySQL под mauticuser — успешен и может читать таблицы Mautic.
- Cron: Запуск mautic:emails:send не вызывает фатальных ошибок в логах.
- Безопасность: Попытка загрузки вредоносного файла блокируется (проверка заголовков и размера).
Бэкап и роллбек (короткий план)
- Перед крупными изменениями: создавать 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, опишите ваш стек и объёмы — можно подготовить план миграции и масштабирования.
Ссылки
- Официальная документация Mautic: https://docs.mautic.org/en
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента