Установка Mautic на CentOS 7 с LEMP (Nginx + MariaDB + PHP-FPM)
Important: следуйте инструкциям как пользователь с правами root или через sudo. Это руководство предполагает чистую систему CentOS 7.
Что такое Mautic
Mautic — это открытая, самохостимая платформа маркетинговой автоматизации. Она помогает собирать и сегментировать контакты, строить кампании, отправлять маркетинговые письма и отслеживать поведение на сайте.
Короткое определение терминов:
- LEMP: Linux + Nginx + MariaDB/MySQL + PHP-FPM.
- PHP-FPM: реализация FastCGI Process Manager для PHP.
Основные цели руководства
- Установить и настроить LEMP-стек на CentOS 7.
- Подготовить базу данных и пользователя для Mautic.
- Установить и настроить Mautic в /var/www/mautic.
- Обеспечить базовую безопасность и провести тесты приёмки.
Входные требования
- Сервер с CentOS 7.
- Доступ root или эквивалентные привилегии sudo.
- Доступ в интернет с сервера для загрузки пакетов и исходников.
Варианты использования (поиск намерения)
Primary intent: установка Mautic на CentOS 7 Related variants: установка Mautic LEMP, Mautic Nginx, Mautic MariaDB, Mautic PHP-FPM, самохостинг Mautic
План действий
- Установить репозиторий EPEL
- Установить Nginx
- Установить и настроить MariaDB
- Установить и настроить PHP-FPM (PHP 7.0 в примере)
- Скачать Mautic
- Настроить виртуальный хост Nginx
- Завершить веб-установку Mautic
Шаг 1 — Установка репозитория EPEL
Добавьте EPEL репозиторий в систему:
yum -y install epel-releaseПосле выполнения пакет epel-release будет установлен и репозиторий доступен.
Шаг 2 — Установка Nginx
Установите Nginx из EPEL:
yum -y install nginxЗапустите и включите автозапуск:
systemctl start nginx
systemctl enable nginxПроверьте прослушиваемые порты (пример):
netstat -plntu
Alt: Скриншот вывода netstat, показывающий прослушиваемые порты и процесс nginx
Шаг 3 — Установка и настройка MariaDB
Mautic поддерживает MySQL (минимум 5.5.3). В этом руководстве используется MariaDB 10.0 (совместима с MySQL 5.5).
Установите MariaDB:
yum -y install mariadb-serverЗапустите сервис и включите автозапуск:
systemctl start mariadb
systemctl enable mariadbЗащитите установку и задайте пароль root:
mysql_secure_installationОбычно отвечают Y на все вопросы для базовой защиты:
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] YСоздайте базу данных и пользователя для Mautic (пример):
mysql -u root -p
create database mautic;
grant all on mautic.* to 'mauticuser'@'localhost' IDENTIFIED BY 'aqwe123';
flush privileges;
exit;
Alt: Скриншот командной строки с созданием базы данных и пользователя для Mautic
Совет: используйте сложный пароль и по возможности ограничьте доступ по хостам.
Шаг 4 — Установка и настройка PHP-FPM
Mautic требует PHP 5.6.19 или новее. В этом примере используется PHP 7.0 из репозитория webtatic.
Добавьте webtatic репозиторий:
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpmУстановите PHP-FPM и необходимые расширения:
yum -y install php70w-fpm php70w-mbstring php70w-xml php70w-mysql php70w-common php70w-gd php70w-json php70w-cli php70w-curl php70w-zip php70w-xml php70w-mcrypt php70w-imap php70w-intl php70w-processКонфигурация PHP:
Откройте /etc/php.ini и отредактируйте следующие параметры:
vim /etc/php.iniУстановите часовой пояс, например UTC:
date.timezone = "UTC"Отключите cgi.fix_pathinfo для безопасности:
cgi.fix_pathinfo = 0Настройте путь сохранения сессий:
session.save_path = "/var/lib/php/session"Настройка PHP-FPM pool:
vim /etc/php-fpm.d/www.confИзмените пользователя и группу на nginx и переключитесь на unix-сокет:
user = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660Создайте папку для сессий и задайте владельца:
mkdir -p /var/lib/php/session/
chown -R nginx:nginx /var/lib/php/session/Запустите PHP-FPM и включите автозапуск:
systemctl start php-fpm
systemctl enable php-fpmПроверьте сокет (пример):
netstat -pl | grep php-fpm.sock
Alt: Скриншот вывода netstat с информацией о php-fpm.sock
Примечание: если вы планируете использовать FPM через TCP-порт (127.0.0.1:9000), скорректируйте конфигурацию nginx и www.conf соответственно.
Шаг 5 — Загрузка Mautic
Создайте каталог для веб-приложений и скачайте Mautic:
mkdir -p /var/www
cd /var/www/
wget https://www.mautic.org/download/latest
unzip latest -d mautic/Если unzip отсутствует:
yum -y install unzipСмените владельца на nginx:
sudo chown -R nginx:nginx mautic/Webroot для Mautic: /var/www/mautic
Шаг 6 — Настройка виртуального хоста Nginx для Mautic
Создайте конфигурацию в /etc/nginx/conf.d/mautic.conf:
cd /etc/nginx/
vim conf.d/mautic.confПример конфигурации:
server {
listen 80;
listen [::]:80;
server_name mautic.hakase-labs.co;
root /var/www/mautic;
index index.php index.html index.htm index.nginx-debian.html;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include fastcgi.conf;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
}
location ~* ^/index.php {
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm/php-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:
nginx -t
systemctl restart nginx
Alt: Скриншот команды nginx -t и перезапуска сервиса nginx
Важно: замените server_name на действительный домен и при необходимости добавьте настройки для HTTPS (ниже есть рекомендации).
Шаг 7 — Веб-установка Mautic
Откройте в браузере домен вашего сервера, например:
Вы попадёте на страницу установки Mautic. Проверьте, чтобы все необходимые расширения PHP и системные требования были удовлетворены.

Alt: Скриншот стартовой страницы веб-установщика Mautic
Нажмите “Next Step” чтобы продолжить. На странице базы данных введите параметры базы:

Alt: Форма ввода имени базы, пользователя и пароля для Mautic
Создайте администратора для Mautic:

Alt: Форма создания учётной записи администратора Mautic
При необходимости настройте параметры электронной почты (SMTP) на шаге конфигурации почты, либо пропустите и настройте позже в интерфейсе.

Alt: Опции настройки отправки почты (SMTP, sendmail, API и т.д.)
После входа вы увидите административную панель:

Alt: Экран входа в Mautic

Alt: Скриншот панели управления Mautic с основными метриками
Поздравляем — установка завершена.
Проверки и критерии приёмки
Критерии приёмки:
- Страница установки Mautic доступна по домену и отображается без ошибок.
- Установлены и запущены сервисы: nginx, mariadb, php-fpm.
- PHP-FPM обслуживает PHP через unix-сокет (/var/run/php-fpm/php-fpm.sock) или TCP, как настроено.
- Mautic успешно подключается к базе данных и создаёт таблицы.
- Админ-панель доступна после создания учётной записи.
Тесты приёмки (примеры):
- Открыть /s/health или аналогичные эндпоинты Mautic для проверки состояния.
- Создать тестовую кампанию, список контактов и отправить тестовое письмо.
- Проверить логи nginx и php-fpm на наличие ошибок (обычно /var/log/nginx/ и /var/log/php-fpm/).
Безопасность и эксплуатация (рекомендации)
- HTTPS: настройте SSL (Let’s Encrypt) и перенаправление с HTTP на HTTPS.
- Пример быстро: certbot с плагином для nginx или получение сертификата вручную.
- Бекапы: регулярно делайте дампы базы данных и бекапы каталога /var/www/mautic.
- Обновления: тестируйте обновления Mautic на тестовой среде перед продом.
- SELinux/Firewalld:
- Если включён firewalld, разрешите HTTP/HTTPS:
firewall-cmd --add-service=http --add-service=https --permanent; firewall-cmd --reload. - Если включён SELinux, настройте контексты для /var/www/mautic и сокета php-fpm (может потребоваться chcon или semodule).
- Если включён firewalld, разрешите HTTP/HTTPS:
- Ограничение доступа к базе: если возможно, разрешайте подключение к БД только с локального хоста или через VPN.
- SMTP: используйте авторизованный SMTP-сервис или отдельный почтовый сервер с запасной стратегией для уменьшения риска попадания в спам.
- Права доступа: минимизируйте права файловой системы. В продакшн не давайте world-write права.
Альтернативные подходы
- Использовать Apache (LAMP) вместо Nginx — Mautic работает и с Apache + mod_php или PHP-FPM.
- Запускать Mautic в контейнере Docker — упрощает переносимость и обновления; есть официальные и сообществные образы.
- Использовать управляемый облачный сервис/провайдера Mautic, если вы не хотите заниматься поддержкой инфраструктуры.
Когда этот метод не подойдёт:
- У вас ограниченные права хостинга (нужен доступ к root для установки пакетов).
- Ваша инфраструктура требует контейнеризации и orchestration (Kubernetes) — лучше использовать Docker-ориентированную инструкцию.
Ролевые чеклисты
Системный администратор:
- Подготовить сервер (обновления OS).
- Установить и настроить nginx, mariadb, php-fpm.
- Настроить резервное копирование и мониторинг.
Маркетолог/Администратор Mautic:
- Создать админ-учётную запись.
- Настроить SMTP/поставщика почты.
- Импортировать контакты и проверить кампании и формы.
DevOps/Инженер релизов:
- Автоматизировать развёртывание (Ansible, Terraform, Docker).
- Настроить CI/CD для безопасных обновлений Mautic.
Тест-кейсы и примеры проверок
- Публичная доступность: HTTP 200 на корневой URL (после редиректа на /s/install если ещё не установлено).
- Подключение к БД: Mautic успешно создаёт таблицы; проверка наличия таблиц
mautic_usersи других. - Отправка почты: отправить тестовое письмо через настроенный SMTP.
- Логирование: в логах не должны появляться критические ошибки при выполнении основных сценариев.
Миграция и обновления
- Перед обновлением всегда делайте бекап БД и файловой системы.
- При переходе между крупными версиями Mautic читайте release notes — могут потребоваться шаги по миграции схемы БД.
- Проверяйте совместимость PHP и расширений при обновлении Mautic.
Краткий глоссарий
- Mautic — платформа маркетинговой автоматизации.
- LEMP — стек Linux, Nginx, MariaDB/MySQL, PHP-FPM.
- PHP-FPM — менеджер процессов PHP для FastCGI.
- unix-сокет — локальный файл для обмена данными между процессами (быстрее TCP для localhost).
Частые проблемы и их решения
- Ошибка “502 Bad Gateway”: проверьте, запущен ли php-fpm и совпадает ли путь сокета в nginx и php-fpm.
- Ошибки прав доступа: убедитесь, что nginx владеет webroot и что PHP-FPM может читать/писать необходимые каталоги.
- Отсутствие расширения PHP (например, mbstring): установите соответствующий пакет и перезапустите php-fpm.
FAQ
Q: Как обеспечить доступ к Mautic по HTTPS? A: Получите сертификат (например через Let’s Encrypt), добавьте блок server для 443 и настройте redirect с 80 на 443. Инструмент certbot может автоматизировать процесс.
Q: Можно ли использовать MySQL вместо MariaDB? A: Да. MariaDB и MySQL совместимы; Mautic поддерживает MySQL. Команды и управление сервисом будут отличаться по названию пакетов.
Q: Как настроить очередь отправки писем и cron задачи? A: Mautic использует cron для отложенных задач. Добавьте задания cron для обновления кампаний, обработки очередей и отправки писем (см. документацию Mautic для конкретных команд cron).
Заключение
Это руководство проводит через полный цикл установки Mautic на CentOS 7 с LEMP-стеком: от подготовки репозиториев до финальной веб-установки и базовых рекомендаций по безопасности. Для продакшна добавьте HTTPS, бекапы, мониторинг и автоматизацию обновлений.
Summary: Установка Mautic — выполнимая задача на стандартном сервере CentOS 7. Следуйте чеклистам, тестируйте и применяйте рекомендации по безопасности перед переводом в боевой режим.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента