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:
Haz clic en el botón Siguiente. Deberías ver la página de 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:
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:
Pulsa el botón SIGUIENTE. Deberías ver la página de creación de Super Usuario:
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:
Proporciona el nombre de tu sitio web, URL, zona horaria y pulsa el botón SIGUIENTE. Deberías ver la siguiente página:
Haz clic en el botón SIGUIENTE. Deberías ver la página de verificación de la configuración:
Haz clic en el botón CONTINUAR A MATOMO. Deberías ver la página de 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.
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.