Pesquisa de site

Como instalar o Matomo Web Analytics no Debian 9


Este tutorial existe para estas versões do sistema operacional

  • Debian 11 (Bullseye)
  • Debian 9 (Stretch)

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 acme.sh cliente 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, que é executado em um servidor da web PHP/MySQL. Ele rastreia as 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. O Matomo é de 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 irá mostrar como instalar o Matomo em um sistema Debian 9 (stretch) usando Nginx como servidor web e protegeremos o site com um certificado Lets Encrypt SSL.

Requisitos

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

  • Servidor da Web como Apache ou Nginx.
  • 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 Debian 9 (stretch).
  • Um usuário não root com privilégios sudo.

Etapas iniciais

Verifique sua versão do Debian:

lsb_release -ds
# Debian GNU/Linux 9.6 (stretch)

Configure o fuso horário:

dpkg-reconfigure tzdata

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:

apt update && apt upgrade -y

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

apt install -y curl wget vim git unzip socat sudo

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

Matomo é compatível com bancos de dados MySQL e MariaDB. A equipe do Debian substituiu o MySQL pelo MariaDB como o banco de dados padrão do Debian 9 (stretch). Portanto, neste tutorial, usaremos o MariaDB como o servidor de banco de dados. Se você deseja instalar o MySQL original, pode adicionar e usar o repositório MySQL oficial mantido pela Oracle.

Instale o servidor de banco de dados MariaDB:

sudo apt install -y mariadb-server

Verifique a versão do MariaDB:

mysql --version
# mysql  Ver 14.14 Distrib 5.7.24, for Linux (x86_64) using  EditLine wrapper

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

sudo mysql_secure_installation

Responda a cada uma das perguntas:

Enter current password for root (enter for none): Press Enter
Set root password? [Y/n] y
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 MariaDB como usuário root:

sudo mysql -u root -p
# Enter password

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

mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;

Sair do MariaDB:

mysql> exit

Substitua dbnameusername e password pelos 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 apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-common php7.0-curl php7.0-gd php7.0-xml php7.0-mbstring php7.0-mysql

Verifique a versão do PHP:

php --version

# PHP 7.0.33-0+deb9u1 (cli) (built: Dec  7 2018 11:36:49) ( NTS )
# Copyright (c) 1997-2017 The PHP Group
# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
# with Zend OPcache v7.0.33-0+deb9u1, Copyright (c) 1999-2017, by Zend Technologies

O serviço PHP-FPM é iniciado e ativado automaticamente na reinicialização do sistema Debian 9, portanto, não há necessidade de iniciá-lo e ativá-lo manualmente. 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 mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail 
cd ~

Verifique a versão do acme.sh:

/etc/letsencrypt/acme.sh --version
# v2.8.0

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

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo /etc/letsencrypt/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: /etc/letsencrypt/example.com diretório.
  • Para ECC/ECDSA: /etc/letsencrypt/example.com_ecc diretório.

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 o Nginx do repositório Debian:

sudo apt install -y nginx

Verifique a versão do Nginx:

sudo nginx -v
# nginx version: nginx/1.10.3

Configure o Nginx para Matomo executando:

sudo vim /etc/nginx/sites-available/matomo.conf

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

server {

listen [::]:443 ssl http2;
listen 443 ssl http2;
listen [::]:80;
listen 80;

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

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;

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

location = /plugins/HeatmapSessionRecording/configs.php {
include snippets/fastcgi-php.conf;
fastcgi_param HTTP_PROXY "";
fastcgi_pass unix:/var/run/php/php7.0-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;
}

}

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

Ative a nova configuração matomo.conf vinculando o arquivo ao diretório sites-enabled.

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

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

sudo nginx -t

Recarregue o serviço Nginx:

sudo systemctl reload nginx.service

Etapa 4 - Instale o Matomo Analytics

Crie o diretório /var/www :

sudo mkdir -p /var/www

Navegue até o diretório /var/www :

cd /var/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 /var/www/matomo para www-data user:

sudo chown -R www-data:www-data /var/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 \Próximo\ :

Depois, você verá uma página \System Check\. Se algo estiver faltando, você verá um aviso. Se tudo estiver marcado com uma 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: