Como instalar o Matomo Web Analytics no Fedora 29
Nesta página
- Requisitos
- Pré-requisitos
- Etapas iniciais
- Etapa 1 - Instale MariaDB e crie um banco de dados para Matomo
- Etapa 2 - Instale o PHP e as extensões PHP necessárias
- Etapa 3 - Instale
acme.sh
cliente e obtenha Let\>) - Etapa 3 - Instale o NGINX e configure o NGINX para Matomo
- Etapa 4 - Instale o Matomo Analytics
- Etapa 5 - Conclua a configuração do Matomo Analytics
- 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 Fedora 29 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 Fedora 29, você precisará de algumas coisas:
- 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 Fedora 29.
- Um usuário não root com privilégios sudo.
Etapas iniciais
Verifique sua versão do Fedora:
cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)
Configure o fuso horário:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
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:
sudo dnf check-update; sudo dnf update -y
Instale alguns pacotes essenciais que são necessários para a administração básica do sistema operacional Fedora:
sudo dnf install -y curl wget vim git unzip socat
Passo 1 - Instale MariaDB e crie um banco de dados para Matomo
Matomo é compatível com bancos de dados MySQL e MariaDB. Neste tutorial, usaremos o MariaDB como servidor de banco de dados.
Instale um servidor de banco de dados MariaDB:
sudo dnf install -y mariadb-server
Verifique a versão do MariaDB:
mysql --version
# mysql Ver 15.1 Distrib 10.3.11-MariaDB, for Linux (x86_64) using readline 5.1
Inicie e habilite o serviço MariaDB:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
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:
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 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:
MariaDB> CREATE DATABASE dbname;
MariaDB> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB> FLUSH PRIVILEGES;
Sair do MariaDB:
mysql> exit
Substitua dbname
, username
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 dnf install -y php php-cli php-fpm php-common php-curl php-gd php-xml php-mbstring php-mysqlnd php-json
Verifique a versão do PHP:
php --version
# PHP 7.2.14 (cli) (built: Jan 8 2019 09:59:17) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
Inicie e ative o serviço PHP-FPM:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
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 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 do Fedora:
sudo dnf install -y nginx
Verifique a versão do Nginx:
sudo nginx -v
# nginx version: nginx/1.14.1
Inicie e ative o serviço Nginx:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Configure o Nginx para Matomo executando:
sudo vim /etc/nginx/conf.d/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 {
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:/run/php-fpm/www.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:/run/php-fpm/www.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.
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 nginx
user:
sudo chown -R nginx:nginx /var/www/matomo
Execute sudo vim /etc/php-fpm.d/www.conf
e defina o usuário e o grupo como nginx
. Inicialmente, ele será definido como usuário e grupo apache
.
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Reinicie o serviço PHP-FPM.
sudo systemctl restart php-fpm.service
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