Cómo instalar Matomo Web Analytics en Debian 12

Matomo, antes Piwik, es un software de analítica web gratuito y de código abierto que puede utilizarse para 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 funcionar con MySQL o un servidor de bases de datos MariaDB.

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

En este tutorial, aprenderás a instalar la analítica web Matomo en el servidor Debian 12. Configurarás Matomo con la pila LAMP y asegurarás Matomo con HTTPS mediante Certbot y Letsencrypt.

Requisitos previos

Antes de empezar, asegúrate de que tienes lo siguiente:

  • Un servidor Debian 12.
  • Un usuario no root con privilegios de administrador.
  • Un nombre de dominio apuntando a una dirección IP del servidor.

Instalación de dependencias

Matomo es una analítica web basada en PHP que utiliza MySQL/MariaDB como base de datos. Para instalar Matomo, debes instalar LAMP (Linux, Apache, MySQL/MariaDB y PHP) o LEMP (Linux, Nginx, MySQL/MariaDB y PHP-FPM) Stack en tu sistema. En este ejemplo, ejecutarás Matomo con la pila LAMP en el servidor Debian.

En primer lugar, ejecuta el siguiente comando apt para actualizar el índice de paquetes de Debian.

sudo apt update

Ahora instala los paquetes LAMP Stack (Linux, Apache, MySQL/MariaDB y PHP) con el siguiente comando:

sudo apt install apache2 mariadb-server php php-cli libapache2-mod-php php-common php-curl php-gd php-mbstring php-mysql php-xml php-intl php-zip wget unzip

Introduce Y para confirmar la instalación.

instalar deps

Una vez finalizada la instalación, comprueba el estado del servidor MariaDB con el siguiente comando. Verás el servidor MariaDB con el estado activo (en ejecución) y habilitado.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

comprobar mariadb

Ahora comprueba el estado del servicio Apache con el siguiente comando. En la siguiente salida, puedes ver que el servidor web Apache está en ejecución.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

comprobar apache

Por último, ejecuta el siguiente comando php para comprobar la versión de PHP. Verás que PHP 8.3 está instalado.

php -v

comprobar php

Configurar PHP

Después de instalar LAMP Stack, configurarás la instalación de PHP editando el archivo php.ini y reiniciando el servidor web Apache.

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

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

Cambia la configuración por defecto como sigue – Asegúrate de cambiar las opciones date.timezone y memory_limit con tu entorno de servidor actual.

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

Guarda el archivo y sal del editor.

Ahora ejecuta el siguiente comando systemctl para reiniciar el servidor web Apache y aplicar tus cambios a PHP.

sudo systemctl restart apache2

Configurar el servidor MariaDB

En esta sección, asegurarás el servidor MariaDB y establecerás la contraseña raíz para él. A continuación, crearás una nueva base de datos y un nuevo usuario que utilizará Matomo.

Ejecuta el siguiente comando mariadb-secure-installation para proteger MariaDB y establecer la contraseña raíz.

sudo mariadb-secure-installation

Ahora se te preguntará por las siguientes configuraciones:

  • ¿Cambiar la autenticación local a unix_socket? Introduce n.
  • Configura la nueva contraseña raíz de MariaDB. Introduce y para confirmar y, a continuación, escribe la nueva contraseña para la implementación de tu servidor MariaDB.
  • ¿Eliminar el usuario anónimo? Introduce y para confirmar.
  • ¿Eliminar la prueba de base de datos por defecto del despliegue?. Introduce y para confirmar.
  • ¿Deshabilitar el inicio de sesión root de MariaDB desde conexiones remotas? Introduce y para confirmar.
  • ¿Recargar los privilegios de tabla y aplicar los cambios? Introduce y y pulsa ENTER.

A continuación, ejecuta el siguiente comando mariadb para iniciar sesión en el servidor MariaDB. Introduce tu contraseña de root cuando se te pida.

sudo mariadb -u root -p

Ahora ejecuta las siguientes consultas para crear una nueva base de datos y un nuevo usuario matomo con la contraseña p4ssword. Ajusta los detalles de la base de datos a continuación.

CREATE DATABASE matomo;
CREATE USER 'matomo'@'localhost' IDENTIFIED BY 'p4ssword';
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

Por último, ejecuta la consulta siguiente para comprobar el usuario matomo@localhost y salir del servidor MariaDB. Esto garantizará que el usuario matomo@localhost pueda acceder a la base de datos matomo.

SHOW GRANTS FOR matomo@localhost;
quit

comprobar usuario db

Descargar el código fuente de Matomo

Ahora que has configurado PHP y creado una base de datos y un usuario, puedes instalar Matomo. Ahora descargarás el código fuente de Matomo, configurarás el directorio raíz del documento y, a continuación, cambiarás la propiedad con el usuario Apache adecuado.

Ve al directorio /var/www y descarga el código fuente de Matomo utilizando el comando wget que aparece a continuación.

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

Una vez descargado, ejecuta el comando unzip que aparece a continuación para extraer el archivo matomo.zip. Y luego cambia la propiedad del directorio /var/www/matomo al usuario www-data.

unzip matomo.zip
sudo chown -R www-data:www-data /var/www/matomo

Configurar el host virtual Apache

Una vez que hayas descargado Matomo, crearás un nuevo archivo de host virtual Apache para Matomo. Así que asegúrate de que tu nombre de dominio apunta a una dirección IP de servidor.

Crea un nuevo archivo de host virtual Apache /etc/apache2/sites-available/matomo.conf con el editor nano.

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

Introduce la configuración que aparece a continuación y asegúrate de sustituir la opción ServerName por tu nombre de dominio.

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName matomo.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 ${APACHE_LOG_DIR}/matomo_error.log
    CustomLog ${APACHE_LOG_DIR}/matomo_access.log combined

</VirtualHost>

Guarda el archivo y sal cuando hayas terminado.

Ahora ejecuta el siguiente comando a2ensite para activar el archivo matomo.conf. A continuación, ejecuta el comando apachectl de abajo para verificar tu configuración de Apache. Si la sintaxis de Apache es correcta, verás una salida Syntax is OK.

sudo a2ensite matomo.conf
sudo apachectl configtest

Por último, ejecuta el comando systemctl que aparece a continuación para reiniciar el servidor web Apache y aplicar tus cambios. Una vez reiniciado Apache, tu instalación de Matomo estará lista.

sudo systemctl restart apache2

configurar apache

Asegurar Matomo con HTTPS

En esta sección, generarás certificados SSL/TLS y asegurarás Matomo con HTTPS a través de Certbot y Letsencrypt.

Instala los paquetes certbot y python3-certbot-apache con el siguiente comando.

sudo apt install certbot python3-certbot-apache

Ahora ejecuta el comando certbot que aparece a continuación para generar certificados SSL y asegurar tu nombre de dominio Matomo. Asegúrate de cambiar el nombre de dominio y la dirección de correo electrónico con tu información.

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

Una vez finalizado el proceso, tus certificados SSL estarán disponibles en el directorio /etc/letsencrypt/live/donmain.com. Además, tu instalación de Matomo estará asegurada con HTTPS.

Instalar Matomo web analytics

Abre tu navegador web y visita tu nombre de dominio Matomo, como https://matomo.hwdomain.io/. Si la instalación se realiza correctamente, verás un mensaje de bienvenida como el siguiente:

Haz clic en Siguiente para confirmar la instalación.

mensaje de bienvenida

En la sección Comprobación del sistema, asegúrate de que tu sistema está listo y vuelve a hacer clic en Siguiente.

comprobación del sistema

Ahora introduce los detalles, incluidos el nombre de la base de datos MariaDB, el usuario y la contraseña, y haz clic en Siguiente para migrar la base de datos.

configuración de la base de datos

Una vez migrada, vuelve a pulsar Siguiente.

migración de bases de datos

Introduce un nuevo nombre de usuario, dirección de correo electrónico y contraseña de administrador para Matomo web analytics.

configuración administrativa

Ahora introduce la información para crear el primer seguimiento con Matomo y haz clic en Siguiente.

crear el primer seguimiento

Copia el código de seguimiento generado y haz clic en Siguiente.

código de seguimiento

Una vez finalizada la instalación, verás los siguientes mensajes:

instalar completo

Si visitas la página de inicio de Matomo, serás redirigido a la página de inicio de sesión de Matomo. Introduce tu usuario admin y tu contraseña, y haz clic en INICIAR SESIÓN.

iniciar sesión

Tras iniciar sesión, verás el siguiente panel de administración de Matomo:

salpicadero

Conclusión

¡Enhorabuena! Has completado la instalación de Matomo web analytics en el servidor Debian 12. La analítica web Matomo está en funcionamiento con el servidor web Apache, el servidor de base de datos MariaDB y PHP 8.3. También has asegurado Matomo con HTTPS a través de Certbot y Letsencrypt.

También te podría gustar...