Aprende a instalar Matomo en Debian 12 para obtener un sistema de analítica web 100% libre y respetuoso con la privacidad.


Matomo (anteriormente conocido como Piwik) es una alternativa libre a Google Analytics que puedes autoalojar en tu propio servidor. Ideal para entornos donde la privacidad y el control total de los datos es prioritario.

Este tutorial cubre la instalación completa de Matomo en un servidor Debian 12, utilizando una pila LAMP o LEMP.

Requisitos previos

Para poder proceder con este tutorial sin problemas, es necesario cumplir estos requisitos:

  • Un servidor con Debian 12.
  • Acceso con usuario con privilegios de sudo.
  • Un nombre de dominio apuntando al servidor (opcional pero recomendado).
  • Tener el puerto 80 (HTTP) y 443 (HTTPS) abiertos.
  • Certificado SSL (opcional en esta fase, se configurará más adelante con Let's Encrypt).

Así que lo primero que haremos tras conectarnos al servidor será actualizar repositorios y paquetes:

apt update
apt upgrade

Instalar Matomo en Debian 12

A continuación os dejamos todos los pasos para tener Matomo instalado en nuestro servidor con Debian 12.

Instalación de LAMP/LEMP

Antes de instalar Matomo, es imprescindible contar con una pila LAMP o LEMP configurada en el servidor. A continuación, te dejamos los enlaces a nuestros tutoriales para instalar correctamente LAMP o LEMP en Debian 12:

Instalación de servidor web LAMP en Debian 12
A continuación vamos a instalar un servidor LAMP completo en Debian GNU/Linux 12 “Bookworm” (Stable). Hay algunas cosas que han cambiado respecto a otras versiones de Debian, y es que por ejemplo Debian 12 trae en sus repositorios PHP 8.2.
Instalación de servidor web LEMP en Debian 12
A continuación vamos a instalar un servidor LEMP completo en Debian GNU/Linux 12 “Bookworm” (Stable). Hay algunas cosas que han cambiado respecto a otras versiones de Debian, y es que por ejemplo Debian 12 trae en sus repositorios PHP 8.2.

Instalación de extensiones para PHP

Matomo requiere PHP 8.1 o superior. Debian 12 ya incluye PHP 8.2 por defecto, por lo que no es necesario añadir repositorios adicionales. A continuación, instalaremos las extensiones necesarias para su correcto funcionamiento:

apt install php php-cli php-fpm php-mysql php-gd php-xml php-curl php-mbstring php-zip php-bcmath php-intl php-opcache unzip

Crear base de datos y usuario

También será necesario crear una base de datos con MariaDB y crear un usuario con permisos para esa base de datos. Os dejamos este otro tutorial para realizar este paso:

Crear base de datos y usuario con privilegios en MySQL/MariaDB
En el siguiente tutorial vamos ha explicar como crear una base de datos y un usuario para asignar permisos totales a esa base de datos. Acceder a MySQL/MariaDB Para gestionar bases de datos o usuarios, deberemos de acceder a la shell de MySQL/MariaDB. Existen programas como phpMyAdmin de

Para crear la base de datos, tendremos que hacerlo con este comando:

CREATE DATABASE matomo CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

Configuración de Nginx o Apache

Independientemente de si usas LAMP o LEMP, te dejo la configuración que debes de hacer para cada uno de los servicios:

Si usas Nginx

Tienes que crear un fichero de configuración:

touch /etc/nginx/sites-enabled/matomo.conf

Con el siguiente contenido:

server {
    listen 80;
    server_name TU_DOMINIO;
    root /var/www/matomo;

    index index.php;
    access_log /var/log/nginx/matomo_access.log;
    error_log /var/log/nginx/matomo_error.log;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~* \.(?:ico|css|js|gif|jpe?g|png|woff2?|ttf|svg|eot)$ {
        expires 7d;
        access_log off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location ~ /\.ht {
        deny all;
    }
}
💡
Recuerda de modificar TU_DOMINIO por el dominio del Matomo.

Si usas Apache

Tienes que crear un fichero de configuración:

touch /etc/apache2/sites-available/matomo.conf

Con el siguiente contenido:

<VirtualHost *:80>
    ServerName TU_DOMINIO
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/matomo

    <Directory /var/www/matomo>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/matomo_error.log
    CustomLog ${APACHE_LOG_DIR}/matomo_access.log combined
</VirtualHost>
💡
Recuerda de modificar TU_DOMINIO por el dominio del Matomo.

Adicionalmente, ejecuta estos comandos para habilitar la configuración y activar módulos necesarios:

a2ensite matomo.conf
a2enmod rewrite
systemctl reload apache2

Descarga de Matomo

Finalmente, descargaremos Matomo en el directorio adecuado y estableceremos los permisos correctos para garantizar un funcionamiento seguro y sin errores.

cd /var/www/
wget https://builds.matomo.org/matomo.zip
unzip matomo.zip
rm How\ to\ install\ Matomo.html
chown -R www-data:www-data /var/www/matomo
find /var/www/matomo -type d -exec chmod 755 {} \;
find /var/www/matomo -type f -exec chmod 644 {} \;

Tras estos comandos, ya podremos abrir nuestro navegador y añadir el dominio para iniciar la instalación.

Instalación de Matomo

A continuación, abre tu navegador y accede al dominio que has configurado para Matomo. Esto iniciará el asistente de instalación web, donde completarás los pasos finales de configuración.

Verás una pantalla de bienvenida para iniciar la instalación de Matomo. En la parte superior aparecerá una barra de progreso que te guiará a lo largo de los distintos pasos del proceso de instalación.

El primer paso consiste en analizar el sistema para comprobar que cumple con todos los requisitos necesarios para que Matomo funcione correctamente. Se realizará una verificación automática del entorno, incluyendo la versión de PHP, extensiones instaladas, permisos de archivos y configuración del servidor.

En el tercer paso, deberás configurar la conexión con la base de datos. Para ello, introduce el nombre de la base de datos, el usuario y la contraseña que creaste previamente. Asegúrate de que los datos sean correctos para que Matomo pueda establecer la conexión sin errores.

Si has introducido correctamente los datos de conexión, en el cuarto paso se confirmará que las tablas han sido creadas con éxito en la base de datos. Este proceso es fundamental, ya que Matomo almacenará aquí toda la información de seguimiento y configuración.

En el quinto paso, deberás crear una cuenta de usuario administrador para acceder al panel de control de Matomo. Introduce un nombre de usuario, una contraseña segura y una dirección de correo electrónico válida. Esta cuenta será la principal para gestionar la plataforma.

En el sexto paso, Matomo te pedirá configurar la primera web que deseas analizar. Simplemente completa los campos solicitados, como el nombre del sitio, la URL y la zona horaria. Esta será la web de referencia sobre la que Matomo empezará a recopilar estadísticas.

En el penúltimo paso, Matomo te proporcionará el código JavaScript de seguimiento que deberás insertar en tu sitio web. Este script es esencial para comenzar a recopilar datos de visitas, por lo que debes añadirlo justo antes del cierre de la etiqueta </head> o </body> de tu página.

Finalmente, Matomo te dará la enhorabuena por completar la instalación con éxito y te mostrará información adicional útil, como enlaces al panel de control, documentación oficial y recursos para sacar el máximo partido a la plataforma.

A partir de este momento, ya puedes iniciar sesión en Matomo sin problemas y comenzar a gestionar tus sitios web, consultar estadísticas de visitas y configurar las opciones de análisis según tus necesidades.

Conclusión

Con Matomo puedes recuperar el control sobre los datos de tus visitantes, cumplir con la normativa de privacidad y evitar herramientas intrusivas de terceros. Al estar alojado en tu propio servidor Debian 12, puedes asegurar que toda la información queda en casa, optimizar el rendimiento y configurar alertas personalizadas.


Más sobre ./voidNull

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación