Justo este año 2020 nuestro proyecto, Colaboratorio, nanomedios y experiencias virtuales, cumple 4 años y creo que una buena manera de celebrarlo es hablaros de una herramienta que nos ha acompañado desde el principio.

No se trata del servidor web o de la base de datos, que sin duda son la espina dorsal en lo que respecta al software o programario, sino de Matomo, la herramienta que utilizamos para controlar las visitas a la web. Con ella podemos saber qué entradas son las más populares, en qué franjas horarias hay más usuarios conectados o qué sistemas operativos o navegadores se utilizan para surcar nuestro océano de sabiduría. 😊

Pero, antes de todo, empecemos por el principio.

¿Qué es Matomo?

Se trata de una aplicación web libre y que sigue la filosofía de desarrollo del software libre. Ha sido escrita por un equipo internacional de diseñadores y funciona sobre un servidor web, que utiliza tecnologías como PHP o MySQL.

Esta se encarga de rastrear, en tiempo real, las páginas web vistas y visitas de un sitio web dado. Además, se añaden reportes para su análisis.

Es heredera del proyecto Piwik, creado en el año 2007, que a su vez fue un reemplazo para otro llamado phpMyVisites. A partir del 2018 dicho proyecto tomó el nombre de Matomo. Entre sus características principales encontramos, relacionadas con el tráfico web:

  • Informes: Se generan informes respecto a la ubicación geográfica de las visitas, su origen, los datos técnicos de la visita (navegador, sistema operativo, etcétera), que hicieron los visitantes, entre otros.
  • Anotaciones: La posibilidad de guardar notas.
  • Transiciones: Permite ver cómo los usuarios navegan por tu sitio web.
  • Objetivos: Se pueden fijar objetivos para determinadas acciones predefinidas, como la cantidad de visitas a una página o la compra de un producto, en el caso de una tienda.
  • Superposición de páginas: Esta función muestra el análisis de datos superpuestos.
  • Variables personalizadas: Tiene la capacidad de adjuntar datos, tales como un nombre de usuario, para así revisar los datos.

Su lista de funcionalidades es bastante larga, y como la mejor manera de aprender algo es probándolo, eso es lo que haremos a continuación.

Instalación de Matomo en Ubuntu 20.04

Para hacerlo he creado un VPS en nuestro proveedor de confianza, Clouding.io, con las siguientes capacidades técnicas:

Esto es: un solo core, 2 GB de memoria RAM y un disco SSD de 20 GB, más que de sobra. La verdad es que el panel de nuestro proveedor es muy intuitivo y fácil de usar.

A dicho VPS le hemos asignado un sistema operativo con Ubuntu 20.04, que es su última versión, publicada este mismo año.

Crear un usuario operador

Lo primero que haremos es acceder al sistema vía SSH y crear un usuario, llamado «operador«, que utilizaremos para realizar todas las operaciones y, a posteriori, vamos a deshabilitar el acceso vía ‘root‘ al servidor.

useradd -m -c "Usuario Operador" \
-s "/bin/bash" -G sudo operador passwd operador

Una vez hecho, editamos el fichero /etc/sshd/sshd_config, de esta manera:

sed -i 's/PermitRootLogin yes/PermitRootLogin no/g' \
/etc/ssh/sshd_config

Y reiniciamos el servicio SSH:

systemctl restart sshd.service

A partir de aquí utilizaremos el usuario recién creado, «operador«.

su – operador

Actualizar el sistema operativo

Actualizamos:

sudo apt update
sudo apt upgrade -y

Instalar y configurar servidor LAMP

El siguiente paso es instalar un servidor LAMP, esto es, un servidor web con Apache, PHP y MariaDB. Para comenzar debemos seguir estos pasos:

Instalar el servidor web Apache

Primero de todo instalamos el servidor web Apache:

sudo apt install apache2 apache2-utils

Encendemos el servicio y lo añadimos al inicio:

sudo systemctl start apache2
sudo systemctl enable apache2
Instalar MariaDB

A continuación, vamos con el motor de base de datos MariaDB. En este caso utilizaremos la versión que encontramos en los repositorios de la distribución:

sudo apt install software-properties-common 
sudo apt install mariadb-server mariadb-client

Encendemos el servicio y lo añadimos al inicio:

sudo systemctl start mariadb
sudo systemctl enable mariadb

Ahora una parte muy importante: asegurar la instalación del motor de base de datos. Para lograrlo vamos a utilizar el script mysql_secure_installation

Cuando nos pregunte si queremos definir una contraseña para el superusuario ‘root‘ del motor, le decimos que sí y definimos una. También es recomendable eliminar los usuarios anónimos, el acceso remoto con el usuario root y eliminar las bases de datos de test.

sudo mysql_secure_installation

E indicamos:

- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables

Recuerda apuntar la contraseña.

Instalar PHP

Ahora toca instalar PHP que, en esta ocasión, será la versión 7.4, la que encontramos por defecto a fecha de este artículo.

sudo apt install php libapache2-mod-php php-cli php-fpm 
sudo apt install php-json php-pdo php-mysql php-zip sudo apt install php-gd php-mbstring php-curl
sudo apt install php-xml php-pear php-bcmath

Una vez instalado, podemos comprobar su versión, así:

[email protected]:~$ php -v
Habilitar módulos y página de pruebas

Habilitamos los módulos para Apache y reiniciamos el servicio:

sudo a2enmod php7.4
sudo systemctl restart apache2

Creamos una página de prueba para comprobar la configuración de PHP.

sudo vi /var/www/html/info.php

Con este contenido:

<?php
phpinfo();
?>

Salimos y guardamos.

De esta manera, si nos vamos a nuestro navegador web favorito y escribimos la IP o el dominio, más «info.php«, deberíamos acceder a esta página:

Muestra de la web de info.php.

Instalar la última versión de Matomo

Una vez tenemos listo el servidor LAMP, descargamos la última versión del proyecto de la siguiente manera:

wget https://builds.matomo.org/matomo-latest.zip

Instalamos las herramientas necesarias para trabajar con ficheros comprimidos ZIP:

sudo apt install zip unzip

Descomprimimos dentro de la ubicación de los proyectos web por defecto para Apache:

sudo unzip matomo-latest.zip -d /var/www/

Asignamos los permisos correspondientes:

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

Ahora nos toca crear la base de datos correspondiente y asignarle un usuario:

sudo mysql -u root -p

Y procedemos:

create database matomodb;
create user [email protected] identified by 'contrasea';
grant all privileges on matomodb.* to [email protected];
flush privileges;

Configuramos el virtual host para Apache:

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

Con el contenido:

<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName servmatomo.colaboratorio.net
        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>

Añadimos el virtual host y recargamos Apache:

sudo a2ensite matomo.conf
sudo systemctl reload apache2
Habilitar el acceso HTTPS

Antes de pasar a este punto, si queréis utilizar una URL amigable para acceder a la web, recordad añadir un registro «A» en vuestro DNS.

Por ejemplo, en el caso de Cloudflare:

Añadimos registro «A» en nuestro DNS.

Ahora sí, instalamos la herramienta que nos ayudará con la configuración de los certificados de Let’s Encrypt:

sudo apt install python3-certbot-apache

Instalamos el certificado:

sudo certbot --apache --agree-tos --redirect \
--hsts --staple-ocsp -d servmatomo.colaboratorio.net

Si todo ha ido bien, ya deberíamos poder acceder al panel de configuración vía web:

Primer vistazo a la instalación de Matomo.

A partir de aquí debemos seguir las instrucciones en pantalla, no tiene mayor complicación.

Justo al final de la configuración nos dará un código de JavaScript, que debemos añadir en los proyectos web a controlar.

Aspecto de Matomo

En la imagen anterior se ve la gráfica de evolución de visitas en la web Ochobitshacenunbyte.com. Sin duda, este producto es una buena alternativa a otros privativos.

Y esto es todo, espero que esta información os sea de utilidad en algún momento.


Fuentes consultadas:

Idroot.us – How To Install Matomo on Ubuntu 20.04 LTS

Wikipedia.es – Entrada sobre Matomo


Las imágenes y sus licencias

El logo de Matomo es propiedad de la empresa. El resto de imágenes son capturas realizadas por el autor una vez instalado el producto.

4.5 2 votes
Article Rating
Subscribe
Notificarme de
guest

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

0 Comments
Inline Feedbacks
View all comments