Cómo instalar Matomo Web Analytics en Debian

Matomo, antes conocido como Piwik, es una aplicación de análisis web gratuita y de código abierto desarrollada por una comunidad de desarrolladores. Se utiliza para hacer un seguimiento de tu sitio web y ofrecer información detallada sobre tu sitio web y sus visitantes, incluidos los motores de búsqueda y las palabras clave que utilizaron, el idioma que hablan, qué páginas les gustan, los archivos que descargan y mucho más. Ofrece muchas funciones, como Google AdWords, Facebook Ads, Yahoo, marketing de búsqueda, API de seguimiento e informes y Coste por clic (CPC).

En este tutorial, te mostraré cómo instalar Matomo en Debian 11 con un servidor web Apache2 y un certificado SSL gratuito Let’s Encrypt.

Requisitos previos

  • Un servidor con Debian 11.
  • Un nombre de dominio válido apuntado con la IP de tu servidor.
  • Una contraseña raíz configurada en el servidor.

Instalar Apache, MariaDB y PHP

En primer lugar, tendrás que instalar el servidor web Apache, el servidor de bases de datos MariaDB, PHP y otras extensiones de PHP en tu servidor. Puedes instalarlos todos ejecutando el siguiente comando:

apt-get install apache2 mariadb-server php libapache2-mod-php php-cli php-fpm php-fpm php-json php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath curl unzip -y

Tras instalar todos los paquetes, inicia y habilita el servicio Apache y MariaDB mediante el siguiente comando:

systemctl start apache2 mariadb
systemctl enable apache2 mariadb

Una vez que hayas terminado, puedes pasar al siguiente paso.

Crear una base de datos MariaDB para Matomo

Matomo utiliza MariaDB como base de datos. Así que necesitarás crear una base de datos y un usuario para Matomo.

Primero, inicia sesión en MariaDB con el siguiente comando:

mysql

Una vez que hayas iniciado sesión, crea una base de datos y un usuario con el siguiente comando:

MariaDB [(none)]> CREATE DATABASE matomodb;
MariaDB [(none)]> CREATE USER 'matomo'@'localhost' IDENTIFIED BY 'password';

A continuación, concede todos los privilegios a la base de datos Matomo con el siguiente comando:

MariaDB [(none)]> GRANT ALL ON matomodb.* TO 'matomo'@'localhost' WITH GRANT OPTION;

A continuación, vacía los privilegios y sal del intérprete de comandos de MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Después de configurar la base de datos MariaDB, puedes pasar al siguiente paso.

Descarga Matomo

A continuación, visita el sitio web oficial de Matomo y descarga la última versión de Matomo con el siguiente comando:

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

Una vez finalizada la descarga, descomprime el archivo descargado con el siguiente comando:

unzip matomo-latest.zip

A continuación, mueve el directorio extraído al directorio raíz web de Apache:

mv matomo /var/www/html/matomo

A continuación, cambia la propiedad y el permiso del directorio Matomo:

chown -R www-data:www-data /var/www/html/matomo
chmod -R 755 /var/www/html/matomo

Cuando hayas terminado, puedes pasar al siguiente paso.

Configurar Apache para Matomo

A continuación, tendrás que crear un archivo de configuración del host virtual de Apache para alojar Matomo en Internet. Puedes crearlo con el siguiente comando:

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

Añade las siguientes líneas:

<VirtualHost *:80>

ServerAdmin [email protected]
ServerName matomo.example.com
DocumentRoot /var/www/html/matomo/

<Directory /var/www/html/matomo>
DirectoryIndex index.php
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>

<Files "console">
Options None
Require all denied
</Files>

<Directory /var/www/html/matomo/misc/user>
Options None
Require all granted
</Directory>

<Directory /var/www/html/matomo/misc>
Options None
Require all denied
</Directory>

<Directory /var/www/html/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 y cierra el archivo cuando hayas terminado y, a continuación, activa el host virtual de Matomo y el módulo de reescritura de Apache con el siguiente comando:

a2ensite matomo.conf
a2enmod rewrite

A continuación, reinicia el servicio Apache para aplicar los cambios:

systemctl restart apache2

También puedes comprobar el estado de Apache con el siguiente comando:

systemctl status apache2

Obtendrás la siguiente salida:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-03-06 06:33:24 UTC; 5s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 55482 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 55486 (apache2)
      Tasks: 6 (limit: 4679)
     Memory: 12.4M
        CPU: 108ms
     CGroup: /system.slice/apache2.service
             ??55486 /usr/sbin/apache2 -k start
             ??55487 /usr/sbin/apache2 -k start
             ??55488 /usr/sbin/apache2 -k start
             ??55489 /usr/sbin/apache2 -k start
             ??55490 /usr/sbin/apache2 -k start
             ??55491 /usr/sbin/apache2 -k start

Mar 06 06:33:24 debian11 systemd[1]: Starting The Apache HTTP Server...
Mar 06 06:33:24 debian11 apachectl[55485]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 209>
Mar 06 06:33:24 debian11 systemd[1]: Started The Apache HTTP Server.

Accede a la interfaz web de Matomo

Ahora, abre tu navegador web y accede a la interfaz web de Matomo utilizando la URL http://matomo.example.com. Serás redirigido a la siguiente página:

Instalador web de Matomo

Haz clic en el botón Siguiente. Deberías ver la página de comprobación de la configuración PHP:

Comprobación de la configuración PHP

Asegúrate de que todas las configuraciones son correctas y pulsa el botón SIGUIENTE. Deberías ver la página de configuración de la base de datos MariaDB:

Configuración de la base de datos

Proporciona tu servidor de base de datos, nombre de usuario, nombre de la base de datos, contraseña y pulsa el botón SIGUIENTE. Deberías ver la siguiente página:

Crear tablas de base de datos

Pulsa el botón SIGUIENTE. Deberías ver la página de creación de Super Usuario:

Matomo superusuario

Proporciona tu nombre de usuario administrador, contraseña, correo electrónico y pulsa el botón SIGUIENTE. Deberías ver la página de configuración del sitio web:

crear un sitio web

Proporciona el nombre de tu sitio web, URL, zona horaria y pulsa el botón SIGUIENTE. Deberías ver la siguiente página:

Código de seguimiento

Haz clic en el botón SIGUIENTE. Deberías ver la página de verificación de la configuración:

Ajustes de Matomo

Haz clic en el botón CONTINUAR A MATOMO. Deberías ver la página de inicio de sesión en Matomo:

Inicio de sesión en Matomo

Proporciona tu nombre de usuario y contraseña de administrador, y haz clic en el botón INICIAR SESIÓN. Deberías ver el panel de control de Matomo en la página siguiente: Ahora puedes copiar el código de seguimiento que se muestra en la imagen anterior y pegarlo en todas las páginas de tu sitio web.

Tablero Matomo

Proteger Matomo con Let’s Encrypt SSL

A continuación, tendrás que instalar el cliente Certbot para instalar el SSL de Let’s Encrypt para tu sitio web. Puedes instalarlo con el siguiente comando:

dnf install epel-release -y dnf install certbot python3-certbot-apache

A continuación, obtén e instala un certificado SSL para tu dominio lets con el siguiente comando:

certbot --apache -d matomo.example.com

Se te pedirá que proporciones tu dirección de correo electrónico y que aceptes las condiciones del servicio:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Account registered.
Requesting a certificate for matomo.example.com
Performing the following challenges:
http-01 challenge for matomo.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/httpd/conf.d/matomo.conf
Redirecting all traffic on port 80 to ssl in /etc/httpd/conf.d/matomo.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://matomo.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Subscribe to the EFF mailing list (email: [email protected]).


IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/matomo.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/matomo.example.com/privkey.pem
   Your certificate will expire on 2022-05-09. To obtain a new or
   tweaked version of this certificate in the future, simply run
   certbot again with the "certonly" option. To non-interactively
   renew *all* of your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Conclusión

Enhorabuena! has instalado Matomo con éxito en Debian 11. Ahora puedes añadir código de seguimiento a tu sitio web y empezar a monitorizarlo desde el panel de control de Matomo. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...