Cómo instalar Mautic en VPS Linux Chile 2026: guía paso a paso (Ubuntu 22.04 + PHP 8.1 + SparkPost)

📅 Publicado 13 may 2026 ⏱ Lectura ~18 min 🔧 Versión Mautic 5.x
TL;DR — Esta guía cubre

Instalación completa Mautic 5.x en VPS Ubuntu 22.04 con stack LAMP (Apache + MariaDB 10.6 + PHP 8.1), SMTP profesional con SparkPost, configuración DKIM/SPF/DMARC para deliverability, cron jobs críticos, SSL Let's Encrypt y backups automáticos a S3. Costo total mensual operativo: USD 12-24 + tu tiempo. Si no quieres hacer DevOps: delegamos operación con nosotros desde USD 49/mes.

Esta no es la décima guía de "instala Mautic con un click". Es la guía que escribimos para nuestro equipo cuando hacemos una instalación nueva en producción para un cliente — incluye los gotchas reales que la documentación oficial Mautic no destaca lo suficiente. Si vas a instalar Mautic tú mismo para uso serio en producción, esto es lo mínimo que necesitas hacer.

Antes de empezar — checklist de prerequisitos

⚠️ Importante: Esta guía es para Mautic 5.x con Ubuntu 22.04 LTS. Si tienes versiones previas de Ubuntu (18.04, 20.04) los paquetes PHP serán diferentes. Para Ubuntu 24.04, los pasos son idénticos pero los repos pueden tener PHP 8.3 por defecto (Mautic 5.x soporta PHP 8.1 a 8.3).

Paso 1 — Provisionar VPS

Recomendación PYME 5K-15K contactos: DigitalOcean droplet 2GB RAM / 2vCPU / 50GB SSD en región São Paulo (latencia óptima para Chile y LATAM). Costo: USD 12/mes.

Alternativas:

Selecciona Ubuntu 22.04 LTS x64. Habilita SSH key authentication (no password). Crea el droplet/instance.

# Conecta vía SSH
ssh root@<tu_ip_vps>

# Crea usuario regular (no operes como root)
adduser mauticadmin
usermod -aG sudo mauticadmin

# Copia tu SSH key al nuevo usuario
rsync --archive --chown=mauticadmin:mauticadmin ~/.ssh /home/mauticadmin

# Test login con nuevo usuario
ssh mauticadmin@<tu_ip_vps>

Paso 2 — DNS y dominio

En tu proveedor DNS (Cloudflare/Route53/cPanel/registrar), agrega:

# A record principal
marketing.tuempresa.cl   A   <ip_de_tu_vps>

# A record (opcional para www)
www.marketing.tuempresa.cl  A  <ip_de_tu_vps>

Espera 5-30 minutos. Verifica:

dig marketing.tuempresa.cl +short
# Debe retornar el IP de tu VPS

Paso 3 — Instalar stack LAMP

Actualiza el sistema y instala las dependencias:

# En el VPS como mauticadmin
sudo apt update && sudo apt upgrade -y

# Apache, MariaDB, PHP 8.1 y extensiones requeridas por Mautic
sudo apt install -y apache2 mariadb-server software-properties-common
sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt install -y php8.1 php8.1-cli php8.1-fpm libapache2-mod-php8.1 \
    php8.1-mysql php8.1-mbstring php8.1-intl php8.1-gd php8.1-curl \
    php8.1-xml php8.1-zip php8.1-bcmath php8.1-imap php8.1-opcache \
    php8.1-imagick php8.1-redis composer unzip git

# Habilita módulos Apache críticos
sudo a2enmod rewrite headers expires deflate ssl
sudo systemctl restart apache2

Ajusta php.ini para Mautic (importante — defaults son demasiado bajos):

sudo nano /etc/php/8.1/apache2/php.ini

# Cambios mínimos:
memory_limit = 512M           # default 128M — Mautic falla con menos
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_vars = 5000
date.timezone = America/Santiago

sudo systemctl restart apache2

Paso 4 — Configurar MariaDB

# Asegura instalación
sudo mysql_secure_installation
# Responde Y a todo, define password root MariaDB segura

# Crea database y usuario
sudo mysql -uroot -p

# Dentro del shell MariaDB:
CREATE DATABASE mautic CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'mauticuser'@'localhost' IDENTIFIED BY 'PASSWORD_FUERTE_AQUI';
GRANT ALL PRIVILEGES ON mautic.* TO 'mauticuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
⚠️ Optimización MariaDB: Para Mautic con 10K+ contactos, ajusta /etc/mysql/mariadb.conf.d/50-server.cnf:
innodb_buffer_pool_size = 1G  # 50% de tu RAM
innodb_log_file_size = 256M
max_connections = 200
Sin esto, las queries de segmentación se vuelven lentas con listas grandes.

Paso 5 — Descargar e instalar Mautic 5.x

# Crea directorio Mautic
sudo mkdir -p /var/www/mautic
sudo chown -R mauticadmin:mauticadmin /var/www/mautic

# Descarga última versión Mautic 5 via Composer
cd /var/www
composer create-project mautic/recommended-project mautic --no-interaction

