Instalação Matomo · 6 min read · Dec 17, 2025

Como Instalar Matomo Web Analytics no Debian 9

Matomo (anteriormente Piwik) é um aplicativo de análise web gratuito e de código aberto desenvolvido por uma equipe de desenvolvedores internacionais, que roda em um servidor web PHP / MySQL. Ele rastreia visitas online a um ou mais sites e exibe relatórios sobre essas visitas para análise. Você pode pensar nele como uma alternativa ao Google Analytics. Matomo é de código aberto e seu código está publicamente disponível no Github. Algumas das funcionalidades que ele possui são: Testes 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 Debian 9 (stretch) usando Nginx como servidor web e vamos proteger o site com um certificado SSL Let’s Encrypt.

Requisitos

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

  • Servidor 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 equivalente do MariaDB. MySQL 5.7+ é recomendado.

Pré-requisitos

  • Um sistema operacional rodando Debian 9 (stretch).
  • Um usuário não-root com privilégios sudo.

Passos 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 os pacotes do seu sistema operacional (software). Este é um primeiro passo importante porque garante que você tenha as últimas atualizações e correções de segurança 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 - Instalar MySQL e criar um banco de dados para Matomo

Matomo suporta bancos de dados MySQL e MariaDB. A equipe do Debian substituiu o MySQL pelo MariaDB como o banco de dados padrão a partir do Debian 9 (stretch), então neste tutorial, usaremos o MariaDB como o servidor de banco de dados. Se você quiser instalar o MySQL original, pode adicionar e usar o repositório oficial do MySQL 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 mysql_secure_installation para melhorar a segurança do MariaDB e definir a senha para o usuário root do MariaDB:

sudo mysql_secure_installation

Responda a cada uma das perguntas:

Digite a senha atual para root (pressione Enter para nenhum): Pressione Enter  
Definir senha root? [Y/n] y  
Nova senha: sua_senha_segura  
Reinsira a nova senha: sua_senha_segura  
Remover usuários anônimos? [Y/n] Y  
Desabilitar login remoto do root? [Y/n] Y  
Remover banco de dados de teste e acesso a ele? [Y/n] Y  
Recarregar tabelas de privilégios agora? [Y/n] Y``

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

sudo mysql -u root -p  
# Digite a senha  

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

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

Saia do MariaDB:

mysql> exit

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

Passo 2 - Instalar 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 automaticamente e habilitado na inicialização no sistema Debian 9, então não há necessidade de iniciá-lo e habilitá-lo manualmente. Podemos passar para o próximo passo, que é obter certificados SSL gratuitos do Let’s Encrypt CA.

Passo 3 - Instalar o cliente acme.sh e obter o certificado Let’s Encrypt (opcional)

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

Baixe e instale o 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 [email protected]  
cd ~

Verifique a versão do acme.sh:

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

Obtenha certificados RSA e ECC/ECDSA para seu domínio/nome do host:

# 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

Após 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.

Passo 3 - Instalar NGINX e configurar NGINX para Matomo

Matomo pode funcionar bem com muitos softwares de servidor web populares. Neste tutorial, escolhemos o 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 o 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;  
  }  
  
}

NOTA: Para uma configuração completa e pronta para produção do Nginx 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 em busca de erros de sintaxe:

sudo nginx -t

Recarregue o serviço Nginx:

sudo systemctl reload nginx.service

Passo 4 - Instalar 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:

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 o usuário www-data:

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

Passo 5 - Concluir a configuração do Matomo Analytics

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

Primeiro, a mensagem de boas-vindas do Matomo deve aparecer. Clique no botão “Próximo”: Assistente de instalação do Matomo

Depois, você verá uma página de “Verificação do Sistema”. Se algo estiver faltando, você verá um aviso. Se tudo estiver marcado com um sinal de verificação verde, clique no botão “Próximo” para prosseguir para o próximo passo: Verificação do sistema

Em seguida, preencha os detalhes do banco de dados e clique no botão “Próximo”: Configuração do banco de dados

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

Crie uma conta de superusuário do Matomo e clique no botão “Próximo”: Criar conta de superusuário

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: Adicionar site ao Matomo

Em seguida, você receberá o código de rastreamento JavaScript para seu site que você precisa adicionar para começar a rastrear. Código de rastreamento Javascript

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

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

Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.