Cómo instalar Matomo (Piwik) Web Analytics en CentOS 8

Instalador de Piwik

Matomo, anteriormente conocido como Piwik, es una aplicación de análisis de código abierto para el sistema operativo Linux. Es muy similar a Google Analytics que lo ayuda a rastrear y mostrar la ubicación de las visitas de los usuarios. Fue desarrollado por un equipo de desarrolladores internacionales que se ejecuta en un servidor web PHP/MySQL. Ofrece muchas características, algunas de ellas se enumeran a continuación:

  • Flexibilidad, fiabilidad y seguridad
  • Aut√≥nomo, simple y f√°cil de usar
  • 100 % de propiedad de los datos
  • Cumplimiento del RGPD
  • Anal√≠tica web y m√≥vil

En este tutorial, le mostraremos cómo instalar y configurar la aplicación de análisis Piwik en el servidor CentOS 8.

requisitos previos

  • Un servidor que ejecuta CentOS 8.
  • Un nombre de dominio v√°lido apuntado con la IP de su servidor.
  • Una contrase√Īa de root est√° configurada en su servidor.

Instalar servidor LAMP

Piwik se ejecuta en un servidor LAMP, por lo que deber√° instalar Apache, MariaDB, PHP y otras extensiones de PHP en su sistema. Puede instalarlos todos con el siguiente comando:

dnf install httpd mariadb-server php php-mysqlnd php-fpm unzip wget php-json php-dom php-gd php-mbstring -y

Una vez que todos los paquetes estén instalados, edite el archivo php.ini y establezca algunos valores deseados:

nano /etc/php.ini

Cambie los siguientes valores:

upload_max_filesize = 10M
post_max_size = 10M
max_execution_time = 300
max_input_time = 300
memory_limit = 256M

Guarde y cierre el archivo, luego inicie el servicio Apache y MariaDB y habilítelos para que se inicien al reiniciar el sistema:

systemctl start mariadb
systemctl start httpd
systemctl enable mariadb
systemctl enable httpd

Crear una base de datos para Piwik

A continuación, deberá crear una base de datos y un usuario para Piwik. Primero, inicie sesión en MariaDB con el siguiente comando:

mysql

Una vez que inicie sesión, cree una base de datos y un usuario con el siguiente comando:

mysql> CREATE DATABASE matomo;
mysql> CREATE USER `matomo`@`localhost` IDENTIFIED BY 'password';

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

mysql> GRANT ALL ON matomo.* TO `matomo`@`localhost`;

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

mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Instalar Piwik

A continuaci√≥n, deber√° descargar la √ļltima versi√≥n de Piwik desde su sitio web oficial. Primero, cambie el directorio a la ra√≠z web de Apache con el siguiente comando:

cd /var/www/html

A continuación, descargue Piwik usando el siguiente comando:

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

Una vez completada la descarga, descomprima el archivo descargado con el siguiente comando:

unzip matomo-latest.zip

A continuación, establezca el permiso y la propiedad adecuados para la raíz web con el siguiente comando:

chown -R apache:apache /var/www/html/matomo
chmod -R 775 /var/www/html/matomo

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

Configurar SELinux y Firewall

A continuación, deberá permitir los puertos 80 y 443 a través del firewall. Puede permitirlos con el siguiente comando:

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https

A continuación, vuelva a cargar el firewalld para aplicar los cambios:

firewall-cmd --reload

A continuación, también deberá configurar SELinux para Piwik. Puedes configurarlo con el siguiente comando:

chcon -R -t httpd_sys_rw_content_t /var/www/html/matomo/
setsebool httpd_can_network_connect on -P

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

Configurar Apache para Piwik

A continuación, deberá configurar el servidor web Apache para alojar el sitio web de Piwik. Puede hacerlo creando un nuevo archivo de configuración de host virtual de Apache:

nano /etc/httpd/conf.d/piwik.conf

Agregue las siguientes líneas:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/var/www/html/matomo"
ServerName piwik.example.com
<Directory "/var/www/html/matomo/">
Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
TransferLog /var/log/httpd/matomo_access.log
ErrorLog /var/log/httpd/matomo_error.log

</VirtualHost>

Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servidor web Apache para aplicar los cambios:

systemctl restart httpd

Ahora puede verificar el estado de Apache con el siguiente comando:

systemctl status httpd

Deberías obtener el siguiente resultado:

? httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           ??php-fpm.conf
   Active: active (running) since Sun 2020-12-27 05:38:29 EST; 5s ago
     Docs: man:httpd.service(8)
 Main PID: 4228 (httpd)
   Status: "Started, listening on: port 80"
    Tasks: 213 (limit: 12523)
   Memory: 36.8M
   CGroup: /system.slice/httpd.service
           ??4228 /usr/sbin/httpd -DFOREGROUND
           ??4229 /usr/sbin/httpd -DFOREGROUND
           ??4230 /usr/sbin/httpd -DFOREGROUND
           ??4231 /usr/sbin/httpd -DFOREGROUND
           ??4232 /usr/sbin/httpd -DFOREGROUND

Dec 27 05:38:28 centos8 systemd[1]: Stopped The Apache HTTP Server.
Dec 27 05:38:28 centos8 systemd[1]: Starting The Apache HTTP Server...

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

Acceder a la interfaz web de Piwik

Ahora, abra su navegador web y acceda a la interfaz web de Piwik usando la URL http://piwik.ejemplo.com. Ser√° redirigido a la siguiente p√°gina:

Instalador de Piwik

Haga clic en el SIGUIENTEdebería ver la página de comprobación del sistema:

Chequeo del sistema

Haga clic en el SIGUIENTEdebería ver la página de configuración de la base de datos:

Configuración de la base de datos

Proporcione el nombre de usuario de su base de datos, el nombre de la base de datos, la contrase√Īa y haga clic en el SIGUIENTEdeber√≠as ver la siguiente p√°gina:

Creación de tablas de base de datos

Haga clic en el SIGUIENTEdebería ver la página de creación de usuario administrador:

Agregar cuenta de usuario administrador

Proporcione su nombre de usuario de administrador, contrase√Īa, correo electr√≥nico y luego haga clic en el SIGUIENTE. Deber√≠a ver la p√°gina de configuraci√≥n del sitio web:

Configurar un sitio web

Proporcione los detalles de su sitio web y haga clic en el SIGUIENTE. Debería ver su código de seguimiento en la siguiente página:

Código de seguimiento JS para Piwik

An√°lisis de registro

Haga clic en el SIGUIENTE. Una vez finalizada la instalación. Deberías ver la siguiente página:

Instalación terminada

Haga clic en el CONTINUAR A MATOMO. Debería ver la página 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. Deber√≠a ver el tablero de MATOMO en la siguiente p√°gina:

Tablero de estadísticas

Asegure Matomo con Let’s Encrypt SSL

A continuaci√≥n, deber√° instalar la utilidad Certbot en su sistema para descargar e instalar Let’s Encrypt SSL para su sitio web de Piwik.

Puede instalar el cliente de Certbot con el siguiente comando:

wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

A continuación, obtenga e instale un certificado SSL para su sitio web de Mantis con el siguiente comando:

certbot-auto --apache -d piwik.example.com
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 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 piwik.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/httpd/conf.d/piwik.conf

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

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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 continuar. Una vez finalizada la instalación, debería ver el siguiente resultado:

Redirecting all traffic on port 80 to ssl in /etc/httpd/conf.d/piwik.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://piwik.example.com

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

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/piwik.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/piwik.example.com/privkey.pem
   Your cert will expire on 2020-03-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again with the "certonly" option. To non-interactively renew *all*
   of your certificates, run "certbot-auto 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

En este punto, su sitio web est√° protegido con Let’s Encrypt SSL.

Conclusi√≥n ¬°Felicidades! ha instalado y configurado con √©xito Piwik con Apache y Let’s Encrypt SSL en CentOS 8. Ahora puede agregar su c√≥digo de seguimiento en su sitio web y comenzar a monitorear a los visitantes de su sitio web desde el panel de control de Piwik. 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 *