# Ajusta permisos (importante para que Apache pueda escribir)
sudo chown -R www-data:www-data /var/www/mautic
sudo find /var/www/mautic -type d -exec chmod 755 {} \;
sudo find /var/www/mautic -type f -exec chmod 644 {} \;
sudo chmod -R 775 /var/www/mautic/var
sudo chmod -R 775 /var/www/mautic/docroot/media

Configura virtual host Apache:

sudo nano /etc/apache2/sites-available/mautic.conf

# Contenido:
<VirtualHost *:80>
    ServerName marketing.tuempresa.cl
    DocumentRoot /var/www/mautic/docroot

    <Directory /var/www/mautic/docroot>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/mautic_error.log
    CustomLog ${APACHE_LOG_DIR}/mautic_access.log combined
</VirtualHost>

# Activar el sitio
sudo a2ensite mautic.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2

Ahora accede a http://marketing.tuempresa.cl en tu navegador — verás el wizard de instalación Mautic. Completa:

Paso 6 — Configurar SMTP profesional (SparkPost)

SparkPost es nuestra recomendación primaria por: tier gratis (500 emails/día), API + SMTP options, dedicated IP opcional, reportes detallados, deliverability rate >98%.

  1. Crea cuenta gratis en sparkpost.com
  2. Verifica tu dominio (DNS records que te dan)
  3. Genera API key (Account → API Keys → New API Key, permisos "Transmissions: Read/Write")
  4. En Mautic: Settings → Configuration → Email Settings:
    • Service to use: SparkPost
    • API key: pega la que generaste
    • Region: US o EU según donde verificaste
  5. Click "Test connection" — debe retornar success
  6. Envía email de test a tu propio email para verificar deliverability

Paso 7 — DNS DKIM SPF DMARC (crítico para deliverability)

Esta es la parte que más gente hace mal o ignora. Sin DKIM/SPF/DMARC correctos, tus emails van a spam folder garantizado.

SPF record

En tu DNS, agrega TXT record para el dominio raíz:

# Si solo usas SparkPost
tuempresa.cl   TXT   "v=spf1 include:sparkpostmail.com ~all"

# Si usas SparkPost + Google Workspace
tuempresa.cl   TXT   "v=spf1 include:_spf.google.com include:sparkpostmail.com ~all"

DKIM record

SparkPost te da un DKIM record cuando verificas el dominio. Algo como:

scph0125._domainkey.tuempresa.cl   TXT   "v=DKIM1; k=rsa; p=MIGfMA0GCS..."

DMARC record

Empieza con policy quarantine para no bloquear emails legítimos, monitor 2-4 semanas, luego sube a reject:

_dmarc.tuempresa.cl   TXT   "v=DMARC1; p=quarantine; rua=mailto:dmarc@tuempresa.cl; pct=100; aspf=s; adkim=s"

Verifica los tres con MXToolbox.com o dig:

dig TXT tuempresa.cl +short
dig TXT scph0125._domainkey.tuempresa.cl +short
dig TXT _dmarc.tuempresa.cl +short

Paso 8 — Configurar cron jobs (CRÍTICO)

Mautic depende de 4 cron jobs para funcionar. Sin esto, los segmentos no se actualizan, las campañas no disparan, los emails se acumulan sin enviar. Es el error #1 que vemos.

sudo crontab -e -u www-data

# Pega estos 4 cron jobs:
*/5 * * * * /usr/bin/php /var/www/mautic/bin/console mautic:segments:update --no-interaction >> /var/log/mautic-segments.log 2>&1
*/2 * * * * /usr/bin/php /var/www/mautic/bin/console mautic:campaigns:update --no-interaction >> /var/log/mautic-campaigns.log 2>&1
*/2 * * * * /usr/bin/php /var/www/mautic/bin/console mautic:campaigns:trigger --no-interaction >> /var/log/mautic-trigger.log 2>&1
* * * * * /usr/bin/php /var/www/mautic/bin/console mautic:emails:send --no-interaction >> /var/log/mautic-emails.log 2>&1

# Save and exit (Ctrl+X, Y, Enter)

Verifica que los cron jobs corren:

tail -f /var/log/mautic-emails.log
# Debe loggear cada minuto

Paso 9 — SSL Let's Encrypt

# Instala certbot
sudo apt install -y certbot python3-certbot-apache

# Genera certificado
sudo certbot --apache -d marketing.tuempresa.cl

# Selecciona "Redirect HTTP to HTTPS" cuando pregunte

# Auto-renovación ya viene configurada vía systemd timer
sudo systemctl status certbot.timer

Paso 10 — Backups automáticos a S3/B2

Backups locales no son backups. Necesitas off-site daily.

# Instala rclone
curl https://rclone.org/install.sh | sudo bash

# Configura conexión a Backblaze B2 (más barato que S3)
rclone config
# Sigue el wizard, selecciona "b2", ingresa credenciales

Crea script de backup en /usr/local/bin/mautic-backup.sh:

#!/bin/bash
# Mautic backup script — runs daily via cron

DATE=$(date +%Y%m%d-%H%M)
BACKUP_DIR="/tmp/mautic-backup-$DATE"
mkdir -p "$BACKUP_DIR"

