Cómo instalar Mautic en VPS Linux Chile 2026: guía paso a paso (Ubuntu 22.04 + PHP 8.1 + SparkPost)
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
- Dominio propio con acceso DNS (ej: marketing.tuempresa.cl). Subdominio para Mautic recomendado (no en el dominio raíz para no afectar reputación del dominio principal).
- Tarjeta de crédito para VPS provider (DigitalOcean / Hetzner / AWS / Google Cloud).
- Cuenta SparkPost (o alternativa SMTP profesional). NO uses Gmail/Outlook.
- Conocimiento básico Linux CLI (ssh, sudo, edit files, restart services). Si no tienes esto, considera Mautic gestionado.
- 2-6 horas dedicadas sin interrupciones. Primera instalación suele tomar más tiempo por debugging DNS y SMTP.
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:
- Hetzner CPX21 (3GB/2vCPU/80GB) en Nuremberg o Helsinki: USD 4.50/mes. Más barato, latencia 200ms a Chile.
- AWS Lightsail 2GB/2vCPU/60GB en São Paulo: USD 12/mes. Más complejo pero integra con resto de AWS si ya usas.
- Google Cloud Compute Engine e2-small en São Paulo: USD 13/mes. Bueno si ya tienes GCP.
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;
/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:
- Database name:
mautic - User:
mauticuser - Password: la que configuraste antes
- Admin user para Mautic + password fuerte
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%.
- Crea cuenta gratis en sparkpost.com
- Verifica tu dominio (DNS records que te dan)
- Genera API key (Account → API Keys → New API Key, permisos "Transmissions: Read/Write")
- En Mautic: Settings → Configuration → Email Settings:
- Service to use: SparkPost
- API key: pega la que generaste
- Region: US o EU según donde verificaste
- Click "Test connection" — debe retornar success
- 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
| Check | Comando / acción | Esperado |
|---|---|---|
| Mautic responde HTTPS | curl -I https://marketing.tuempresa.cl | HTTP/2 200 |
| SMTP test envío | Mautic UI → Settings → Configuration → Test | "Test email sent successfully" |
| SPF válido | dig TXT tuempresa.cl +short | Incluye sparkpostmail.com |
| DKIM válido | mail-tester.com → envía test desde Mautic | Score 9-10/10 |
| DMARC válido | dig TXT _dmarc.tuempresa.cl | Retorna policy |
| Cron jobs corriendo | tail -f /var/log/mautic-emails.log | Logs cada minuto |
| Backups corriendo | rclone ls b2:mautic-backups | Listado de backups recientes |
| SSL auto-renew | sudo certbot renew --dry-run | "Congratulations, all simulated renewals succeeded" |
Operación continua — qué tienes que hacer mes a mes
- Updates Mautic: revisar mautic.org cada 2-4 semanas, aplicar security patches y minor releases vía
composer update+ cache clear. Major versions (4→5) requieren más cuidado. - Monitor deliverability: SparkPost dashboard semanal — bounce rate <2%, complaint rate <0.1%, engagement >15%.
- Database optimization: cada 1-3 meses ejecutar
OPTIMIZE TABLEen tablas grandes, especialmenteemail_stats,lead_event_log. - Disk space: logs y cache crecen. Monitor con
du -sh /var/www/mautic/var/*. Rotación de logs Mautic. - OS updates:
sudo apt update && sudo apt upgradecada 1-2 semanas, especialmente kernel security patches. - Backups verification: cada 3-6 meses haz un restore test desde B2 a un VPS staging — sin esto los backups son teoría.
¿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:
- VPS en DigitalOcean São Paulo (latencia óptima Chile/LATAM)
- SMTP SparkPost configurado + DKIM/SPF/DMARC + monitoring deliverability
- Backups diarios off-site retención 90d
- Updates Mautic cada 2-4 semanas + security patches
- Monitoring 24/7 + alertas por WhatsApp
- Soporte en español por WhatsApp
- Migración desde Mailchimp/HubSpot/ActiveCampaign incluida
¿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 WhatsAppPreguntas 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.