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
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.
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;
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’.
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.
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.
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.
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.
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.
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.
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.
Además, debes asegurarte de que los requisitos principales se cumplen con los requisitos del sistema Matomo.
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.
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.
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.
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.
Ahora deberías ver el código JavaScript que debes introducir en tus sitios web. Vuelve a hacer clic en Siguiente para continuar.
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.
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.
Si tienes el usuario y la contraseña de administrador correctos, deberías acceder a la administración web de Matomo web analytics.
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.
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.