Mautic es una herramienta de automatización de marketing gratuito y es el proyecto de automatización de marketing de código abierto más grande del mundo. Permite la implantación de marketing por correo electrónico, software de gestión de clientes potenciales y más.
Mautic ofrece a las marcas integrar y personalizar todas sus propiedades/canales digitales. Con un enfoque moderno para la automatización del marketing, el conjunto de herramientas ayuda a los especialistas en marketing ofrecer campañas y contenido de mayor rendimiento para lograr mejores resultados.
En este artículo explicaremos cómo instalar Mautic en un servidor Ubuntu 20.04 LTS con NGINX y MariaDB adquiriendo con Certbot un certificado gratuito de Let's Encrypt para un registro.
Requisitos o versiones soportadas:
Mautic soporta las siguientes versiones de PHP según su versión:
- Mautic de 3.0.x a 3.1.x es compatible con PHP 7.2 o 7.3
- Mautic 3.2.x es compatible con PHP 7.2, 7.3 o 7.4
- Mautic 3.3.x es compatible con PHP 7.3 o 7.4
- Mautic 4.0 es compatible con PHP 7.4 (PHP 8.0 solo soportado actualmente por WIP)
- Mautic 4.4 es compatible con PHP 8.0
Únicamente es compatible con las siguientes servidores de bases de datos:
- Mínimo MySQL versión 5.7 o MariaDB 10.2 (es requerido soporte InnoDB)
Servidores Web soportados:
- Apache versión 2.x
- Nginx superior a versión 1.0 (1.18 recomendado)
- Microsoft IIS 7
Puedes revisar los requisitos oficiales haciendo clic aquí.
Instalación de Mautic
Primero deberás descargar Mautic, puedes descargarlo desde el repositorio de Github oficial:
# wget https://github.com/mautic/mautic/releases/download/4.4.1/4.4.1.zip
Es recomendable descargar la última versión, puedes comprobarla haciendo clic aquí.
Luego actualiza los repositorios e instala el servidor Web:
# apt update && apt install -y nginx
Una vez instalado el servidor Web, descomprime el archivo descargado en el webroot:
# apt install unzip && mkdir /var/www/mautic && unzip 4.4.1.zip -d /var/www/mautic/
Después, modifica la propiedad para el usuario Web:
# chown -R www-data:www-data /var/www/mautic
También deberás instalar un servidor MySQL para crear la base de datos para Mautic:
# apt install -y mariadb-server
Cuando haya finalizado la instalación, crea la base de datos:
# mysql -u root -e "CREATE DATABASE mautic DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci"
Posteriormente crea el usuario otorgando todos los permisos para la base de datos (recuerda modificar la contraseña por seguridad):
# mysql -u root -e "GRANT ALL ON mautic.* TO 'mauticuser'@'localhost' IDENTIFIED BY 'contraseña'"
Instala la versión de PHP compatible con la versión de Mautic con sus dependencias:
# apt install php-imagick php7.4-fpm php7.4-mysql php7.4-common php7.4-gd php7.4-imap php7.4-imap php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp
Crea y edita el fichero para el sitio Web de Mautic:
# nano /etc/nginx/sites-enabled/mautic
Añadiendo el siguiente contenido (recuerda modificar el server_name por el registro):
server {
listen 80;
listen [::]:80;
server_name mautic.ejemplo.com;
root /var/www/mautic;
error_log /var/log/nginx/mautic.error;
access_log /var/log/nginx/mautic.access;
client_max_body_size 20M;
index index.php index.html index.htm index.nginx-debian.html;
location / {
# intente servir el archivo directamente, recurra a app.php
try_files $uri /index.php$is_args$args;
}
location ~ /(mtc.js|1.js|mtracking.gif|.*\.gif|mtc) {
# default_type "application/javascript";
try_files $uri /index.php$is_args$args;
}
# redirect algunas carpetas enteras
rewrite ^/(vendor|translations|build)/.* /index.php break;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
location ~* ^/index.php {
# try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.4-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;
}
# Denegar todo del directorio /app excepto Assets de bundles
location ~ /app/bundles/.*/Assets/ {
allow all;
access_log off;
}
location ~ /app/ { deny all; }
# Denegar todo de los directorios /addons o /plugins excepto Assets de bundles
location ~ /(addons|plugins)/.*/Assets/ {
allow all;
access_log off;
}
# location ~ /(addons|plugins)/ { deny all; }
# Denegar todos los ficheros php del directorio /themes
location ~* ^/themes/(.*)\.php {
deny all;
}
# Desactivar registros para favicon
location = /favicon.ico {
log_not_found off;
access_log off;
}
# Desactivar registros para robots
location = /robots.txt {
access_log off;
log_not_found off;
}
# Denegar acceso a archivos yml, twig, markdown, init
location ~* /(.*)\.(?:markdown|md|twig|yaml|yml|ht|htaccess|ini)$ {
deny all;
access_log off;
log_not_found off;
}
# Permitir el acceso al directorio de certbot para obtener el certificado TLS
location ~ /.well-known/acme-challenge {
allow all;
}
# Denegar todos los intentos de acceder a archivos/carpetas ocultos como .htaccess, .htpasswd, .DS_Store (Mac), etc...
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
# Denegar todos los archivos grunt, composer
location ~* (Gruntfile|package|composer)\.(js|json)$ {
deny all;
access_log off;
log_not_found off;
}
# Denegar el acceso a cualquier archivo con una extensión .php en el directorio de carga
location ~* /(?:uploads|files)/.*\.php$ {
deny all;
}
# Una vida útil prolongada de la cache del navegador puede acelerar las visitas repetidas
location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
access_log off;
log_not_found off;
expires 360d;
}
}
Recarga la configuración de servicio Web:
# systemctl reload nginx.service
E instala Certbot:
# apt install phyton3-certbot-nginx
Por último, adquiere el certificado para el registro en cuestión:
# certbot --nginx --redirect -d mautic.ejemplo.com
Ahora puedes completar la configuración con el Wizard que incorpora Mautic para la configuración con un navegador Web utilizando el registro en cuestión.
Esperamos haberte ayudado con este tutorial. ¿Lo has probado? ¡Déjanos tus comentarios! 🙂
Recuerda, si tienes consultas sobre esta u otra cuestión relacionada con tus servidores en Clouding, no dudes en escribir a soporte@clouding.io ¡Estamos a tu lado para lo que necesites!