Configurando PHP y María DB para instalar Mautic en Ubuntu 20.04

abril 06, 2021 , 0 Comments

Configurando PHP y MariaDB
Hace algún tiempo venimos escribiendo una serie de artículos sobre como instalar Mautic, una solución integral de automatización de tareas de marketing. Aunque la configuración es un poco engorrosa, a la larga termina compensando en flexibilidad  y costos a soluciones privativas llave en mano como Hubspot.


Configurando php y María DB

El siguiente paso que tenemos que hacer (aunque en el título los haya puesto en orden inverso) es la configuración de la base de datos.

sudo mysql -u root

Puedes cambiar root por el usuario que quieras. En la ventana que se abre
CREATE DATABASE mautic DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
En la línea que sigue, cambia la palabra contraseña por la contraseña que prefieras.
GRANT ALL ON mautic.* TO 'root'@'localhost' IDENTIFIED BY 'contraseña';
FLUSH PRIVILEGES;
EXIT;

Dado que las bases de datos son una de las presas preferidas de los delincuentes informáticos, tenemos que tomar algunas precauciones de seguridad. Lo hacemos lanzando un script con este comando:
sudo mysql_secure_installation
Veremos lo siguiente:

Enter current password for root (enter for none):

Pon la contraseña que elegiste en la configuración de la base de datos y pulsa Enter

Change the root password? [Y/n]

Pulsa N para dejar la contraseña actual.

Remove anonymous users? [Y/n]

Pulsa Y para eliminar a los usuarios anónimos.

Disallow root login remotely? [Y/n]

Pulsa Y para desactivar el acceso en forma remota.

Remove test database and access to it? [Y/n] y

Pulsa Y para eliminar la base de datos de prueba y su acceso (Ya sé que es redundante, pero es como aparece el texto)

Reload privilege tables now? [Y/n]

Pulsa Y para actualizar los privilegios

Configurando PHP

Si iniciaras el asistente de instalación de Mautic, te marcaría tres errores:

  • No está configurado el uso horario.
  • Límite de memoria insuficiente.
  • La web no tiene certificado de seguridad.

Los dos primeros lo solucionamos  modificando cosas en el archivo php.ini

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

Con CTRL + W buscamos

date.timezone =

Cuando te marque esta línea

; date.timezone = «UTC»

Elimina el punto y coma y reemplaza UTC por tu zona horaria. La lista de zonas horarias admitidas las encuentras aquí.

Con CTRL + W buscamos esta línea

;cgi.fix_pathinfo=1

Cambia 1 por 0 y borra el punto y coma.

Para terminar, vuelve a pulsar CTRL + W y busca

memory_limit

Pon el valor en 512. En caso de que esté el punto y coma, borralo.
Guarda con CTRL + W

Obteniendo el certificado de seguridad

Los navegadores se están poniendo duros con el tema de seguridad, por suerte, podemos acceder en forma gratuita a un certificado para acreditar que nuestro sitio es legítimo. Dependiendo de la configuración de tu proveedor de hosting esto puede hacerse de forma automática o semiautomática.

En forma automática, se guarda una clave en el servidor y el proveedor del certificado accede a ella y comprueba que todo está correcto. En la forma seimiautomática deberrás poner esa clave en tus DNS para que le proveedor pueda comprobarla. Tu hosting te dará instrucciones de como hacerlo.

El procedimiento es el siguiente:
Instalamos la aplicación
sudo snap install --classic certbot
Creamos el enlace simbólico para que funcione como si fuera un programa nativo
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Lanzamos el programa para que configure el servidor.
sudo certbot --apache

En caso de que te de un mensaje de error, prueba esto:
sudo certbot --manual --preferred-challenges dns certonly \
-d midominio1.com \
-d www.midominio1.com \

Verás que te muestra un texto alfanumérico y un título que deberás agregar en tus DNS como registros de texto. Una vez que lo hagas. Pulsa Enter y el proveedor de certificados comprobará que eres propietario del sitio.

Ahora ya puedes abrir el navegador y poner tu nombre de dominio. Verás la página inicial de Mautic que te dice que todo está bien. Ahora puedes acceder al archivo de configuración que deberás completar con los siguientes datos:
Database driver: MySQL PDO
Database Host: localhost
Database port: 3306
DB name: mautic
Database Table Prefix: Déjalo vacio
DB User: root
DB Password: La contraseña que pusiste en tu base de datos
Backup existing tables: No


Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.