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.
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
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
Por último, ejecuta el siguiente comando php
para comprobar la versión de PHP. Verás que PHP 8.3 está instalado.
php -v
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;
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
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
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.
En la sección Comprobación del sistema, asegúrate de que tu sistema está listo y vuelve a hacer clic en Siguiente.
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.
Una vez migrada, vuelve a pulsar Siguiente.
Introduce un nuevo nombre de usuario, dirección de correo electrónico y contraseña de administrador para Matomo web analytics.
Ahora introduce la información para crear el primer seguimiento con Matomo y haz clic en Siguiente.
Copia el código de seguimiento generado y haz clic en Siguiente.
Una vez finalizada la instalación, verás los siguientes mensajes:
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.
Tras iniciar sesión, verás el siguiente panel de administración de Matomo:
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.