Pesquisa de site

Como instalar o Matomo Web Analytics com Nginx no FreeBSD 12.0


Nesta página

  1. Requisitos
  2. Pré-requisitos
  3. Etapas iniciais
  4. Passo 1 - Instale o MySQL e crie um banco de dados para o Matomo
  5. Etapa 2 - Instale o PHP e as extensões PHP necessárias
  6. Etapa 3 - Instale o cliente acme.sh e obtenha Let\>)
  7. Etapa 3 - Instale o NGINX e configure o NGINX para Matomo
  8. Etapa 4 - Instale o Matomo Analytics
  9. Etapa 5 - Conclua a configuração do Matomo Analytics
  10. Links

Matomo (anteriormente Piwik) é um aplicativo de análise da web gratuito e de código aberto desenvolvido por uma equipe de desenvolvedores internacionais, executado em um servidor PHP/MySQL. Ele rastreia visitas online a um ou mais sites e exibe relatórios sobre essas visitas para análise. Você pode pensar nisso como uma alternativa ao Google Analytics. Matomo é um código aberto e seu código está disponível publicamente no Github. Alguns dos recursos que ele possui são: Teste A/B, Mapas de calor, Funis, API de rastreamento e relatórios, Google AdWords, Facebook Ads, Bing Ads, Custo por clique (CPC), etc. Este tutorial mostrará como instalar o Matomo em um sistema FreeBSD 12.0 usando Nginx como servidor da web e protegeremos o site com um certificado Lets Encrypt SSL.

Requisitos

Para executar o Matomo (Piwik) em seu sistema FreeBSD 12.0, você precisará de algumas coisas:

  • Um servidor da web como Apache, Nginx, IIS.
  • PHP versão 5.5.9 ou superior com extensões pdo e pdo_mysql ou mysqli, gd, xml, curl e mbsting. PHP 7+ é recomendado.
  • MySQL versão 5.5 ou superior, ou a versão MariaDB equivalente. MySQL 5.7+ é recomendado.

Pré-requisitos

  • Um sistema operacional rodando FreeBSD 12.0.
  • Um usuário não root com privilégios sudo.

Etapas iniciais

Verifique sua versão do FreeBSD:

uname -ro
# FreeBSD 12.0-RELEASE

Configure o fuso horário:

tzsetup

Atualize seus pacotes de sistema operacional (software). Este é um primeiro passo importante porque garante que você tenha as atualizações e correções de segurança mais recentes para os pacotes de software padrão do seu sistema operacional:

freebsd-update fetch install
pkg update && pkg upgrade -y

Instale alguns pacotes essenciais que são necessários para a administração básica do sistema operacional FreeBSD 12.0:

pkg install -y sudo vim unzip wget bash

Passo 1 - Instale o MySQL e crie um banco de dados para o Matomo

Matomo é compatível com bancos de dados MySQL e MariaDB. Neste tutorial, usaremos o MySQL como servidor de banco de dados.

Instale o servidor de banco de dados MySQL:

sudo pkg install -y mysql57-server

Verifique a versão do MySQL:

mysql --version
# mysql  Ver 14.14 Distrib 5.7.26, for FreeBSD12.0 (amd64) using  EditLine wrapper

Ative e inicie o serviço MySQL :

sudo sysrc mysql_enable="yes"
sudo service mysql-server start

Execute o script de instalação mysql_secure para melhorar a segurança do MySQL e defina a senha para o usuário root do MySQL:

sudo mysql_secure_installation

Responda a cada uma das perguntas:

Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Conecte-se ao shell do MySQL como usuário root:

sudo mysql -u root -p
# Enter password

Crie um banco de dados MySQL vazio e um usuário para Matomo e lembre-se das credenciais:

CREATE DATABASE dbname;
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Sair do MySQL:

exit

Substitua dbname, username e password por seus próprios nomes.

Etapa 2 - Instale o PHP e as extensões PHP necessárias

Instale o PHP, bem como as extensões PHP necessárias:

sudo pkg install -y php73 php73-ctype php73-curl php73-dom php73-hash php73-iconv php73-gd php73-json php73-mbstring php73-openssl php73-session php73-simplexml php73-xml php73-zip php73-zlib php73-pdo php73-pdo_mysql php73-mysqli php73-filter php73-ftp php73-tokenizer php73-calendar php73-pecl-APCu php73-opcache

Verifique a versão do PHP:

php --version

# PHP 7.3.7 (cli) (built: Jul 25 2019 01:28:53) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.3.7, Copyright (c) 1999-2018, by Zend Technologies

Habilite e inicie o serviço PHP-FPM:

sudo sysrc php_fpm_enable=yes
sudo service php-fpm start

Podemos passar para a próxima etapa, que é obter certificados SSL gratuitos da Lets Encrypt CA.

Passo 3 - Instale o cliente acme.sh e obtenha o certificado Lets Encrypt (opcional)

Proteger seu site com HTTPS não é necessário, mas é uma boa prática proteger o tráfego do site. Para obter o certificado TLS da Lets Encrypt, usaremos o cliente Acme.sh. Acme.sh é um software de shell UNIX puro para obter certificados TLS da Lets Encrypt com zero dependências.

Baixe e instale Acme.sh:

sudo pkg install -y acme.sh

Verifique a versão Acme.sh :

acme.sh --version
# v2.8.2

Obtenha certificados RSA e ECC/ECDSA para seu domínio/nome de host:<br>

# RSA
sudo acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256

Depois de executar os comandos acima, seus certificados e chaves estarão em:

  • Para RSA: diretório /etc/letsencrypt/example.com.
  • Para ECC/ECDSA: diretório /etc/letsencrypt/example.com_ecc.

Etapa 3 - Instale o NGINX e configure o NGINX para Matomo

O Matomo pode funcionar bem com muitos softwares de servidor da web populares. Neste tutorial, selecionamos Nginx.

Baixe e instale a versão principal mais recente do Nginx no repositório FreeBSD:

sudo pkg install -y nginx-devel

Verifique a versão do Nginx:

nginx -v
# nginx version: nginx/1.17.2

Habilite e inicie o Nginx:

sudo sysrc nginx_enable=yes
sudo service nginx start

Configure o Nginx para Matomo executando:

sudo vim /usr/local/etc/nginx/matomo.conf

E preencha o arquivo com a seguinte configuração:

server {
  
listen [::]:443 ssl;
listen 443 ssl; listen [::]:80; listen 80;
ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;
server_name example.com; root /usr/local/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; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_param HTTP_PROXY ""; fastcgi_pass 127.0.0.1:9000; } 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; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_param HTTP_PROXY ""; fastcgi_pass 127.0.0.1:9000; } location ~* ^.+\.php$ { deny all; return 403; } location / { try_files $uri $uri/ =404; } location ~ /(config|tmp|core|lang) { deny all; return 403; } location ~ /\.ht { 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; expires 1h; add_header Pragma public; add_header Cache-Control "public"; } location ~ /(libs|vendor|plugins|misc/user) { deny all; return 403; } location ~/(.*\.md|LEGALNOTICE|LICENSE) { default_type text/plain; } }

OBSERVAÇÃO: Para obter a configuração Nginx completa e pronta para produção para Matomo, visite https://github.com/matomo-org/matomo-nginx.

Execute sudo vim /usr/local/etc/nginx/nginx.conf e adicione a linha abaixo ao bloco http{} para incluir a configuração do Matomo.

include matomo.conf;

Verifique a configuração do Nginx quanto a erros de sintaxe:

sudo nginx -t

Recarregue o serviço Nginx:

sudo service nginx reload

Etapa 4 - Instale o Matomo Analytics

Navegue até o diretório /usr/local/www :

cd /usr/local/www/

Baixe a versão mais recente do Matomo via wget e descompacte-o:

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

Remova o arquivo matomo.zip baixado:

sudo rm matomo.zip

Altere a propriedade do diretório /usr/local/www/matomo para www user:

sudo chown -R www:www /usr/local/www/matomo

Etapa 5 - Conclua a configuração do Matomo Analytics

Abra seu site em um navegador da Web e siga o assistente de instalação da Web do Matomo.

Primeiro, a mensagem de boas-vindas do Matomo deve aparecer. Clique no botão \Avançar\:

Depois, você verá uma página \System Check\. Se algo estiver faltando, você verá um aviso. Se tudo estiver marcado com marca de seleção verde, clique no botão \Avançar\ para prosseguir para a próxima etapa:

Em seguida, preencha os detalhes do banco de dados e clique no botão \Avançar\:

Se tudo correu bem com a configuração do banco de dados, você deve ver a mensagem \Tabelas criadas com sucesso!\:

Crie uma conta de superusuário Matomo e clique no botão \Avançar\:

Em seguida, configure o primeiro site que você gostaria de rastrear e analisar com o Matomo. Mais tarde, você pode adicionar mais sites para rastrear com o Matomo:

Em seguida, você receberá o código de rastreamento JavaScript do seu site que precisa adicionar para iniciar o rastreamento.

Em seguida, você deve ver que a instalação do Matomo está concluída.

Parabéns! Sua instalação do Matomo está completa.

links

  • https://matomo.org/
  • https://github.com/matomo-org/matomo-nginx

Artigos relacionados: