Cómo instalar Matomo Web Analytics en Ubuntu 20.04

Instalador de Matomo Analytics

Matomo, anteriormente conocido como Piwik, es una aplicación de análisis web gratuita y de código abierto que lo ayuda a rastrear a los visitantes en línea en su sitio web. Es una alternativa al software Google Analytics que le brinda control total de los análisis y datos de su propio sitio web sin utilizar soluciones de terceros. Está diseñado para pequeñas y medianas empresas que se pueden utilizar para realizar un seguimiento de los indicadores clave de rendimiento, como visitas, descargas, tasas de conversión de objetivos, palabras clave y muchos más.

En este tutorial, le mostraremos cómo instalar el software de análisis web Matomo en Ubuntu 20.04 con Nginx y Let’s Encrypt SSL.

requisitos previos

  • Un servidor con Ubuntu 20.04.
  • Un nombre de dominio válido apuntado con la IP de su servidor.
  • Se configura una contraseña de root en el servidor.

Empezando

Primero, se recomienda actualizar los paquetes de su sistema con la última versión. Puede actualizarlos ejecutando el siguiente comando:

apt-get update -y

Una vez que todos los paquetes estén actualizados, instale otras dependencias requeridas ejecutando el siguiente comando:

apt-get install curl wget vim git unzip socat gnupg2 -y

Después de instalar todos los paquetes necesarios, puede continuar con el siguiente paso.

Instalar servidor LEMP

Matomo se ejecuta en un servidor web, está escrito en PHP y usa MySQL para la base de datos. Entonces, la pila LEMP debe estar instalada en su servidor. Puedes instalarlo con el siguiente comando:

apt-get install nginx mariadb-server php7.4 php7.4-cli php7.4-fpm php7.4-common php7.4-curl php7.4-gd php7.4-xml php7.4-mbstring php7.4-mysql -y

Una vez que se instala la pila LEMP, puede continuar con el siguiente paso.

Crear base de datos de Matomo

Matomo requiere una base de datos para almacenar los datos analíticos. Por lo tanto, deberá crear una base de datos y un usuario para Matomo.

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

mysql

Después de iniciar sesión, cree una base de datos y un usuario para Matomo con el siguiente comando:

MariaDB [(none)]> CREATE DATABASE matomodb;
MariaDB [(none)]> GRANT ALL ON matomodb.* TO 'matomo' IDENTIFIED BY 'password';

A continuación, elimine los privilegios y salga de MariaDB con el siguiente comando:

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

Una vez que se crea su base de datos, puede continuar con el siguiente paso.

Descargar Matomo

Primero, descargue la última versión de Matomo al directorio raíz web de Nginx desde su sitio web oficial con el siguiente comando:

cd /var/www/html/
wget https://builds.matomo.org/matomo.zip

Una vez descargado, descomprima el archivo descargado con el siguiente comando:

unzip matomo.zip

A continuación, cambie la propiedad del matomo a www-data:

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

Una vez que haya terminado, puede continuar con el siguiente paso.

Configurar Nginx para Matomo

A continuación, deberá crear un nuevo archivo de configuración de host virtual Nginx para servir a Matomo.

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

Agregue las siguientes líneas:

server {

  listen 80;
  server_name matomo.linuxbuz.com;
  root /var/www/html/matomo/;
  index index.php;

  location ~ ^/(index|matomo|piwik|js/index).php {
    include snippets/fastcgi-php.conf;
    fastcgi_param HTTP_PROXY ""; 
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; 
  }
  
  location = /plugins/HeatmapSessionRecording/configs.php {
    include snippets/fastcgi-php.conf;
    fastcgi_param HTTP_PROXY "";
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
  }

  location ~* ^.+\.php$ {
    deny all;
    return 403;
  }

  location / {
    try_files $uri $uri/ =404;
  }
  
  location ~ /(config|tmp|core|lang) {
    deny all;
    return 403;
  }

  location ~ \.(gif|ico|jpg|png|svg|js|css|htm|html|mp3|mp4|wav|ogg|avi|ttf|eot|woff|woff2|json)$ {
    allow all;
  }

  location ~ /(libs|vendor|plugins|misc/user) {
    deny all;
    return 403;
  }

}

