Guía para instalar Matomo Web Analytics en AlmaLinux 9

Matomo, antes Piwik, es un software de análisis web gratuito y de código abierto que puede realizar un seguimiento de las visitas a un sitio web y mostrar informes para el análisis de datos y audiencias. Matomo tiene licencia GPL. Está escrito en PHP y puede ejecutarse con un servidor de bases de datos MySQL o MariaDB.

Matomo proporciona informes detallados para el seguimiento de usuarios en tus sitios web. Esto incluye el motor de búsqueda de referencia y las palabras clave, idiomas, visitas a páginas como descargas de visitantes de archivos, y muchos más. Matomo es cada vez más popular como alternativa a servicios de análisis como Google Analytics.

El siguiente tutorial te muestra cómo instalar la analítica web Matomo en el servidor AlmaLinux 9. Instalaré Matomo con el servidor web Httpd, PHP y la base de datos MariaDB. También aseguraré Matomo con certificados SSL/TLS a través de Letsencrypt.

Requisitos previos

Asegúrate de que tienes lo siguiente para iniciar la instalación de Matomo:

  • Un servidor AlmaLinux 9 – Este ejemplo utiliza un servidor con el nombre de host alma9.
  • Un usuario no root con privilegios de administrador root.
  • Un nombre de dominio apuntando a la dirección IP del servidor.

Instalación y configuración de MariaDB

Matomo requiere la instalación del servidor de bases de datos MySQL o MariaDB, y en este caso, utilizarás el servidor MariaDB. Los siguientes pasos te mostrarán cómo instalar el servidor de bases de datos MariaDB, asegurar la instalación de MariaDB y cómo crear una nueva base de datos y un nuevo usuario para tu instalación de Matomo.

Instalación de MariaDB

Por defecto, el repositorio appstream de AlmaLinux proporciona los paquetes MariaDB. Puedes instalar MariaDB fácilmente mediante DNF sin necesidad de un repositorio de terceros.

En primer lugar, ejecuta el siguiente comando dnf para instalar el servidor de bases de datos MariaDB. A continuación, introduce y para confirmar la instalación y pulsa INTRO.

sudo dnf install mariadb-server

instalar mariadb

Tras instalar el servidor MariaDB, ejecuta los siguientes comandos systemctl para iniciar y habilitar el servidor MariaDB. Al habilitar el servidor MariaDB, permitirás que el servicio se ejecute automáticamente durante el inicio del sistema.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Ahora comprueba el estado del servidor MariaDB para asegurarte de que el servicio se está ejecutando. Y si se está ejecutando, deberías obtener una salida activa (running) en tu terminal.

sudo systemctl status mariadb

start enable verificar mariadb

Asegurar la implementación de MariaDB

Una vez que MariaDB esté instalado y funcionando, lo siguiente será asegurar la instalación configurando la contraseña de root, desactivando el inicio de sesión remoto para el usuario root y eliminando la prueba de base de datos y el usuario anónimo por defecto. Esto se puede hacer mediante la utilidad mariadb-secure-installation.

Para asegurar el servidor MariaDB, ejecuta la utilidad mariadb-secure-installation en tu terminal.

sudo mariadb-secure-installation

Durante el proceso, puedes introducir Y para aplicar la configuración o n para No. A continuación se indican algunos ajustes del servidor MariaDB que se te pedirán:

  • Cuando se te pida la contraseña de root de MariaDB, pulsa ENTER.
  • Introduce n para omitir la configuración de la autenticación unix_socket.
  • Introduce Y para configurar la contraseña raíz de MariaDB, luego escribe tu nueva contraseña y repítela.
  • Introduce Y para desactivar el inicio de sesión remoto desde el usuario raíz de MariaDB.
  • Introduce Y para eliminar el usuario anónimo por defecto de tu servidor MariaDB.
  • A continuación, introduce Y de nuevo para eliminar la prueba de base de datos por defecto.
  • Por último, introduce Y para recargar los privilegios de la tabla y aplicar los cambios.

Crear nueva base de datos y usuario

Ahora que tienes una MariaDB segura en funcionamiento, el siguiente paso será crear una nueva base de datos MariaDB y un nuevo usuario para la instalación de Matomo. Debes iniciar sesión en el servidor MariaDB mediante la utilidad cliente MariaDB.

Accede al shell de MariaDB mediante el siguiente comando de cliente mariadb. Cuando se te pida la contraseña, introduce tu contraseña raíz de MariaDB.

sudo mariadb -u root -p

Después de iniciar sesión, ejecuta las siguientes consultas para crear una nueva base de datos y un nuevo usuario para la instalación de Matomo. En esta demostración, crearás una nueva base de datos y un nuevo usuario matomo, y asegúrate de sustituir la contraseña p4ssw0rddb por una nueva contraseña segura.

CREATE DATABASE matomo;
CREATE USER 'matomo'@'localhost' IDENTIFIED BY 'p4ssw0rddb';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, DROP, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON matomo.* TO 'matomo'@'localhost';
FLUSH PRIVILEGES;

crear base de datos y usuario

Ahora ejecuta la siguiente consulta para asegurarte de que el usuario matomo está disponible en el servidor MariaDB y tiene privilegios para la base de datos matomo.

SHOW GRANTS FOR 'matomo'@'localhost';

Por último, escribe quit para salir del intérprete de comandos MariaDB.

mostrar privilegios de usuario

Instalación del servidor web Httpd y PHP 8.1

Matomo está escrito principalmente en PHP, en este momento, requiere al menos PHP 8.x. En la siguiente sección, estarás instalando el servidor web httpd y los paquetes PHP 8.1 a través del repositorio appstream de AlmaLinux. Y después, configurarás PHP.

Antes de instalar los paquetes PHP, selecciona la versión PHP por defecto a PHP 8.1. En la distribución basada en RHEL, esto se llama módulo de repositorio, y el repositorio por defecto de AlmaLinux proporciona dos versiones de paquetes PHP 8.0 y 8.1.

sudo dnf module enable php:8.1

Introduce y cuando se te pida confirmación.

habilitar módulo php 8.1

Ahora ejecuta el siguiente comando dnf para instalar el servidor web httpd y los paquetes PHP de tu sistema. Escribe y para confirmar la instalación y pulsa INTRO.

sudo dnf install httpd php php-common php-mysqlnd php-gd php-curl php-json php-intl php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-zip php-soap

instalar httpd php

Tras instalar httpd y PHP, ejecuta los siguientes comandos systemctl para iniciar y habilitar el servidor web httpd. Esto ejecutará el servidor web httpd en el puerto 80 por defecto, permitiendo que se ejecute automáticamente al arrancar.

sudo systemctl start httpd
sudo systemctl enable httpd

Ahora comprueba el estado del servidor web httpd utilizando el siguiente comando. Si el servidor web httpd se está ejecutando, deberías obtener una salida activa (en ejecución).

sudo systemctl status httpd

start enable httpd

Llegados a este punto, ya has instalado el servidor web httpd y los paquetes PHP. Ahora vas a configurar PHP según sea necesario para la instalación de Matomo.

Abre la configuración por defecto de PHP /etc/php.ini utilizando el siguiente editor nano.

sudo nano /etc/php.ini

Descomenta las siguientes opciones y cambia el valor en consecuencia. Estas opciones dependen de tu máquina AlmaLinux.

date.timezone = Europe/Stockholm
memory_limit = 256M
upload_max_filesize = 16M
max_execution_time = 300

Guarda y cierra el archivo cuando hayas terminado.

Ahora ejecuta el siguiente comando systemctl para reiniciar el servidor web httpd y aplicar los cambios.

sudo systemctl restart httpd

Verifica la versión de PHP y los módulos disponibles ejecutando el siguiente comando.

php --version
php -m

Deberías tener PHP 8.1 instalado en tu sistema y algunos módulos habilitados como apcu, curl y gd.

verificar php

Descarga del código fuente de Matomo

En este punto, la mayoría de los paquetes necesarios están instalados y funcionando. Ahora descargarás el código fuente de Matomo y configurarás el directorio raíz del documento Matomo con la propiedad adecuada.

Antes de descargar el código fuente de Matomo, ejecuta el siguiente comando dnf para instalar wget y descomprimir en tu sistema.

sudo dnf install wget unzip -y

instalar wget unzip

Ahora dirígete al directorio /var/www y ejecuta el comando wget que aparece a continuación para descargar el código fuente de Matomo. Una vez descargado el código fuente, deberías ver el archivo matomo.zip.

cd /var/www
wget https://builds.matomo.org/matomo.zip

Después, ejecuta el comando unzip que aparece a continuación para extraer el archivo matomo.zip. Una vez extraído el archivo matomo.zip, deberías obtener el nuevo directorio matomo, y éste será la raíz del documento para tu instalación de Matomo.

unzip matomo.zip

Por último, ejecuta el siguiente comando chmod para cambiar la propiedad del directorio /var/www/matomo al usuario y grupo apache. Esto permite al servidor web httpd y a PHP acceder al código fuente de Matomo.

sudo chown -R apache:apache /var/www/matomo

A continuación, ejecuta de nuevo el siguiente comando para configurar el permiso adecuado para el código fuente.

find /var/www/matomo/tmp -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp -type d -exec chmod 755 {} \;
find /var/www/matomo/tmp/assets/ -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp/assets/ -type d -exec chmod 755 {} \;
find /var/www/matomo/tmp/cache/ -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp/cache/ -type d -exec chmod 755 {} \;
find /var/www/matomo/tmp/logs/ -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp/logs/ -type d -exec chmod 755 {} \;
find /var/www/matomo/tmp/tcpdf/ -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp/tcpdf/ -type d -exec chmod 755 {} \;
find /var/www/matomo/tmp/templates_c -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp/templates_c -type d -exec chmod 755 {} \;

Configurar el host virtual httpd

En la siguiente sección, crearás una nueva configuración de host virtual httpd para ejecutar la aplicación web Matomo. Antes de eso, asegúrate de que tu nombre de dominio apunta a la dirección IP de tu servidor y está configurado correctamente.

Crea una nueva configuración de host virtual httpd /etc/httpd/conf.d/matomo. conf utilizando el comando del editor nano que aparece a continuación.

sudo nano /etc/httpd/conf.d/matomo.conf

Introduce la siguiente configuración y asegúrate de cambiar el nombre de dominio en el parámetro ServerName por tu dominio.

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName analytics.hwdomain.io
    DocumentRoot /var/www/matomo/
<Directory /var/www/matomo>
DirectoryIndex index.php
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>

<Files "console">
Options None
Require all denied
</Files>

<Directory /var/www/matomo/misc/user>
Options None
Require all granted
</Directory>

<Directory /var/www/matomo/misc>
Options None
Require all denied
</Directory>

<Directory /var/www/matomo/vendor>
Options None
Require all denied
</Directory>

ErrorLog /var/log/httpd//matomo_error.log
CustomLog /var/log/httpd//matomo_access.log combined

</VirtualHost>

Guarda el archivo y sal del editor cuando hayas terminado.

Ahora ejecuta la utilidad apachectl que aparece a continuación para verificar la configuración general de httpd. Si tienes una configuración httpd correcta y adecuada, deberías obtener una salida como Sintaxis OK.

sudo apachectl -t

A continuación, ejecuta el siguiente comando systemctl para reiniciar el servidor web httpd y aplicar la nueva configuración del host virtual.

sudo systemctl restart httpd

configurar el host virtual httpd

Por último, inicia el navegador web y visita el nombre de dominio de la instalación de matomo. Si tienes éxito, deberías obtener la página de instalación de Matomo como ésta:

instalar página

Asegurar Matomo con certificados SSL/TLS

Se recomienda ejecutar Matomo con certificados SSL/TLS. En esta sección, asegurarás Matomo mediante SSL de Letsencrypt, que puede generarse mediante Certbot. Certbot es un cliente de Letsencrypt que está disponible en el repositorio EPEL, por lo que debes añadir primero el repositorio EPEL antes de instalar Certbot.

Ejecuta el siguiente comando dnf para instalar certbot y el módulo certbot Apache/httpd. Introduce y para confirmar la instalación y pulsa ENTER.

sudo dnf install epel-release -y
sudo dnf install certbot python3-certbot-apache

instalar certbot

Una vez instalado certbot, ejecuta el siguiente comando certbot para generar certificados SSL para tu nombre de dominio, y asegúrate de cambiar el nombre de dominio y la dirección de correo electrónico en el siguiente comando.

sudo certbot --apache2 --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d analytics.hwdomain.io

Una vez ejecutado el comando, se generarán nuevos certificados SSL/TLS en el directorio /etc/letsencrypt/live/nombre-dominio.com, y se añadirá una nueva configuración SSL al archivo /etc/httpd/conf.d/matomo.conf. La configuración SSL se añade a través del plugin de Apache Certbot.

Instalación de Matomo Web Analytics

Vuelve a tu navegador web y visita el nombre de dominio para la instalación de Matomo. Cuando aparezca la página de bienvenida, haz clic en Siguiente para iniciar la instalación.

iniciar la instalación

Ahora el instalador comprobará los requisitos del sistema. Por tanto, asegúrate de que todo está marcado con una marca verde como ésta:

comprobación del sistema

Vuelve a hacer clic en Siguiente para continuar.

Introduce los datos de la base de datos MariaDB y del usuario que has creado. Vuelve a hacer clic en Siguiente.

configuración de la base de datos

Una vez creadas las tablas para Matomo, verás el mensaje Se han creado las tablas, entonces haz clic en Siguiente.

tablas creadas

Ahora introduce el nuevo nombre de usuario y contraseña para Matomo. Este usuario se utilizará como administrador de Matomo, asegúrate de recordar siempre el nombre de usuario y la contraseña.

crear usuario administrador

Después, introduce el nombre de dominio como primer rastreador y cambia la zona horaria en consecuencia. A continuación, haz clic en Siguiente para continuar.

crear el primer seguimiento

Una vez creado el primer rastreador, deberías ver el código de seguimiento en tu pantalla. Desplázate hasta la última página y haz clic en Continuar.

código de seguimiento finalizado

Ahora debería haber terminado la instalación. Desplázate hacia abajo y haz clic en el botón CONTINUAR A MATOMO.

instalación finalizada

Cuando se te solicite la pantalla de inicio de sesión, introduce el usuario y la contraseña de administrador de Matomo y, a continuación, haz clic en INICIAR SESIÓN.

acceder a matomo

Si tienes el usuario y la contraseña correctos, aparecerá en tu navegador el panel de administración de Matomo.

tablero matomo

Desde ahí, puedes gestionar fácilmente la instalación de Matomo y añadir más rastreadores para sitios web.

Conclusión

Has instalado con éxito Matomo Web Analytics en tu máquina AlmaLinux. Has instalado Matomo con el servidor web httpd, PHP 8.1 y el servidor de base de datos MariaDB. Además, has asegurado Matomo con certificados SSL generados a través de Certbot y Letsencrypt.

Con esto en mente, ya puedes empezar a añadir tus sitios web y a realizar el seguimiento de tus visitantes con una privacidad respetada que se construye sobre Matomo Web Analytics

También te podría gustar...