Guía para instalar Matomo Web Analytics en AlmaLinux 9
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.
El siguiente tutorial te muestra cómo instalar la analítica web Matomo en el servidor AlmaLinux 9. Instalaré Matomo con el servidor web Httpd, PHP y la base de datos MariaDB. También aseguraré Matomo con certificados SSL/TLS a través de Letsencrypt.
Requisitos previos
Asegúrate de que tienes lo siguiente para iniciar la instalación de Matomo:
- Un servidor AlmaLinux 9 – Este ejemplo utiliza un servidor con el nombre de host alma9.
- Un usuario no root con privilegios de administrador root.
- Un nombre de dominio apuntando a la dirección IP del servidor.
Instalación y configuración de MariaDB
Matomo requiere la instalación del servidor de bases de datos MySQL o MariaDB, y en este caso, utilizarás el servidor MariaDB. Los siguientes pasos te mostrarán cómo instalar el servidor de bases de datos MariaDB, asegurar la instalación de MariaDB y cómo crear una nueva base de datos y un nuevo usuario para tu instalación de Matomo.
Instalación de MariaDB
Por defecto, el repositorio appstream de AlmaLinux proporciona los paquetes MariaDB. Puedes instalar MariaDB fácilmente mediante DNF sin necesidad de un repositorio de terceros.
En primer lugar, ejecuta el siguiente comando dnf para instalar el servidor de bases de datos MariaDB. A continuación, introduce y para confirmar la instalación y pulsa INTRO.
sudo dnf install mariadb-server
Tras instalar el servidor MariaDB, ejecuta los siguientes comandos systemctl para iniciar y habilitar el servidor MariaDB. Al habilitar el servidor MariaDB, permitirás que el servicio se ejecute automáticamente durante el inicio del sistema.
sudo systemctl start mariadb sudo systemctl enable mariadb
Ahora comprueba el estado del servidor MariaDB para asegurarte de que el servicio se está ejecutando. Y si se está ejecutando, deberías obtener una salida activa (running) en tu terminal.
sudo systemctl status mariadb
Asegurar la implementación de MariaDB
Una vez que MariaDB esté instalado y funcionando, lo siguiente será asegurar la instalación configurando la contraseña de root, desactivando el inicio de sesión remoto para el usuario root y eliminando la prueba de base de datos y el usuario anónimo por defecto. Esto se puede hacer mediante la utilidad mariadb-secure-installation.
Para asegurar el servidor MariaDB, ejecuta la utilidad mariadb-secure-installation en tu terminal.
sudo mariadb-secure-installation
Durante el proceso, puedes introducir Y para aplicar la configuración o n para No. A continuación se indican algunos ajustes del servidor MariaDB que se te pedirán:
- Cuando se te pida la contraseña de root de MariaDB, pulsa ENTER.
- Introduce n para omitir la configuración de la autenticación unix_socket.
- Introduce Y para configurar la contraseña raíz de MariaDB, luego escribe tu nueva contraseña y repítela.
- Introduce Y para desactivar el inicio de sesión remoto desde el usuario raíz de MariaDB.
- Introduce Y para eliminar el usuario anónimo por defecto de tu servidor MariaDB.
- A continuación, introduce Y de nuevo para eliminar la prueba de base de datos por defecto.
- Por último, introduce Y para recargar los privilegios de la tabla y aplicar los cambios.
Crear nueva base de datos y usuario
Ahora que tienes una MariaDB segura en funcionamiento, el siguiente paso será crear una nueva base de datos MariaDB y un nuevo usuario para la instalación de Matomo. Debes iniciar sesión en el servidor MariaDB mediante la utilidad cliente MariaDB.
Accede al shell de MariaDB mediante el siguiente comando de cliente mariadb. Cuando se te pida la contraseña, introduce tu contraseña raíz de MariaDB.
sudo mariadb -u root -p
Después de iniciar sesión, ejecuta las siguientes consultas para crear una nueva base de datos y un nuevo usuario para la instalación de Matomo. En esta demostración, crearás una nueva base de datos y un nuevo usuario matomo, y asegúrate de sustituir la contraseña p4ssw0rddb por una nueva contraseña segura.
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;
Ahora ejecuta la siguiente consulta para asegurarte de que el usuario matomo está disponible en el servidor MariaDB y tiene privilegios para la base de datos matomo.
SHOW GRANTS FOR 'matomo'@'localhost';
Por último, escribe quit para salir del intérprete de comandos MariaDB.
Instalación del servidor web Httpd y PHP 8.1
Matomo está escrito principalmente en PHP, en este momento, requiere al menos PHP 8.x. En la siguiente sección, estarás instalando el servidor web httpd y los paquetes PHP 8.1 a través del repositorio appstream de AlmaLinux. Y después, configurarás PHP.
Antes de instalar los paquetes PHP, selecciona la versión PHP por defecto a PHP 8.1. En la distribución basada en RHEL, esto se llama módulo de repositorio, y el repositorio por defecto de AlmaLinux proporciona dos versiones de paquetes PHP 8.0 y 8.1.
sudo dnf module enable php:8.1
Introduce y cuando se te pida confirmación.
Ahora ejecuta el siguiente comando dnf para instalar el servidor web httpd y los paquetes PHP de tu sistema. Escribe y para confirmar la instalación y pulsa INTRO.
sudo dnf install httpd php php-common php-mysqlnd php-gd php-curl php-json php-intl php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-zip php-soap
Tras instalar httpd y PHP, ejecuta los siguientes comandos systemctl para iniciar y habilitar el servidor web httpd. Esto ejecutará el servidor web httpd en el puerto 80 por defecto, permitiendo que se ejecute automáticamente al arrancar.
sudo systemctl start httpd sudo systemctl enable httpd
Ahora comprueba el estado del servidor web httpd utilizando el siguiente comando. Si el servidor web httpd se está ejecutando, deberías obtener una salida activa (en ejecución).
sudo systemctl status httpd
Llegados a este punto, ya has instalado el servidor web httpd y los paquetes PHP. Ahora vas a configurar PHP según sea necesario para la instalación de Matomo.
Abre la configuración por defecto de PHP /etc/php.ini utilizando el siguiente editor nano.
sudo nano /etc/php.ini
Descomenta las siguientes opciones y cambia el valor en consecuencia. Estas opciones dependen de tu máquina AlmaLinux.
date.timezone = Europe/Stockholm memory_limit = 256M upload_max_filesize = 16M max_execution_time = 300
Guarda y cierra el archivo cuando hayas terminado.
Ahora ejecuta el siguiente comando systemctl para reiniciar el servidor web httpd y aplicar los cambios.
sudo systemctl restart httpd
Verifica la versión de PHP y los módulos disponibles ejecutando el siguiente comando.
php --version php -m
Deberías tener PHP 8.1 instalado en tu sistema y algunos módulos habilitados como apcu, curl y gd.
Descarga del código fuente de Matomo
En este punto, la mayoría de los paquetes necesarios están instalados y funcionando. Ahora descargarás el código fuente de Matomo y configurarás el directorio raíz del documento Matomo con la propiedad adecuada.
Antes de descargar el código fuente de Matomo, ejecuta el siguiente comando dnf para instalar wget y descomprimir en tu sistema.
sudo dnf install wget unzip -y
Ahora dirígete al directorio /var/www y ejecuta el comando wget que aparece a continuación para descargar el código fuente de Matomo. Una vez descargado el código fuente, deberías ver el archivo matomo.zip.
cd /var/www wget https://builds.matomo.org/matomo.zip
Después, ejecuta el comando unzip que aparece a continuación para extraer el archivo matomo.zip. Una vez extraído el archivo matomo.zip, deberías obtener el nuevo directorio matomo, y éste será la raíz del documento para tu instalación de Matomo.
unzip matomo.zip
Por último, ejecuta el siguiente comando chmod para cambiar la propiedad del directorio /var/www/matomo al usuario y grupo apache. Esto permite al servidor web httpd y a PHP acceder al código fuente de Matomo.
sudo chown -R apache:apache /var/www/matomo
A continuación, ejecuta de nuevo el siguiente comando para configurar el permiso adecuado para el código fuente.
find /var/www/matomo/tmp -type f -exec chmod 644 {} \; find /var/www/matomo/tmp -type d -exec chmod 755 {} \; find /var/www/matomo/tmp/assets/ -type f -exec chmod 644 {} \; find /var/www/matomo/tmp/assets/ -type d -exec chmod 755 {} \; find /var/www/matomo/tmp/cache/ -type f -exec chmod 644 {} \; find /var/www/matomo/tmp/cache/ -type d -exec chmod 755 {} \; find /var/www/matomo/tmp/logs/ -type f -exec chmod 644 {} \; find /var/www/matomo/tmp/logs/ -type d -exec chmod 755 {} \; find /var/www/matomo/tmp/tcpdf/ -type f -exec chmod 644 {} \; find /var/www/matomo/tmp/tcpdf/ -type d -exec chmod 755 {} \; find /var/www/matomo/tmp/templates_c -type f -exec chmod 644 {} \; find /var/www/matomo/tmp/templates_c -type d -exec chmod 755 {} \;
Configurar el host virtual httpd
En la siguiente sección, crearás una nueva configuración de host virtual httpd para ejecutar la aplicación web Matomo. Antes de eso, asegúrate de que tu nombre de dominio apunta a la dirección IP de tu servidor y está configurado correctamente.
Crea una nueva configuración de host virtual httpd /etc/httpd/conf.d/matomo. conf utilizando el comando del editor nano que aparece a continuación.
sudo nano /etc/httpd/conf.d/matomo.conf
Introduce la siguiente configuración y asegúrate de cambiar el nombre de dominio en el parámetro ServerName 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 /var/log/httpd//matomo_error.log CustomLog /var/log/httpd//matomo_access.log combined </VirtualHost>
Guarda el archivo y sal del editor cuando hayas terminado.
Ahora ejecuta la utilidad apachectl que aparece a continuación para verificar la configuración general de httpd. Si tienes una configuración httpd correcta y adecuada, deberías obtener una salida como Sintaxis OK.
sudo apachectl -t
A continuación, ejecuta el siguiente comando systemctl para reiniciar el servidor web httpd y aplicar la nueva configuración del host virtual.
sudo systemctl restart httpd
Por último, inicia el navegador web y visita el nombre de dominio de la instalación de matomo. Si tienes éxito, deberías obtener la página de instalación de Matomo como ésta:
Asegurar Matomo con certificados SSL/TLS
Se recomienda ejecutar Matomo con certificados SSL/TLS. En esta sección, asegurarás Matomo mediante SSL de Letsencrypt, que puede generarse mediante Certbot. Certbot es un cliente de Letsencrypt que está disponible en el repositorio EPEL, por lo que debes añadir primero el repositorio EPEL antes de instalar Certbot.
Ejecuta el siguiente comando dnf para instalar certbot y el módulo certbot Apache/httpd. Introduce y para confirmar la instalación y pulsa ENTER.
sudo dnf install epel-release -y sudo dnf install certbot python3-certbot-apache
Una vez instalado certbot, ejecuta el siguiente comando certbot para generar certificados SSL para tu nombre de dominio, y 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 ejecutado el comando, se generarán nuevos certificados SSL/TLS en el directorio /etc/letsencrypt/live/nombre-dominio.com, y se añadirá una nueva configuración SSL al archivo /etc/httpd/conf.d/matomo.conf. La configuración SSL se añade a través del plugin de Apache Certbot.
Instalación de Matomo Web Analytics
Vuelve a tu navegador web y visita el nombre de dominio para la instalación de Matomo. Cuando aparezca la página de bienvenida, haz clic en Siguiente para iniciar la instalación.
Ahora el instalador comprobará los requisitos del sistema. Por tanto, asegúrate de que todo está marcado con una marca verde como ésta:
Vuelve a hacer clic en Siguiente para continuar.
Introduce los datos de la base de datos MariaDB y del usuario que has creado. Vuelve a hacer clic en Siguiente.
Una vez creadas las tablas para Matomo, verás el mensaje Se han creado las tablas, entonces haz clic en Siguiente.
Ahora introduce el nuevo nombre de usuario y contraseña para Matomo. Este usuario se utilizará como administrador de Matomo, asegúrate de recordar siempre el nombre de usuario y la contraseña.
Después, introduce el nombre de dominio como primer rastreador y cambia la zona horaria en consecuencia. A continuación, haz clic en Siguiente para continuar.
Una vez creado el primer rastreador, deberías ver el código de seguimiento en tu pantalla. Desplázate hasta la última página y haz clic en Continuar.
Ahora debería haber terminado la instalación. Desplázate hacia abajo y haz clic en el botón CONTINUAR A MATOMO.
Cuando se te solicite la pantalla de inicio de sesión, introduce el usuario y la contraseña de administrador de Matomo y, a continuación, haz clic en INICIAR SESIÓN.
Si tienes el usuario y la contraseña correctos, aparecerá en tu navegador el panel de administración de Matomo.
Desde ahí, puedes gestionar fácilmente la instalación de Matomo y añadir más rastreadores para sitios web.
Conclusión
Has instalado con éxito Matomo Web Analytics en tu máquina AlmaLinux. Has instalado Matomo con el servidor web httpd, PHP 8.1 y el servidor de base de datos MariaDB. Además, has asegurado Matomo con certificados SSL generados a través de Certbot y Letsencrypt.
Con esto en mente, ya puedes empezar a añadir tus sitios web y a realizar el seguimiento de tus visitantes con una privacidad respetada que se construye sobre Matomo Web Analytics