bolt Valebyte VPS desde $4/mes — NVMe, despliegue en 60s.

Obtener VPS arrow_forward
eco Principiante Tutorial/Cómo hacer

Despliegue de M

calendar_month Aug 25, 2026 schedule 21 min de lectura visibility 11 vistas
Развёртывание Mautic на VPS для автоматизации маркетинга и email-рассылок
info

¿Necesitas un servidor para esta guía? Ofrecemos servidores dedicados y VPS en más de 50 países con configuración instantánea.

¿Necesitas un VPS para esta guía?

Explore otras opciones de servidores dedicados en

Despliegue de Mautic en un VPS para automatización de marketing y envío de correos electrónicos

TL;DR

En esta guía detallada, configuraremos paso a paso Mautic, una potente plataforma para la automatización de marketing y envío de correos electrónicos, en su propio servidor privado virtual (VPS). Aprenderá a instalar todos los componentes necesarios (Nginx, PHP, MySQL), configurar Mautic, asegurar su funcionamiento con HTTPS y configurar un sistema de copias de seguridad. Como resultado, obtendrá un sistema completamente funcional y bajo su control para la gestión de campañas de marketing, generación de leads y envíos automáticos, sin depender de soluciones SaaS de terceros.

  • Instalación y configuración de Mautic 5.x en Ubuntu 24.04/26.04.
  • Uso de Nginx, PHP 8.3/8.4 y MySQL 8.0 para un rendimiento óptimo.
  • Garantía de seguridad del servidor con UFW, Fail2Ban y claves SSH.
  • Configuración de HTTPS con Certbot (Let's Encrypt) para un acceso seguro.
  • Creación de copias de seguridad automatizadas de la base de datos y los archivos de Mautic.
  • Resolución de problemas comunes y recomendaciones de escalado.

Qué configuramos y por qué

Esquema: Qué configuramos y por qué
Esquema: Qué configuramos y por qué

Desplegaremos Mautic, una potente plataforma de código abierto para la automatización de marketing, en su propio servidor VPS. Mautic permite automatizar el envío de correos electrónicos, gestionar leads, crear landing pages, formularios, segmentar audiencias y rastrear el comportamiento de los usuarios en el sitio web. Es una herramienta completa para el marketing de entrada (inbound marketing) que puede reemplazar soluciones comerciales costosas como HubSpot, ActiveCampaign o Mailchimp, especialmente si necesita control total sobre los datos y la funcionalidad.

Al final de este tutorial, obtendrá una instalación de Mautic lista para usar, accesible a través de una conexión HTTPS segura. Podrá comenzar de inmediato a crear sus primeras campañas, formularios y envíos, con la plena confianza de que su sistema está configurado de manera óptima y segura.

Existen dos enfoques principales para usar Mautic: soluciones gestionadas en la nube (Mautic Cloud, o alojamientos de terceros que ofrecen Mautic como servicio) y el despliegue autoalojado (self-hosted) en un VPS o servidor dedicado. Las soluciones en la nube son convenientes para un inicio rápido, ya que el proveedor se encarga de todas las tareas de instalación, actualización y mantenimiento. Sin embargo, a menudo tienen limitaciones en cuanto a funcionalidad, volumen de datos o número de contactos, y también pueden ser significativamente más caras al escalar.

El despliegue autoalojado en un VPS, como haremos nosotros, le da control total. Usted mismo elige la configuración del servidor, gestiona las actualizaciones, instala cualquier plugin e integración y, lo que es más importante, posee completamente sus datos. Esta es la opción ideal para desarrolladores, fundadores individuales de proyectos SaaS o empresas que requieren máxima flexibilidad, confidencialidad de datos y optimización de costos a largo plazo.

Qué configuración de VPS se necesita para esta tarea

Esquema: Qué configuración de VPS se necesita para esta tarea
Esquema: Qué configuración de VPS se necesita para esta tarea

La elección de la configuración correcta del VPS es crucial para el funcionamiento estable y rápido de Mautic, especialmente a medida que crece su base de contactos y la actividad de sus campañas. Mautic es una aplicación PHP que utiliza intensivamente la base de datos y requiere suficientes recursos para procesar tareas de envío y segmentación.

Requisitos mínimos para Mautic (a principios de 2026):

  • Procesador (CPU): Mínimo 2 núcleos. Para proyectos pequeños (hasta 10.000 contactos, varias campañas activas) esto será suficiente. Para instalaciones más grandes, es mejor apuntar a 4 núcleos o más.
  • Memoria RAM: Mínimo 4 GB. Mautic, PHP-FPM y MySQL pueden ser bastante exigentes. 4 GB permitirán trabajar cómodamente con una base de datos de hasta 20.000-30.000 contactos. Para campañas más activas o bases de datos grandes, se recomiendan 8 GB.
  • Disco (Almacenamiento): Mínimo 80 GB NVMe SSD. Las unidades SSD aceleran significativamente el funcionamiento de la base de datos y la carga de archivos de Mautic. NVMe proporciona el máximo rendimiento. 80 GB son suficientes para el sistema en sí, Mautic y varias decenas de miles de contactos con sus actividades. Si planea almacenar muchas imágenes, videos u otros archivos multimedia, necesitará más espacio.
  • Red (Network): Puerto de 1 Gbit/s con tráfico ilimitado (o un volumen suficiente, por ejemplo, 10 TB/mes). Mautic interactúa activamente con servicios SMTP externos para envíos y procesa solicitudes de formularios web y píxeles de seguimiento, por lo que es necesaria una conexión de red estable y rápida.

Plan de VPS recomendado para empezar:

Para la mayoría de los proyectos iniciales y medianos (hasta 50.000 contactos, hasta 10 campañas activas), un VPS con las siguientes características será óptimo:

  • CPU: 4 núcleos
  • RAM: 8 GB
  • Disco: 160-200 GB NVMe SSD
  • Red: 1 Gbit/s, 10 TB de tráfico

Puede considerar un VPS con las características indicadas o ofertas similares de otros proveedores.

Cuándo se necesita un servidor dedicado y no un VPS

Un servidor dedicado (dedicated server) se vuelve necesario cuando su proyecto alcanza escalas realmente grandes:

  • La base de contactos supera los 200.000-500.000.
  • Envía millones de correos electrónicos al mes.
  • Tiene docenas de campañas complejas activas simultáneamente con múltiples pasos y segmentos.
  • Se requiere el máximo rendimiento de la base de datos y el procesamiento PHP sin la influencia de los "vecinos" del VPS.
  • Surgen requisitos estrictos de cumplimiento normativo que se satisfacen mejor con hardware completamente aislado.

En tales casos, un servidor dedicado adecuado suele incluir 8+ núcleos de CPU, 32+ GB de RAM y varios NVMe SSD en un arreglo RAID. Puede elegir un servidor dedicado adecuado para estas tareas.

Ubicación: qué factores influye

La elección de la ubicación del VPS influye en varios factores:

  • Velocidad de acceso para los usuarios: Aloje el servidor más cerca de su público objetivo para reducir la latencia al cargar formularios, landing pages y scripts de seguimiento.
  • Legislación de datos (GDPR, CCPA): Si trabaja con datos personales, asegúrese de que la ubicación del servidor cumple con los requisitos de la legislación local de protección de datos.
  • Velocidad de envío: Aunque la mayoría de los proveedores de SMTP tienen redes globales, la proximidad física a ellos puede influir ligeramente en la velocidad de entrega.

Normalmente se recomienda elegir la ubicación del servidor en la región donde reside la mayoría de sus clientes o donde se encuentra su negocio principal.

Preparación del servidor

Esquema: Preparación del servidor
Esquema: Preparación del servidor

Antes de instalar Mautic, es necesario realizar una configuración básica de su nuevo VPS. Utilizaremos Ubuntu Server 24.04 LTS (o 26.04 LTS, si para 2026 está disponible y estable) como sistema operativo. Estos pasos garantizarán la seguridad y estabilidad de su sistema.

1. Conexión SSH y actualización del sistema

Primero, conéctese a su VPS como usuario root, utilizando la dirección IP proporcionada por su proveedor. Reemplace your_vps_ip con la dirección IP real de su servidor.


ssh root@your_vps_ip
# Ingrese la contraseña de root, si es necesario

Después de una conexión exitosa, actualice la lista de paquetes y todos los paquetes instalados a las últimas versiones. Esto garantiza que tenga las últimas correcciones de seguridad y nuevas funciones.


sudo apt update && sudo apt upgrade -y
# Actualización de la lista de paquetes y de todos los paquetes instalados

2. Creación de un nuevo usuario con privilegios sudo

Trabajar como usuario root no es seguro. Crearemos un nuevo usuario con privilegios limitados y lo añadiremos al grupo sudo.


adduser mauticuser
# Creación de un nuevo usuario 'mauticuser'
# Siga las instrucciones: ingrese la contraseña, luego puede omitir la información del usuario
sudo usermod -aG sudo mauticuser
# Añadiendo 'mauticuser' al grupo sudo para que pueda ejecutar comandos con privilegios de administrador

3. Configuración de claves SSH (recomendado)

Para mejorar la seguridad, use claves SSH en lugar de contraseñas. Primero, genere una clave en su máquina local (si aún no tiene una):


# En su máquina local
ssh-keygen -t ed25519 -C "[email protected]"
# Generación de una nueva clave SSH tipo Ed25519

Luego, copie la clave pública a su VPS para el usuario mauticuser:


# En su máquina local
ssh-copy-id mauticuser@your_vps_ip
# Copia de la clave SSH pública al servidor

Ahora puede conectarse al servidor como mauticuser sin contraseña:


ssh mauticuser@your_vps_ip
# Conexión al servidor como 'mauticuser'

4. Desactivación de la autenticación por contraseña para root (después de configurar las claves SSH)

Edite el archivo de configuración del demonio SSH para prohibir la conexión por contraseña para root y desactivar la autenticación por contraseña en general (después de configurar exitosamente las claves SSH).


sudo nano /etc/ssh/sshd_config
# Apertura del archivo de configuración del demonio SSH

Encuentre y modifique las siguientes líneas (o añádalas si no existen):


PermitRootLogin prohibit-password
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Guarde los cambios (Ctrl+O, Enter) y salga (Ctrl+X). Luego, reinicie el servicio SSH:


sudo systemctl restart sshd
# Reinicio del servicio SSH para aplicar los cambios

5. Configuración del firewall UFW

Instale y configure Uncomplicated Firewall (UFW) para permitir solo las conexiones necesarias.


sudo apt install ufw -y
# Instalación de UFW
sudo ufw allow OpenSSH
# Permitir conexiones SSH (puerto 22)
sudo ufw allow 'Nginx Full'
# Permitir HTTP (puerto 80) y HTTPS (puerto 443) para el servidor web Nginx
sudo ufw enable
# Activación del firewall. Confirme con 'y'
sudo ufw status
# Verificación del estado del firewall

6. Instalación de Fail2Ban

Fail2Ban protege su servidor contra ataques de fuerza bruta, bloqueando las direcciones IP que realizan demasiados intentos fallidos de inicio de sesión.


sudo apt install fail2ban -y
# Instalación de Fail2Ban
sudo systemctl enable fail2ban
# Activación del inicio automático de Fail2Ban al arrancar el sistema
sudo systemctl start fail2ban
# Inicio del servicio Fail2Ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# Copia del archivo de configuración principal para crear una versión local
# Esto permitirá que sus cambios se conserven al actualizar Fail2Ban
sudo nano /etc/fail2ban/jail.local
# Abra el archivo y asegúrese de que sshd esté habilitado (enabled = true)
# Puede configurar bantime, findtime, maxretry según su preferencia

Después de los cambios en jail.local, reinicie Fail2Ban:


sudo systemctl restart fail2ban
# Reinicio de Fail2Ban para aplicar las nuevas configuraciones

Su servidor ahora está configurado y protegido de forma básica. Puede proceder a la instalación del software principal.

Instalación de software — paso a paso

Diagrama: Instalación de software — paso a paso
Diagrama: Instalación de software — paso a paso

Para que Mautic funcione, se requiere un servidor web (Nginx), un intérprete de PHP con las extensiones necesarias y una base de datos (MySQL). Instalaremos las versiones actuales de estos componentes, que serán estables y compatibles hasta 2026.

1. Instalación de Nginx

Nginx actuará como el servidor web que atiende las solicitudes a Mautic. Lo utilizamos debido a su alto rendimiento y bajo consumo de recursos.


sudo apt install nginx -y
# Instalación del servidor web Nginx
sudo systemctl enable nginx
# Habilitar Nginx para el inicio automático al arrancar el sistema
sudo systemctl start nginx
# Iniciar el servicio Nginx

Verifique que Nginx esté funcionando abriendo la dirección IP de su servidor en el navegador. Debería ver la página de bienvenida estándar de Nginx.

2. Instalación de MySQL Server

Mautic utiliza una base de datos para almacenar toda la información: contactos, campañas, configuraciones. MySQL 8.0+ es una excelente elección.


sudo apt install mysql-server -y
# Instalación del servidor MySQL (versión 8.0 o superior)
sudo mysql_secure_installation
# Ejecutar script para reforzar la seguridad de MySQL
# Siga las instrucciones:
# - Instale el plugin de validación de contraseñas (recomendado)
# - Establezca una contraseña segura para el usuario root de MySQL
# - Elimine usuarios anónimos
# - Prohíba el inicio de sesión remoto para root
# - Elimine la base de datos de prueba
# - Recargue las tablas de privilegios

3. Instalación de PHP y extensiones necesarias

Mautic 5.x y futuras versiones de Mautic 6.x (actuales para 2026) requieren PHP 8.3 o una versión más reciente. Instalaremos PHP 8.3/8.4 y todas las extensiones necesarias.


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
# Instalación de PHP-FPM (FastCGI Process Manager) y todas las extensiones necesarias
sudo systemctl enable php8.3-fpm
# Habilitar PHP-FPM para el inicio automático
sudo systemctl start php8.3-fpm
# Iniciar el servicio PHP-FPM

Para Mautic, también se recomienda aumentar los límites de memoria y tiempo de ejecución en PHP. Edite el archivo php.ini:


sudo nano /etc/php/8.3/fpm/php.ini
# Abrir el archivo de configuración de PHP para PHP-FPM

Encuentre y modifique los siguientes valores:


memory_limit = 512M
max_execution_time = 300
date.timezone = Europe/Moscow ; Establezca su zona horaria

Guarde los cambios y salga. Luego, reinicie PHP-FPM:


sudo systemctl restart php8.3-fpm
# Reiniciar PHP-FPM para aplicar las nuevas configuraciones

4. Creación de la base de datos para Mautic

Conéctese a MySQL como el usuario root y cree una nueva base de datos y un usuario para Mautic.


sudo mysql -u root -p
# Conectarse a MySQL como root
# Ingrese la contraseña de root de MySQL que estableció anteriormente

Dentro de la consola de MySQL, ejecute los siguientes comandos. Reemplace mautic_db, mautic_user y strong_password con sus propios valores.


CREATE DATABASE mautic_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# Crear base de datos para Mautic
CREATE USER 'mautic_user'@'localhost' IDENTIFIED BY 'strong_password';
# Crear usuario para Mautic
GRANT ALL PRIVILEGES ON mautic_db. TO 'mautic_user'@'localhost';
# Otorgar todos los privilegios al usuario sobre la base de datos
FLUSH PRIVILEGES;
# Actualizar privilegios
EXIT;
# Salir de la consola de MySQL

5. Descarga e instalación de Mautic

Vaya al directorio donde se almacenarán los archivos de Mautic y descargue la última versión estable. Para 2026, probablemente será Mautic 5.x o 6.x. Utilizaremos el repositorio oficial de GitHub para la descarga.


cd /var/www/
# Ir al directorio de sitios web
sudo mkdir mautic
# Crear directorio para Mautic
sudo chown mauticuser:www-data mautic
# Establecer propietario del directorio para el usuario mauticuser y el grupo www-data
sudo chmod 775 mautic
# Establecer permisos de acceso para el directorio
cd mautic
# Ir al directorio de Mautic
sudo apt install unzip -y
# Instalar utilidad para descomprimir archivos
wget https://github.com/mautic/mautic/releases/download/5.1.0/5.1.0-update.zip -O mautic.zip
# Descargar la última versión estable de Mautic (por ejemplo, 5.1.0, ¡actualice el enlace a la versión actual!)
# En 2026, el enlace será para Mautic 5.x o 6.x, por ejemplo, https://github.com/mautic/mautic/releases/download/6.0.0/6.0.0-update.zip
sudo unzip mautic.zip -d .
# Descomprimir el archivo en el directorio actual
sudo rm mautic.zip
# Eliminar el archivo
sudo chown -R mauticuser:www-data /var/www/mautic
# Establecer propietario para todos los archivos de Mautic
sudo find /var/www/mautic -type d -exec chmod 755 {} \;
# Establecer permisos 755 para todos los directorios
sudo find /var/www/mautic -type f -exec chmod 644 {} \;
# Establecer permisos 644 para todos los archivos
sudo chmod -R 775 /var/www/mautic/var
# Establecer permisos para el directorio var (caché, registros)
sudo chmod -R 775 /var/www/mautic/media
# Establecer permisos para el directorio media
sudo chmod -R 775 /var/www/mautic/app/cache
# Establecer permisos para el directorio app/cache
sudo chmod -R 775 /var/www/mautic/app/logs
# Establecer permisos para el directorio app/logs

Ahora todos los componentes están instalados y Mautic está listo para una configuración posterior.

Configuración

Diagrama: Configuración
Diagrama: Configuración

Después de instalar todos los componentes, es necesario configurar Nginx para servir Mautic, asegurar una conexión HTTPS y realizar la configuración inicial del propio Mautic.

1. Configuración de Nginx para Mautic

Cree un nuevo archivo de configuración de Nginx para su dominio. Reemplace your_domain.com con su dominio real.


sudo nano /etc/nginx/sites-available/your_domain.com
# Crear un nuevo archivo de configuración de Nginx

Pegue la siguiente configuración de Nginx:


server {
    listen 80;
    server_name your_domain.com www.your_domain.com;
    root /var/www/mautic/docroot; # Mautic 5.x+ utiliza el subdirectorio 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; # Aumentamos el límite de tamaño de los archivos subidos

    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;
    }

    # Para Mautic 5.x+ se recomienda el uso de /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; # Reemplace con su socket PHP-FPM si no se usa Nginx
    }
}

Guarde el archivo y salga. Luego, active la configuración creando un enlace simbólico y verifique la sintaxis de Nginx:


sudo ln -s /etc/nginx/sites-available/your_domain.com /etc/nginx/sites-enabled/
# Activación de la configuración de Nginx
sudo nginx -t
# Verificación de la sintaxis de la configuración de Nginx
sudo systemctl restart nginx
# Reiniciar Nginx para aplicar los cambios

Ahora, si ingresa http://your_domain.com en el navegador, debería ver la página de instalación de Mautic.

2. Configuración de HTTPS con Certbot (Let's Encrypt)

Para una conexión segura y mejorar la confianza SEO, configuraremos HTTPS utilizando certificados gratuitos de Let's Encrypt a través de Certbot.


sudo apt install certbot python3-certbot-nginx -y
# Instalación de Certbot y el plugin para Nginx
sudo certbot --nginx -d your_domain.com -d www.your_domain.com
# Ejecutar Certbot para obtener e instalar certificados
# Siga las instrucciones: ingrese su correo electrónico, acepte los términos, elija la redirección de HTTP a HTTPS

Certbot modificará automáticamente su configuración de Nginx, añadiendo secciones para HTTPS. También configurará la renovación automática de certificados. Puede verificar el estado de la renovación automática de la siguiente manera:


sudo systemctl status certbot.timer
# Verificar el estado del temporizador de Certbot para la renovación automática
sudo certbot renew --dry-run
# Ejecución de prueba de la renovación de certificados

3. Finalización de la instalación de Mautic a través de la interfaz web

Abra su dominio (https://your_domain.com) en el navegador. Verá la página de instalación de Mautic. Siga los pasos:

  1. Paso 1: Permisos de acceso. Asegúrese de que todos los permisos de acceso estén marcados en verde.
  2. Paso 2: Configuración de la base de datos. Ingrese los datos que creó anteriormente:
    • Database Driver: MySQL PDO
    • Database Host: localhost
    • Database Port: 3306
    • Database Name: mautic_db
    • Database Username: mautic_user
    • Database Password: strong_password
    • Table Prefix: (puede dejarlo en blanco o especificar mt_)
  3. Paso 3: Configuración del administrador. Cree una cuenta de administrador de Mautic. Utilice una contraseña segura.
  4. Paso 4: Configuración de correo electrónico. Configure el servidor SMTP para enviar correos electrónicos. Se recomienda utilizar un servicio externo (SendGrid, Mailgun, Amazon SES) en lugar de SMTP directo desde un VPS para evitar problemas de entregabilidad.

Una vez completado, será redirigido a la página de inicio de sesión del panel de administración de Mautic.

4. Configuración de tareas Cron para Mautic

Mautic requiere la ejecución de tareas en segundo plano regulares (procesamiento de colas de correo electrónico, segmentación, actualización de datos). Estas tareas se configuran a través de Cron.


sudo -u mauticuser crontab -e
# Abrir crontab para el usuario mauticuser

Pegue las siguientes líneas al final del archivo (asegúrese de que la ruta a PHP CLI sea correcta, en este caso /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
# Actualización de segmentos (cada 15 minutos)
10,25,40,55     /usr/bin/php8.3 /var/www/mautic/bin/console mautic:campaigns:update > /dev/null 2>&1
# Actualización de campañas (cada 15 minutos)
0,15,30,45     /usr/bin/php8.3 /var/www/mautic/bin/console mautic:campaigns:trigger > /dev/null 2>&1
# Ejecución de disparadores de campañas (cada 15 minutos)
0,30     /usr/bin/php8.3 /var/www/mautic/bin/console mautic:emails:send > /dev/null 2>&1
# Envío de correos electrónicos desde la cola (cada 30 minutos)
0 0    /usr/bin/php8.3 /var/www/mautic/bin/console mautic:maintenance:cleanup --days=365 > /dev/null 2>&1
# Limpieza de datos antiguos (una vez al día, por ejemplo, registros de más de 365 días)
0 2    /usr/bin/php8.3 /var/www/mautic/bin/console mautic:webhooks:send > /dev/null 2>&1
# Envío de webhooks (una vez al día)

Guarde y cierre el archivo. Las tareas Cron se ejecutarán automáticamente.

5. Verificación de la operatividad

Asegúrese de que Mautic esté accesible y funcione correctamente.


curl -I https://your_domain.com
# Verificación de los encabezados HTTP de su dominio. Debería tener un estado 200 OK y una redirección a HTTPS.

Inicie sesión en el panel de administración de Mautic. Vaya a la sección "Configuración" -> "Información del sistema". Asegúrese de que todos los componentes estén marcados como operativos y que no haya errores críticos.

Copias de seguridad y mantenimiento

Esquema: Copias de seguridad y mantenimiento
Esquema: Copias de seguridad y mantenimiento

Las copias de seguridad regulares y el mantenimiento oportuno son clave para el funcionamiento estable y seguro de Mautic. En esta sección, veremos qué exactamente necesita ser respaldado, cómo automatizar el proceso y cómo mantener el sistema actualizado.

1. Qué respaldar

Para una recuperación completa de Mautic, necesitará tres grupos principales de datos:

  • Base de datos de Mautic: Contiene todos sus contactos, campañas, segmentos, correos electrónicos, informes y otros datos dinámicos. Este es el componente más importante.
  • Archivos de Mautic: Incluyen el núcleo de Mautic, plugins, temas, archivos multimedia cargados (imágenes, documentos), así como archivos de configuración. El directorio /var/www/mautic/.
  • Archivos de configuración del servidor: Configuraciones de Nginx, PHP-FPM, Certbot, Fail2Ban, UFW. Aunque se pueden restaurar manualmente, una copia de seguridad acelerará el proceso.

2. Script simple de copia de seguridad automática (cron + rsync + mysqldump)

Crearemos un script simple que realizará una copia de seguridad de la base de datos y los archivos, y luego los guardará en un directorio separado. Para almacenar las copias de seguridad, se recomienda utilizar un almacenamiento externo, como un almacenamiento en la nube compatible con S3 o un VPS separado.


sudo mkdir -p /opt/backups/mautic
# Создание директории для хранения бэкапов
sudo chown mauticuser:mauticuser /opt/backups/mautic
# Установка владельца для директории бэкапов
sudo nano /opt/backups/mautic_backup.sh
# Создание скрипта бэкапа

Pegue el siguiente código en el archivo mautic_backup.sh. Reemplace mautic_user, strong_password, mautic_db con sus propios datos. También especifique la ruta al almacenamiento externo si se utiliza.


#!/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."

Haga que el script sea ejecutable:


sudo chmod +x /opt/backups/mautic_backup.sh
# Делаем скрипт исполняемым

Agregue el script al crontab del usuario mauticuser para su ejecución diaria:


sudo -u mauticuser crontab -e
# Открытие crontab для пользователя mauticuser

Agregue la siguiente línea al final del archivo, por ejemplo, para que se ejecute a las 3:00 de la mañana:


0 3 * * * /opt/backups/mautic_backup.sh > /dev/null 2>&1
# Ежедневный запуск скрипта бэкапа в 3:00 ночи

3. Dónde almacenar las copias de seguridad

Nunca almacene las copias de seguridad en el mismo servidor que los datos de producción. Esto anula el propósito de la copia de seguridad si el servidor falla. Opciones recomendadas:

  • Almacenamiento externo compatible con S3: Los servicios en la nube (Amazon S3, DigitalOcean Spaces, Backblaze B2) ofrecen almacenamiento fiable y asequible. Utilice utilidades como s3cmd o rclone para la sincronización.
  • VPS o servidor dedicado separado: Puede utilizar otro servidor exclusivamente para almacenar copias de seguridad, sincronizándolas a través de SSH con rsync.
  • Almacenamiento local con sincronización: Para proyectos muy pequeños, las copias de seguridad se pueden almacenar temporalmente de forma local, pero es esencial configurar su carga automática a un disco en la nube (Google Drive, Dropbox) utilizando scripts.

4. Actualizaciones: rolling vs. ventana de mantenimiento

Mantener Mautic y todos los componentes del sistema actualizados es fundamental para la seguridad y para obtener nuevas funcionalidades. Utilice la siguiente estrategia:

  • Actualizaciones del SO (Ubuntu): Ejecute sudo apt update && sudo apt upgrade -y regularmente, por ejemplo, una vez a la semana. Si se requiere una recarga del kernel, planifique un reinicio del servidor.
  • Actualizaciones de PHP, Nginx, MySQL: Estos componentes suelen actualizarse junto con el SO. Sin embargo, al pasar a una nueva versión principal (por ejemplo, de PHP 8.3 a 8.4), planifíquelo como una ventana de mantenimiento separada, ya que pueden ser necesarios cambios en la configuración o el código de Mautic.
  • Actualizaciones de Mautic: Mautic lanza actualizaciones regulares (parches, versiones menores y mayores).
    • Parches y actualizaciones menores (5.1.0 -> 5.1.1): Generalmente se pueden aplicar en modo "rolling", pero siempre se recomienda hacer una copia de seguridad antes de actualizar. Utilice el comando php /var/www/mautic/bin/console mautic:update:find y luego php /var/www/mautic/bin/console mautic:update:apply.
    • Actualizaciones mayores (5.x -> 6.x): Requieren la planificación de una "ventana de mantenimiento". Estudie de antemano la documentación oficial de actualización de Mautic, ya que puede haber cambios en los requisitos de PHP, la estructura de la base de datos o el sistema de archivos. Asegúrese de hacer una copia de seguridad completa antes de dicha actualización.

Siempre pruebe las actualizaciones en un servidor de staging, si es posible, antes de aplicarlas en producción. Si no hay un servidor de staging, estudie cuidadosamente el changelog y haga una copia de seguridad.

Solución de problemas + Preguntas frecuentes

Incluso con la configuración más cuidadosa, pueden surgir problemas. Esta sección le ayudará a diagnosticar y resolver los más comunes, así como a responder preguntas frecuentes.

Mautic muestra un error 500 Internal Server Error o una página en blanco

Qué verificar:

  1. Registros de Nginx: Verifique /var/log/nginx/mautic_error.log.
  2. Registros de PHP-FPM: Verifique /var/log/php8.3-fpm.log (o una ruta similar).
  3. Registros de Mautic: Verifique /var/www/mautic/var/logs/mautic_prod.php.
  4. Permisos de archivos: Asegúrese de que el usuario www-data (o el usuario bajo el cual se ejecutan Nginx y PHP-FPM) tenga permisos de lectura/escritura en el directorio de Mautic, especialmente en /var/www/mautic/var. Ejecute sudo chown -R www-data:www-data /var/www/mautic y sudo chmod -R 775 /var/www/mautic.
  5. Límites de PHP: Asegúrese de que memory_limit y max_execution_time en php.ini sean suficientes (por ejemplo, 512M y 300).
Cómo solucionar: Basándose en los registros, resuelva el problema. La mayoría de las veces se trata de permisos incorrectos, falta de memoria o errores de sintaxis en la configuración de PHP/Nginx.

Los correos electrónicos no se envían desde Mautic

Qué verificar:

  1. Configuración SMTP en Mautic: En "Configuración" -> "Configuración" -> "Configuración de correo electrónico". Asegúrese de que los datos del servidor SMTP (host, puerto, nombre de usuario, contraseña) sean correctos y de que esté utilizando un proveedor SMTP externo fiable.
  2. Registros de Mautic: Busque errores relacionados con el envío de correo electrónico en /var/www/mautic/var/logs/mautic_prod.php.
  3. Tareas Cron: Asegúrese de que mautic:emails:send se ejecute regularmente (sudo -u mauticuser crontab -l).
  4. Filtros de spam: Asegúrese de que su dominio esté configurado correctamente (registros SPF, DKIM, DMARC en DNS) para evitar que los correos electrónicos terminen en spam.
Cómo solucionar: Corrija los datos SMTP, asegúrese de que cron funcione y verifique los registros DNS de su dominio.

Mautic funciona lento o se congela con grandes volúmenes de datos

Qué verificar:

  1. Recursos del servidor: Utilice htop, free -h, df -h para monitorear CPU, RAM y disco. ¿Faltan recursos?
  2. Registros de MySQL: Busque consultas lentas.
  3. Índices de la base de datos: Asegúrese de que MySQL indexe correctamente las tablas de Mautic.
  4. Caché de Mautic: Asegúrese de que la caché funcione (Mautic utiliza la caché de archivos por defecto, se puede configurar Redis para instalaciones grandes).
  5. Tareas Cron: Asegúrese de que no se superpongan y se ejecuten a tiempo, sin crear una carga excesiva.
Cómo solucionar: Aumente los recursos del VPS, optimice las consultas (puede que necesite la ayuda de un especialista en bases de datos), considere usar Redis para el almacenamiento en caché si la carga es muy alta.

¿Qué configuración mínima de VPS es adecuada?

Para una instalación de prueba o un proyecto muy pequeño (hasta 5000 contactos, 1-2 campañas), puede comenzar con 2 núcleos de CPU, 4 GB de RAM y 80 GB de SSD NVMe. Sin embargo, tan pronto como comience a usar Mautic activamente, se recomienda pasar a una configuración con 4 núcleos, 8 GB de RAM y más de 160 GB de SSD NVMe para garantizar un funcionamiento estable y rápido.

¿Qué elegir: VPS o dedicado para esta tarea?

Para la mayoría de los usuarios que comienzan con Mautic, un VPS es la opción óptima. Ofrece suficiente flexibilidad, rendimiento y rentabilidad. Un servidor dedicado se justifica para volúmenes de datos muy grandes (cientos de miles de contactos), alta frecuencia de envíos (millones de correos electrónicos al mes) o si tiene requisitos estrictos de aislamiento completo de recursos y máximo rendimiento que un VPS no puede proporcionar debido a la virtualización.

¿Cómo actualizar Mautic?

Inicie sesión en Mautic como administrador. Vaya a "Configuración" (icono de engranaje en la esquina superior derecha) -> "Componentes" -> "Actualizar Mautic". Si hay una actualización disponible, Mautic le ofrecerá instalarla. También puede actualizar a través de la CLI, utilizando los comandos php /var/www/mautic/bin/console mautic:update:find y php /var/www/mautic/bin/console mautic:update:apply. ¡Siempre haga una copia de seguridad antes de actualizar!

¿Cómo aumentar el límite de carga de archivos en Mautic?

Aumente los valores de upload_max_filesize y post_max_size en el archivo /etc/php/8.3/fpm/php.ini. También asegúrese de que en la configuración de Nginx (/etc/nginx/sites-available/your_domain.com) el parámetro client_max_body_size esté configurado con un valor suficiente (por ejemplo, 100M). Después de los cambios, reinicie PHP-FPM y Nginx.

Conclusiones y próximos pasos

Esquema: Conclusiones y próximos pasos
Esquema: Conclusiones y próximos pasos

¡Felicidades! Ha implementado y configurado Mautic con éxito en su VPS. Ahora tiene una herramienta potente y flexible para la automatización del marketing, que está completamente bajo su control. No solo ha obtenido una plataforma funcional, sino también una valiosa experiencia en la configuración de infraestructura de servidor, lo que le será útil para cualquier proyecto futuro.

Aquí hay algunos pasos que puede seguir para utilizar su Mautic de la manera más efectiva:

  • Integración con CRM y otros servicios: Mautic tiene muchos plugins para la integración con sistemas CRM populares (Salesforce, HubSpot, Zoho CRM), CMS (WordPress, Drupal), así como con proveedores SMTP externos para mejorar la entregabilidad del correo electrónico. Explore los plugins disponibles y configúrelos según sus necesidades.
  • Optimización del rendimiento: Para instalaciones grandes, considere usar Redis o Memcached para el almacenamiento en caché, así como configurar la optimización de MySQL. Es posible que se requiera escalado horizontal si la carga se vuelve demasiado alta.
  • Seguridad avanzada: Refuerce aún más la seguridad configurando la autenticación de dos factores para iniciar sesión en Mautic, utilizando reglas más complejas para Fail2Ban y realizando auditorías de seguridad del servidor regularmente.

¿Te fue útil esta guía?

Tus comentarios nos ayudan a mejorar nuestras guías.

Compartir esta publicación:

Envía esta guía a alguien a quien pueda resultarle útil.

Telegram VKVK WhatsApp Facebook LinkedIn XX

despliegue de Mautic en VPS para automatización de marketing y email
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.