# Database dump
mysqldump --single-transaction --quick \
  -u mauticuser -p'PASSWORD_AQUI' mautic | \
  gzip > "$BACKUP_DIR/mautic-db.sql.gz"

# Files tarball (excludes cache/logs)
tar --exclude='var/cache' --exclude='var/logs' --exclude='var/tmp' \
  -czf "$BACKUP_DIR/mautic-files.tar.gz" /var/www/mautic

# Upload to B2 bucket
rclone copy "$BACKUP_DIR/" b2:mautic-backups/$DATE/

# Cleanup local
rm -rf "$BACKUP_DIR"

# Cleanup remote (retain 90 days)
rclone delete --min-age 90d b2:mautic-backups/
# Make executable
sudo chmod +x /usr/local/bin/mautic-backup.sh

# Agrega al crontab root
sudo crontab -e
# Pega:
0 3 * * * /usr/local/bin/mautic-backup.sh >> /var/log/mautic-backup.log 2>&1

Verificación final — checklist post-instalación

CheckComando / acciónEsperado
Mautic responde HTTPScurl -I https://marketing.tuempresa.clHTTP/2 200
SMTP test envíoMautic UI → Settings → Configuration → Test"Test email sent successfully"
SPF válidodig TXT tuempresa.cl +shortIncluye sparkpostmail.com
DKIM válidomail-tester.com → envía test desde MauticScore 9-10/10
DMARC válidodig TXT _dmarc.tuempresa.clRetorna policy
Cron jobs corriendotail -f /var/log/mautic-emails.logLogs cada minuto
Backups corriendorclone ls b2:mautic-backupsListado de backups recientes
SSL auto-renewsudo certbot renew --dry-run"Congratulations, all simulated renewals succeeded"

Operación continua — qué tienes que hacer mes a mes

¿No quieres hacer DevOps? — delegamos por ti

Si llegaste hasta aquí y pensaste "esto es demasiado", tienes razón. Mautic auto-administrado consume 2-6h/mes de ops para hacerse bien. Nosotros operamos Mautic gestionado desde USD 49/mes con:

¿Prefieres delegar la operación de Mautic?

Diagnóstico gratis 30 minutos: revisamos tu situación actual (lista de contactos, plataforma actual, automation needs) y te decimos honestamente cuánto cuesta migrar y operar.

Hablar por WhatsApp

Preguntas frecuentes

¿Qué VPS necesito para Mautic 2026?

Para 5K-15K contactos: 2GB RAM, 2vCPU, 50GB SSD (USD 12/mes DigitalOcean o Hetzner). Para 15K-50K contactos: 4GB RAM, 2vCPU, 80GB SSD (USD 24/mes). Para 50K+ contactos: 8GB RAM, 4vCPU, 160GB SSD (USD 48/mes). Mautic es PHP+MariaDB, escala vertical bien hasta 100K contactos en un solo VPS.

¿Cuánto cuesta operar Mautic mensual real?

VPS USD 12-24 + SMTP SparkPost USD 0-25 (depende de volumen) + tu tiempo ops 2-4h/mes = USD 12-49 si DIY. Con operador profesional (con nosotros): USD 49-149/mes según volumen, incluye VPS + SMTP + ops + soporte. Si valoras tu tiempo a USD 25/h, ya con 2h/mes el costo DIY iguala a delegar.

¿Por qué SparkPost y no Gmail/Outlook como SMTP?

Gmail/Outlook tienen límites estrictos: 500-2.000 emails/día, no comerciales, sin IP dedicada, bannean cuentas que envían masivos. Para Mautic necesitas SMTP transaccional/marketing: SparkPost (recomendamos, USD 0-25/mes), Postmark (USD 15+/mes), AWS SES (USD 0.10 por 1K emails), SendGrid (USD 19.95+/mes). Usar Gmail para Mautic = ban en menos de 1 semana.

¿Es seguro tener Mautic en mi propio VPS?

Sí, si sigues prácticas estándar: SSH key only (no password), fail2ban activo, firewall ufw, updates automáticos security, backups diarios off-site, Mautic actualizado a última versión. Mautic mal mantenido (versión vieja, sin updates) es vulnerable a CVEs conocidos.

¿Cuánto tiempo toma una instalación completa real?

Primera vez sin experiencia: 6-12 horas (incluye debugging DNS, SMTP, cron). Con experiencia previa: 2-4 horas. Profesional: 1-2 horas + 1-2 horas de hardening y monitoring setup. Lo más lento suele ser configurar DKIM/SPF/DMARC correctamente y validar deliverability — fácil 2-4 horas si nunca lo hiciste.

¿Qué pasa si no quiero hacer DevOps?

Te ofrecemos Mautic gestionado desde USD 49/mes: instalamos en nuestro stack (DigitalOcean SP), configuramos SMTP, DKIM/SPF/DMARC, cron jobs, backups, monitoring 24/7, updates Mautic cada 2-4 semanas, soporte WhatsApp en español. Tú solo usas Mautic como SaaS, sin perder los beneficios de open-source.