Cómo instalar Matomo Web Analytics en Ubuntu 22.04

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.

En este tutorial, configurarás y asegurarás tu analítica web con Matomo en un servidor Ubuntu 22.04. Instalarás la analítica web Matomo con PHP 8.1, el servidor web Apache2 y la base de datos MariaDB, y asegurarás la implementación con certificados SSL/TLS mediante Certbot y Letsencrypt. Una vez que hayas terminado este tutorial, serás capaz de rastrear y monitorizar el tráfico en tus sitios web, y obtendrás resultados detallados del rastreo en tu instalación Matomo autoalojada.

Requisitos previos

A continuación se indican los requisitos que debes tener para completar este tutorial:

  • Un servidor Ubuntu 22.04 – Este ejemplo utiliza un servidor Ubuntu con el nombre de host ‘servidor-matomo‘.
  • Un usuario no root con privilegios de administrador sudo/root.
  • Un nombre de dominio apuntando a la dirección IP del servidor – Este ejemplo utilizará el subdominio ‘análisis.dominio.io‘.

Una vez establecidos todos los requisitos, ya puedes empezar.

Instalación y configuración del servidor MariaDB

Matomo es una analítica web de código abierto que utiliza MySQL o MariaDB como backend de la base de datos. En el momento de escribir esto, Matomo requería al menos MySQL Server v8 o MariaDB v10.x. En esta guía, instalarás y utilizarás MariaDB como base de datos para la analítica web Matomo.

En el primer paso, instalarás el servidor MariaDB, configurarás la implementación de MariaDB y crearás una nueva base de datos y un nuevo usuario MariaDB.

Antes de empezar, ejecuta el siguiente comando apt para actualizar y refrescar tu índice de paquetes.

sudo apt update

Ahora instala el servidor MariaDB mediante el siguiente comando apt. Cuando se te solicite, introduce y y pulsa ENTER para continuar.

sudo apt install mariadb-server

instalar mariadb

Una vez instalado el servidor MariaDB, ejecuta el siguiente comando systemctl para verificar y asegurarte de que el servidor MariaDB se está ejecutando.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Deberías recibir una salida similar a esta – El servidor MariaDB está habilitado y ejecutándose por defecto. Además, el servidor MariaDB se iniciará automáticamente al arrancar.

verificar mariadb

A continuación, asegurarás la instalación del servidor MariaDB mediante el comando«mariadb-secure-installation«, que se incluye en el paquete del servidor MariaDB.

Ejecuta el siguiente comando para asegurar la instalación del servidor MariaDB.

sudo mariadb-secure-installation

Ahora se te preguntará por las siguientes configuraciones de MariaDB:

  • ¿Cambiar la autenticación local a unix_socket? Introduce n.
  • ¿Configurar la nueva contraseña raíz de MariaDB? Introduce y para confirmar, y luego escribe la nueva contraseña para tu despliegue del 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.

Ahora el despliegue del servidor MariaDB debería estar asegurado y habrás añadido la contraseña para el usuario raíz de MariaDB.

A continuación, crearás una nueva base de datos MariaDB y un nuevo usuario para la instalación de Matomo a través del intérprete de comandos MariaDB.

Ejecuta el siguiente comando ‘mariadb’ para acceder al intérprete de comandos MariaDB a través del usuario raíz MariaDB. Cuando te pida la contraseña, introduce tu contraseña raíz de MariaDB.

sudo mariadb -u root -p

Ahora ejecuta las siguientes consultas para crear una nueva base de datos y un nuevo usuario MariaDB. En este ejemplo, crearás la base de datos y el usuario ‘matomopara la instalación de Matomo. Además, asegúrate de sustituir la contraseña por defecto en la siguiente consulta.

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

A continuación, ejecuta la siguiente consulta para verificar la lista de privilegios del usuario ‘matomo@localhost‘.

SHOW GRANTS FOR 'matomo'@'localhost';
quit

Deberías obtener una salida similar a ésta – El usuario MariaDB ‘matomo@localhost’ tiene todos los privilegios para acceder a la base de datos ‘matomo’.

mostrar privilegios

En esta sección, has instalado el servidor MariaDB, has asegurado la implementación de MariaDB mediante el comando‘mariadb-secure-installation‘, y has creado una nueva base de datos y un nuevo usuario para Matomo. A continuación, instalarás el servidor web Apache2 y PHP 8.x.

Instalación del servidor web Apache2 y PHP 8

Matomo es una analítica web de código abierto escrita en PHP. Para la instalación, la última versión de Matomo es totalmente compatible con PHP 8.x. Además, Matomo se puede ejecutar con servidores web Apache2 y Nginx.