Guarde y cierre el archivo, luego active el host virtual con el siguiente comando:

ln -s /etc/nginx/sites-available/matomo.conf /etc/nginx/sites-enabled/

A continuación, compruebe si hay algún error de configuración en Nginx con el siguiente comando:

nginx -t

Debería ver el siguiente resultado:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Finalmente, reinicie el servicio Nginx para aplicar los cambios:

systemctl restart nginx

En este punto, Nginx está configurado para servir a Matomo. Ahora puede continuar con el siguiente paso.

Asegure Matomo con Let’s Encrypt SSL

Siempre es una buena idea proteger su sitio web con Let’s Encrypt SSL. Primero, instale el cliente Certbot Let’s Encrypt en su servidor con el siguiente comando:

apt-get install python3-certbot-nginx -y

Una vez instalado, asegure su sitio web con Let’s Encrypt SSL ejecutando el siguiente comando: Anuncio

certbot --nginx -d matomo.linuxbuz.com

Se le pedirá que proporcione una dirección de correo electrónico válida y acepte el término del servicio como se muestra a continuación:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
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 at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing 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
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for matomo.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/matomo.conf

A continuación, elija si desea redirigir o no el tráfico HTTP a HTTPS como se muestra a continuación:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Escriba 2 y presione Entrar para finalizar la instalación. Debería ver el siguiente resultado:

Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/matomo.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://matomo.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=matomo.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/matomo.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/matomo.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-10-30. 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"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - 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

 - We were unable to subscribe you the EFF mailing list because your
   e-mail address appears to be invalid. You can try again later by
   visiting https://act.eff.org.

Ahora, su sitio web de Matomo está protegido con Let’s Encrypt SSL.

Acceder a Matomo Analytics

Ahora, abra su navegador web y escriba la URL https://matomo.linuxbuz.com. Será redirigido a la pantalla de bienvenida de Matomo:

Instalador de Matomo Analytics

Haga clic en el SIGUIENTE botón. Debería ver la pantalla de verificación de requisitos previos de Matomo:

Chequeo del sistema

Haga clic en el SIGUIENTE botón. Debería ver la pantalla de configuración de la base de datos de matomo:

Configuración de la base de datos

Proporcione los detalles de su base de datos y haga clic en el SIGUIENTE botón. Debería ver la siguiente pantalla:

Creación de tablas de base de datos

Haga clic en el SIGUIENTE botón. Debería ver la pantalla de configuración del usuario administrador:

Añadir un superusuario

Proporcione su nombre de usuario de administrador, contraseña, correo electrónico y haga clic en el SIGUIENTE botón. Debería ver la pantalla de configuración del sitio web:

Configurar sitio web

Proporcione los detalles de su sitio web y haga clic en el SIGUIENTE botón. Debería ver la siguiente pantalla:

Código de seguimiento del sitio web

Haga clic en el SIGUIENTE botón. Una vez finalizada la instalación, debería ver la siguiente pantalla:

Matomo instalado con éxito

Haga clic en el CONTINUAR A MATOMO. Será redirigido a la pantalla de inicio de sesión de Matomo:

Iniciar sesión

Proporcione su nombre de usuario y contraseña de administrador y haga clic en el REGISTRARSE botón. Debería ver el tablero de Matomo en la siguiente pantalla:

Panel de Matomo

Conclusión

¡Felicidades! Ha instalado y configurado con éxito el análisis de Matomo con Nginx y Let’s Encrypt en Ubuntu 20.04. Ahora puede integrar su sitio web con Matomo y comenzar a rastrear su sitio web. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *