Cómo instalar Matomo en CentOS 7 Nginx

Cómo instalar Matomo en CentOS 7 Nginx

En este artículo, aprenderemos cómo instalar Matomo en CentOS 7 Nginx.

Matomo, anteriormente Piwik, es una aplicación de análisis web de código abierto y gratuita desarrollada por un equipo de desarrolladores internacionales, que se ejecuta en un servidor web PHP / MySQL. Realiza un seguimiento de las visitas en línea a uno o más sitios web y muestra informes sobre estas visitas para su análisis.

Por qué Matomo

Los datos de análisis son suyos. Sus datos de Matomo Analytics son 100% suyos, sin terceros externos que los miren.

A diferencia de Google Analytics, que utiliza sus datos para servir su plataforma publicitaria, los usuarios de Matomo pueden utilizar la analítica de forma segura sin preocuparse de que los datos se utilicen con fines de marketing o con cualquier otro fin.

Requisitos previos:

Antes de comenzar, asegúrese de tener lo siguiente:

  • Un VPS o servidor dedicado.
  • Un sistema operativo que ejecuta CentOS 7
  • Acceso a su servidor web (vía shell o FTP)

1. Pasos iniciales

Mantenga su servidor actualizado:

# yum update -y

2. Instale MariaDB 10.4 y cree una base de datos para Matomo

Cree el archivo MariaDB.repo en su editor favorito:

# vi /etc/yum.repos.d/MariaDB.repo

Y agregue las siguientes líneas:

# MariaDB 10.4 CentOS repository list
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]

name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Ahora, comience la instalación de MariaDB 10.4

# yum install MariaDB-client MariaDB-server

Una vez que haya terminado, inicie MariaDB:

# systemctl start mariadb.service

# systemctl enable mariadb.service

Asegure el MySQL

# mysql_secure_installation

2. Instale Nginx

Agregue el repositorio de EPEL (paquetes adicionales para Enterprise Linux):

# yum install epel-release

Ahora, instale NGINX usando el siguiente comando:

# yum install nginx

Iniciar y habilitar el servicio Nginx

# systemctl start nginx

# systemctl enable nginx

Configurar Nginx para Matomo

# vi /etc/nginx/conf.d/matomo.conf

Agregue las siguientes líneas de configuración:

server {

listen [::]:80;
listen 80;

server_name example.com;
root /var/www/matomo/;
index index.php;

location ~ ^/(index|matomo|piwik|js/index).php {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
try_files $fastcgi_script_name =404;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param HTTP_PROXY "';
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
}

location = /plugins/HeatmapSessionRecording/configs.php {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
try_files $fastcgi_script_name =404;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param HTTP_PROXY "';
fastcgi_pass unix:/var/run/php-fpm/php-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;
}

}

No se preocupe por la redirección SSL por ahora. Instalaremos Let's Encrypt usando Certbot más adelante en este artículo. Certbot agregará la redirección SSL y la ubicación del certificado automáticamente durante la obtención del certificado.

Prueba la configuración

# nginx -t

Si la prueba se realiza correctamente, reinicie el servicio Nginx. Si la prueba falla, verifique el error y modifique el archivo de configuración según los requisitos.

# systemctl restart nginx

3. Instale PHP con PHP-FPM para Nginx

Instale el repositorio de Remi:

# rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Habilitar la versión de PHP:

# yum-config-manager --enable remi-php73

Ahora, instale PHP 7.3 junto con los módulos PHP requeridos:

# yum -y install php php-fpm php-common php-mysqlnd php-gd  php-json php-libxml php-mbstring php-xml php-curl php-fileinfo  php-mcrypt php-memcached php-imagick

Abra el archivo de configuración php-fpm:

# vi /etc/php-fpm.d/www.conf

Busque usuario y grupo, cambie el parámetro a nginx desde apache.

user = nginx

group = nginx

Busque el parámetro de escucha y cámbielo como:

listen = /var/run/php-fpm/php-fpm.sock

Busque líneas que establezcan el listen.owner y listen.group y descomentarlos. Establecer en nginx:

listen.owner = nginx

listen.group = nginx

Después de realizar la configuración, guarde y salga.

Ahora, inicie y habilite el procesador PHP:

# systemctl start php-fpm

# systemctl enable php-fpm

4. Instale Let's Encrypt usando Certbot

Instale el paquete certbot-nginx:

# yum install certbot-nginx -y

Obtener un certificado

# certbot --nginx -d yoursite.com -d www.yousite.com

5. Instale Matomo Analytics

Navegue al directorio / var / www

# cd /var/www/

Descargue la última versión de Matomo usando el comando wget y descomprímalo

# wget https://builds.matomo.org/matomo.zip && unzip matomo.zip

Eliminar el archivo matomo.zip descargado

# rm -rf matomo.zip

Cambie la propiedad del directorio / var / www / matomo a usuario nginx

# chown -R nginx:nginx /var/www/matomo

6. Complete Matomo Analytics

Abra su sitio web en el navegador y siga el asistente de instalación web de Matomo.

¡Es hora de comenzar con la instalación de apuntar y hacer clic! Haga clic en Siguiente "

Cómo instalar Matomo en CentOS 7 Nginx

Hemos aprendido con éxito cómo instalar Matomo en CentOS 7 Nginx.