En este paso, ahora instalarás el servidor web Apache2 y PHP 8.1, configurarás la instalación de PHP y, a continuación, verificarás el servicio Apache2 y la versión de PHP.

El repositorio por defecto de Ubuntu proporciona los paquetes Apache2 y PHP. El repositorio de Ubuntu 22.04 proporciona la última versión de PHP, PHP8.1, que es totalmente compatible con la instalación de Matomo.

Ejecuta el siguiente comando apt para instalar los paquetes Apache2 y PHP 8.1.

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

Cuando se te solicite, introduce y para confirmar y pulsa ENTER para continuar.

instalar apache2 php 8

Una vez instalados Apache2 y PHP, ejecuta el siguiente comando systemctl para verificar el servicio Apache2 y asegurarte de que se está ejecutando.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Recibirás una salida como ésta – El servicio Apache2 está habilitado y se ejecutará automáticamente al arrancar. Y el estado del servicio Apache2 es en ejecución.

verificar el servicio apache2

A continuación, abre el archivo«php.ini» de Apache2 mediante el comando del editor nano que se indica a continuación.

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

Cambia la configuración por defecto de php.ini con las siguientes líneas. Ajusta el valor de date.timezone y memory_limit con tu entorno actual.

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

Guarda el archivo y sal de él cuando hayas terminado.

Ahora ejecuta el comando systemctl para reiniciar el servicio Apache2 y aplicar los cambios.

sudo systemctl restart apache2

El servidor web Apache2 debería ejecutarse ahora con el nuevo archivo de configuración php.ini.

Por último, ejecuta el siguiente comando php para verificar la versión de PHP instalada en tu sistema. A continuación, comprueba la lista de extensiones PHP que están habilitadas.

sudo php --version
sudo php -m

Deberías recibir un resultado similar a este: PHP 8.1 está instalado en tu sistema Ubuntu. Asegúrate también de que las extensiones PHP necesarias para Matomo están habilitadas.

verificar la versión de php

Ahora, has terminado de instalar las dependencias para la analítica web Matomo, incluyendo el servidor MariaDB, el servidor web Apache2 y PHP 8.1.

En el siguiente paso, descargarás el código fuente de Matomo y configurarás los permisos adecuados para el directorio de instalación de Matomo, de modo que PHP y Apache2 puedan leer y ejecutar la aplicación Matomo.

Descargar el código fuente de Matomo

En este paso, descargarás el código fuente de Matomo y establecerás el permiso adecuado para el directorio de instalación de Matomo.

Cambia tu directorio de trabajo actual a ‘/var/www/‘ y descarga el código fuente de MAtomo mediante el comando wget.

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

Una vez descargado el código fuente de Matomo, extráelo mediante el comando unzip que aparece a continuación. Y deberías obtener el nuevo directorio‘matomo‘ en tu directorio de trabajo actual.

unzip matomo.zip

Con esto, tu directorio de instalación de Matomo debería ser ‘/var/www/matomo‘.

Ejecuta el siguiente comando para cambiar la propiedad del directorio de instalación de Matomo ‘/var/www/matomo‘ al usuario y grupo‘www-data‘.

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

Una vez que hayas configurado el directorio de instalación de Matomo y descargado el código fuente de Matomo. A continuación, crearás una nueva configuración de host virtual que se utilizará para ejecutar las analíticas web de Matomo.

Configuración del host virtual Matomo

Antes de empezar, asegúrate de que tienes el nombre de dominio apuntando a la dirección IP de tu servidor. Este ejemplo utiliza el subdominio ‘analytics.dominio.hiopara la instalación de Matomo.

Crea un nuevo archivo de host virtual Apache2 ‘/etc/apache2/sites-available/matomo.conf‘ utilizando el siguiente comando del editor nano.

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

Añade las siguientes líneas al archivo y asegúrate de cambiar el nombre de dominio 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 ${APACHE_LOG_DIR}/matomo_error.log
CustomLog ${APACHE_LOG_DIR}/matomo_access.log combined

</VirtualHost>

Guarda el archivo y sal del editor cuando hayas terminado.

A continuación, ejecuta el siguiente comando para activar la nueva configuración del host virtual‘matomo.conf‘. A continuación, verifica la configuración de Apache2 para asegurarte de que tienes la configuración correcta y no tiene ningún error.

sudo a2ensite matomo.conf
sudo apachectl configtest

Deberías recibir una salida como ‘Sintaxis OKcuando la configuración de Apache2 sea correcta.

configurar host virtual matomo

Por último, ejecuta el comando systemctl para reiniciar el servicio Apache2 y aplicar los cambios.

sudo systemctl restart apache2

Con esto, ya has terminado la configuración del host virtual Apache2 para la analítica web de Matomo. Esto significa que ahora tu Maomo es accesible desde fuera de la red y puedes acceder a él a través del navegador web. Pero, esto todavía utiliza conexiones HTTP inseguras.

En el siguiente paso, asegurarás tu instalación de analítica web Matomo con certificados SSL/TLS a través de Certbot y Letsencrypt.

Proteger Matomo con SSL/TLS mediante Certbot y Letsencrypt

En este paso, instalarás la herramienta y el plugin Certbot para el servidor web Apache2. A continuación, generarás nuevos certificados SSL/TLS para la analítica web de Matomo.

Antes de empezar, asegúrate de que tu nombre de dominio apunta a la dirección IP de tu servidor. Además, necesitas una dirección de correo electrónico que utilizarás para registrarte en Letsencrypt.

Ahora ejecuta el siguiente comando apt para instalar la herramienta Certbot y el plugin Certbot para el servidor web Apache2.

sudo apt install certbot python3-certbot-apache2

Introduce y cuando se te pida y pulsa ENTER para continuar.

instalar certbot

A continuación, ejecuta el siguiente comando certbot para generar certificados SSL/TLS para tu nombre de dominio. 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 finalizado el proceso, tu analítica web Mato debería funcionar ahora con HTTPS seguro activado sobre tu servidor web Apache. Además, tienes configurada la redirección automática de HTTP a HTTPS y habilitada la grapa OSCP.

Instalar Matomo Web Analytics

Abre tu navegador web y visita el nombre de dominio de tu instalación de matomo (es decir: https://analytics.hwdomain.io). Ahora deberías obtener la página de bienvenida a Matomo como se muestra en la siguiente captura de pantalla.

Haz clic en Siguiente para iniciar la instalación.

bienvenido a matomo

Ahora el instalador de Matomo comprobará los entornos de servidor para la instalación. Asegúrate de que todos los requisitos y configuraciones están marcados en verde, como se muestra a continuación.

Comprobaciones del sistema Matomo

Además, debes asegurarte de que los requisitos principales se cumplen con los requisitos del sistema Matomo.

configuración de la base de datos

Haz clic en Siguiente para continuar.

Ahora configurarás los detalles de la base de datos MariaDB para tu analítica web Matomo. Asegúrate de introducir el nombre de usuario y la contraseña correctos de la base de datos. A continuación, haz clic en Siguiente de nuevo.

configuración de la base de datos

El instalador web de Matomo debería crear automáticamente las tablas cuando los detalles de tu base de datos sean correctos.

Haz clic en Siguiente para continuar.

tablas creadas

A continuación, tendrás que crear un nuevo usuario administrador para tu instalación de Matomo web analytics. Asegúrate de utilizar una contraseña segura para tu usuario admin de Matomo. Vuelve a hacer clic en Siguiente.

crear admin

En este paso, configurarás el primer seguimiento para tu sitio web. En el campo nombre de dominioe de tu sitio web que quieres rastrear, selecciona la zona horariay haz clic en Siguiente.

configurar el primer seguimiento

Ahora deberías ver el código JavaScript que debes introducir en tus sitios web. Vuelve a hacer clic en Siguiente para continuar.

código de seguimiento JavaScript

Ahora deberías recibir el mensaje de felicitación de que has terminado la instalación de Matomo. Haz clic en el botón CONTINUAR EN MATOMO en la parte inferior de la página.

instalación finalizada

Ahora serás redirigido a una conexión HTTPS segura para la página de acceso a la administración de Matomo. Introduce tu nombre de usuario y contraseña de Matomo, y haz clic en INICIAR SESIÓN.

Página de inicio de sesión de Matomo

Si tienes el usuario y la contraseña de administrador correctos, deberías acceder a la administración web de Matomo web analytics.

tablero matomo

Ahora haz clic en Todos los sitios web en la parte superior derecha para obtener la lista de seguimientos activos de tu sitio web. Deberías ver el primer seguimiento del sitio web que creaste durante la instalación de Matomo.

Sitios de la lista Matomo

Ya has terminado la instalación de Matomo Web Analytics. Añade más sitios web y comienza el seguimiento a través de la analítica web Matomo autoalojada.

Conclusión

En este artículo, has instalado la analítica web de código abierto Matomo con el servidor de base de datos MariaDB, el servidor web Apache2 y PHP 8.1 en un servidor Ubuntu 22.04. También has asegurado Matomo con certificados SSL/TLS generados mediante Certbot y Letsencrypt.

Ahora que ya tienes instalada la analítica web básica de Matomo, puedes integrar Matomo con CMS (Sistema de Gestión de Contenidos) como WordPress, TYPO3, Joomla, Drupal, etc. También puedes integrarlo con aplicaciones de comercio electrónico como Magento, Prestashop, Woocomeerce y OpenCart.

Scroll al inicio