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

Установка Mautic на CentOS 7 с LEMP (Nginx + MariaDB + PHP-FPM)

• 7 min read • DevOps • Обновлено 26 Nov 2025
Mautic на CentOS 7 — установка и настройка LEMP
Mautic на CentOS 7 — установка и настройка LEMP

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


План действий

  1. Установить репозиторий EPEL
  2. Установить Nginx
  3. Установить и настроить MariaDB
  4. Установить и настроить PHP-FPM (PHP 7.0 в примере)
  5. Скачать Mautic
  6. Настроить виртуальный хост Nginx
  7. Завершить веб-установку 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

Проверка работы Nginx с помощью netstat

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;

Создание базы данных mautic в MariaDB

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

Проверка конфигурации PHP и 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

Тест и применение конфигурации Nginx

Alt: Скриншот команды nginx -t и перезапуска сервиса nginx

Важно: замените server_name на действительный домен и при необходимости добавьте настройки для HTTPS (ниже есть рекомендации).

Шаг 7 — Веб-установка Mautic

Откройте в браузере домен вашего сервера, например:

http://mautic.hakase-labs.co

Вы попадёте на страницу установки Mautic. Проверьте, чтобы все необходимые расширения PHP и системные требования были удовлетворены.

Установщик Mautic в браузере

Alt: Скриншот стартовой страницы веб-установщика Mautic

Нажмите “Next Step” чтобы продолжить. На странице базы данных введите параметры базы:

Указание данных базы для Mautic

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

Создайте администратора для Mautic:

Добавление администратора

Alt: Форма создания учётной записи администратора Mautic

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

Конфигурация почты в Mautic

Alt: Опции настройки отправки почты (SMTP, sendmail, API и т.д.)

После входа вы увидите административную панель:

Вход и панель управления Mautic

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

Дашборд 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/).

Безопасность и эксплуатация (рекомендации)

  1. HTTPS: настройте SSL (Let’s Encrypt) и перенаправление с HTTP на HTTPS.
    • Пример быстро: certbot с плагином для nginx или получение сертификата вручную.
  2. Бекапы: регулярно делайте дампы базы данных и бекапы каталога /var/www/mautic.
  3. Обновления: тестируйте обновления Mautic на тестовой среде перед продом.
  4. 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).
  5. Ограничение доступа к базе: если возможно, разрешайте подключение к БД только с локального хоста или через VPN.
  6. SMTP: используйте авторизованный SMTP-сервис или отдельный почтовый сервер с запасной стратегией для уменьшения риска попадания в спам.
  7. Права доступа: минимизируйте права файловой системы. В продакшн не давайте 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.

Тест-кейсы и примеры проверок

  1. Публичная доступность: HTTP 200 на корневой URL (после редиректа на /s/install если ещё не установлено).
  2. Подключение к БД: Mautic успешно создаёт таблицы; проверка наличия таблиц mautic_users и других.
  3. Отправка почты: отправить тестовое письмо через настроенный SMTP.
  4. Логирование: в логах не должны появляться критические ошибки при выполнении основных сценариев.

Миграция и обновления

  • Перед обновлением всегда делайте бекап БД и файловой системы.
  • При переходе между крупными версиями 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. Следуйте чеклистам, тестируйте и применяйте рекомендации по безопасности перед переводом в боевой режим.

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