Como instalar o Matomo Web Analytics com Nginx no FreeBSD 12.0
Nesta página
- Requisitos
- Pré-requisitos
- Etapas iniciais
- Passo 1 - Instale o MySQL e crie um banco de dados para o Matomo
- Etapa 2 - Instale o PHP e as extensões PHP necessárias
- Etapa 3 - Instale o cliente
acme.sh
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, 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