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é
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
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
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
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.