Pesquisa de site

Como instalar o Fathom Privacy Focused Web Analytics no Ubuntu


Este tutorial existe para estas versões do sistema operacional

  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 18.04 (castor biônico)

Nesta página

  1. Pré-requisitos
  2. Instalando o servidor PostgreSQL
  3. Criando banco de dados e usuário PostgreSQL
  4. Instalando o Fathom no Ubuntu

    1. Configurando o usuário e baixando o Fathom
    2. Configurando o Fathom
    3. Executando o Fathom como serviço Systemd
  5. Criando usuário Fathom
  6. Instalando e configurando Nginx como proxy reverso
  7. Protegendo o Fathom com UFW
  8. Habilite HTTPS via Certbot
  9. Acessando a instalação do Fathom
  10. Conclusão

Fathom é um software de análise da web com foco na privacidade, em conformidade com GDPR e sem necessidade de banners de cookies. É uma alternativa ao Google Analytics, mas sem invadir a privacidade dos usuários e não compromete os dados dos visitantes.

Neste artigo, mostraremos como instalar o software Fathom Privacy Focused Web Analytics no servidor Ubuntu 22.04. Você instalará o Fathom com PostgreSQL e Nginx como proxy reverso.

Pré-requisitos

Para instalar o Fathom, certifique-se de ter o seguinte:

  • Um servidor Ubuntu 22.04.
  • Um usuário não root com privilégios root.
  • Um nome de domínio apontado para um endereço IP de servidor.

Instalando o servidor PostgreSQL

Fathom é uma análise da web de código aberto que usa PostgreSQL como banco de dados backend. Para instalar o Fathom, você deve instalar o PostgreSQL e então criar um novo banco de dados e usuário PostgreSQL.

Primeiro, execute o seguinte comando para atualizar o índice do pacote Ubuntu.

sudo apt update

Em seguida, execute o comando abaixo para instalar o servidor de banco de dados PostgreSQL em seu sistema Ubuntu.

sudo apt install postgresql

Insira Y para confirmar o processo.

Após a instalação, o serviço Postgresql será executado e habilitado automaticamente. Execute o seguinte comando systemctl para verificar se o PostgreSQL foi iniciado.

sudo systemctl is-enabled postgresql
sudo systemctl status postgresql

Na saída abaixo, você pode ver que o serviço postgresql está habilitado e será iniciado automaticamente quando for iniciado. E você pode ver que o status do serviço postgresql está em execução.

Criando banco de dados e usuário PostgreSQL

Com o PostgreSQL instalado, vamos criar um novo banco de dados e usuário para instalação do Fathom.

Faça login no PostgreSQL como usuário padrão postgres usando o comando abaixo.

sudo -u postgres psql

Uma vez logado, execute as seguintes consultas para criar um novo banco de dados e usuário PostgreSQL. Neste exemplo, você criará um banco de dados fathomdb e um usuário fathom para sua instalação do Fathom.

CREATE USER fathom WITH CREATEDB CREATEROLE PASSWORD 'password';
CREATE DATABASE fathomdb OWNER fathom;

Agora verifique a lista de banco de dados e usuários disponíveis usando a consulta abaixo. Isso garantirá que seu banco de dados e usuário sejam criados.

\du
\l

Na saída a seguir, você pode ver que o banco de dados fathomdb e o usuário fathom foram criados. Digite q ou pressione Ctrl+d para sair do PostgreSQL.

Em seguida, execute o seguinte comando para conectar-se ao banco de dados PostgreSQL fathomdb por meio do usuário fathom. Insira sua senha quando solicitado e pressione ENTER para confirmar.

sudo -u postgres psql -U fathom -h 127.0.0.1 -d fathomdb

Uma vez logado, verifique sua conexão usando a seguinte consulta.

\conninfo

A captura de tela a seguir mostra que o usuário fathom está conectado ao banco de dados PostgreSQL fathomdb. Com isso, prossiga com a instalação do Fathom.

Instalando o Fathom no Ubuntu

Agora que o banco de dados PostgreSQL está pronto, você iniciará a instalação do Fathom concluindo a seguinte etapa:

  • Configurando o usuário e baixando o Fathom
  • Configurando o Fathom
  • Executando o Fathom como um serviço Systemd

Sem mais delongas, vamos começar.

Configurando o usuário e baixando o Fathom

Em primeiro lugar, você precisará criar um novo usuário de sistema que será usado para executar o Fathom. Em seguida, você baixará o pacote binário Fathom para sua máquina Ubuntu.

Para começar, execute o comando abaixo para criar um novo usuário do sistema fathom.

sudo useradd -r -d /opt/fathom fathom

Crie um novo diretório inicial /opt/fathom e altere a propriedade para usuário e grupo fathom.

sudo mkdir -p /opt/fathom
sudo chown -R fathom:fathom /opt/fathom

Em seguida, baixe o pacote binário Fathom usando o comando wget abaixo.

wget https://github.com/usefathom/fathom/releases/download/v1.3.1/fathom_1.3.1_linux_amd64.tar.gz

Depois de baixado, extraia o arquivo binário Fathom para o diretório /usr/local/bin e torne o arquivo binário Fathom executável.

tar -C /usr/local/bin -xzf fathom_1.3.1_linux_amd64.tar.gz
chmod +x /usr/local/bin/fathom

Por último, verifique a localização e a versão da compreensão executando o seguinte comando.

which fathom
fathom --version

O Fathom 1.3.1 está instalado em /usr/local/bin/fathom.

Configurando o Fathom

Neste ponto, você baixou o Fathom e criou o usuário necessário e o diretório de instalação. Agora, vamos nos aprofundar na configuração da instalação do Fathom.

Execute o comando abaixo para gerar uma senha secreta aleatória. Copie o segredo gerado para sua nota.

head /dev/urandom | tr -dc A-Za-z0-9 | head -c 20 ; echo ''

Agora vá para o diretório /opt/fathom.

cd /opt/fathom

Crie um novo diretório data e um arquivo .env usando o comando abaixo.

sudo -u fathom mkdir -p /opt/fathom/data
sudo -u fathom touch /opt/fathom/data/.env

Use o seguinte comando do editor nano para abrir o arquivo .env.

sudo -u fathom nano /opt/fathom/data/.env

Insira a seguinte configuração e certifique-se de alterar os detalhes do banco de dados PostgreSQL e FATHOM_SECRET com suas informações.

FATHOM_GZIP=true
FATHOM_DEBUG=true
FATHOM_DATABASE_DRIVER="postgres"
FATHOM_DATABASE_NAME="fathomdb"
FATHOM_DATABASE_USER="fathom"
FATHOM_DATABASE_PASSWORD="password"
FATHOM_DATABASE_HOST="127.0.0.1"
FATHOM_DATABASE_SSLMODE="disable"
FATHOM_SECRET="qDQ4fawzKOfBAtJ3O4ID"

Salve e saia do arquivo quando terminar.

Agora vá para o diretório /opt/fathom/data e execute o Fathom através do comando abaixo.

cd /opt/fathom/data
sudo -u fathom fathom server

Isso inicializará e migrará o banco de dados Fathom. Se for bem-sucedido, você deverá obter a confirmação do Fathom em execução na porta padrão 8080. Agora você pode pressionar Ctrl+c para encerrar o processo do Fathom.

Executando o Fathom como serviço Systemd

Agora que você configurou o Fathom, execute-o com sucesso por meio da linha de comando. Vamos prosseguir para executar o Fathom como um serviço systemd para facilitar o gerenciamento. Isso permite que você gerencie o Fathom via systemctl.

Execute o seguinte comando do editor nano para criar um novo arquivo de serviço systemd /etc/systemd/system/fathom.service.

sudo nano /etc/systemd/system/fathom.service

Insira a seguinte configuração no arquivo. Como visto abaixo, o serviço Fathom será executado sob o usuário `fathom` com o diretório de trabalho padrão /opt/fathom/data.

[Unit]
Description=Starts the fathom server
Requires=network.target
After=network.target
[Service]
Type=simple
User=fathom
Restart=always
RestartSec=3
WorkingDirectory=/opt/fathom/data
ExecStart=/usr/local/bin/fathom server
[Install]
WantedBy=multi-user.target

Salve e saia do editor quando terminar.

Agora execute o comando abaixo para recarregar o gerenciador systemd.

sudo systemctl daemon-reload

Depois de recarregado, inicie e habilite o serviço Fathom usando o seguinte comando. Com isso, o Fathom deverá estar rodando em segundo plano e será executado automaticamente na inicialização.

sudo systemctl start fathom
sudo systemctl enable fathom

Execute o comando abaixo para verificar o serviço Fathom.

sudo systemctl status fathom

Se sua configuração for bem-sucedida, você deverá ver o serviço Fathom com o status em execução.

Por último, execute o comando abaixo para verificar o Fathom por meio de portas abertas. O Fathom está rodando na porta padrão 8080 em sua máquina Ubuntu.

ss -tulpn | grep fathom

Criando usuário Fathom

Agora que o Fathom está instalado e funcionando, você precisa criar o primeiro usuário para a instalação do Fathom.

Vá para o diretório /opt/fathom/data.

cd /opt/fathom/data

Execute o comando Fathom abaixo para criar um usuário Fathom. Neste exemplo, você criará um novo usuário bob com senha senha.

sudo -u fathom fathom user add --email="[email " --password="password"

Instalando e configurando Nginx como proxy reverso

Neste guia, você executará o Fathom com Nginx como proxy reverso. Vamos instalar o Nginx e criar uma nova configuração de bloco de servidor para o Fathom.

Execute o seguinte comando apt para instalar o Nginx em seu servidor Ubuntu.

sudo apt install nginx -y

Assim que a instalação for concluída, crie uma nova configuração de bloco de servidor /etc/nginx/sites-available/fathom usando o editor nano.

sudo nano /etc/nginx/sites-available/fathom

Insira a seguinte configuração e certifique-se de alterar o nome de domínio na linha server_name.

server {
 listen 80;
 server_name fathom.howtoforge.local;
location / {
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $remote_addr;
 proxy_set_header Host $host;
 proxy_pass http://127.0.0.1:8080; 
 }
}

Salve e saia do arquivo quando terminar.

Agora, execute o comando abaixo para ativar a configuração do bloco do servidor /etc/nginx/sites-available/fathom e verifique geral sua sintaxe Nginx.

sudo ln -s /etc/nginx/sites-available/fathom /etc/nginx/sites-enabled/
sudo nginx -t

Se não houver erro, você deverá obter uma saída 'a sintaxe está ok - o teste foi bem-sucedido'.

Agora execute o comando systemctl abaixo para reiniciar o serviço Nginx e aplicar as alterações.

sudo systemctl restart nginx

Por último, verifique o status do serviço Nginx usando o comando abaixo. Certifique-se de que o Nginx esteja ativo (em execução) e habilitado em seu servidor Ubuntu.

sudo systemctl is-enabled nginx
sudo systemctl status nginx

Protegendo o Fathom com UFW

Após configurar o Nginx, vamos configurar o UFW e abrir as portas HTTP e HTTPS para permitir o acesso à instalação do Fathom.

Execute o seguinte comando para adicionar o perfil do aplicativo OpenSSH ao UFW. Em seguida, inicie e habilite o UFW.

sudo ufw allow OpenSSH
sudo ufw enable

Insira y para prosseguir e o UFW será iniciado e executado automaticamente na inicialização.

Agora, execute o comando abaixo para adicionar o perfil do aplicativo 'Nginx Full'. Isso abrirá os protocolos HTTP e HTTPS em seu sistema Ubuntu.

sudo ufw allow 'Nginx Full'

Verifique a lista de portas no UFW usando o comando abaixo. certifique-se de que os perfis OpenSSH e 'Nginx Full' estejam habilitados no UFW.

sudo ufw status

Habilite HTTPS via Certbot

Neste estágio, sua instalação do Fathom é acessada de fora da rede, mas ainda no modo HTTP. Para proteger sua instalação, você deve habilitar HTTPS na configuração do bloco do servidor Nginx.

Neste exemplo, você habilitará HTTPS via Certbot e Letsencrypt. Portanto, certifique-se de que seu nome de domínio esteja apontado para o endereço IP do servidor Ubuntu.

Execute o seguinte comando apt para instalar os pacotes Certbot e python3-certbot-nginx em seu Ubuntu. Digite y para prosseguir e continuar.

sudo apt install certbot python3-certbot-nginx -y

Assim que a instalação for concluída, gere novos certificados SSL/TLS executando o comando certbot abaixo. Certifique-se de alterar os detalhes do nome de domínio e endereço de e-mail com suas informações.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email  -d fathom.howtoforge.local

Assim que o processo for concluído, seus certificados SSL serão gerados no diretório /etc/letsencrypt/live/domain.com. Além disso, a configuração do bloco do servidor Nginx será configurada automaticamente com HTTPS, o que é feito pelo plugin Nginx Certbot.

Acessando a instalação do Fathom

Abra seu navegador da web e visite o nome de domínio de sua instalação do Fathom (ou seja: https://fathom.howtoforge.local/). Se a instalação for bem-sucedida, você receberá a página de login do Fathom.

Faça login com seu nome de usuário e senha que você criou e pressione Entrar para confirmar.

Inicialmente, você será solicitado a criar seu primeiro rastreador. Insira o nome do seu site e clique em Criar site.

Agora você verá o código de rastreamento JavaScript gerado para o seu site. Copie o código para o seu editor de código e coloque-o no site de destino.

Agora você pode clicar no botão atualizar site para continuar e clicar fora da janela pop-up para acessar o painel analítico do Fathom como o seguinte:

Conclusão

Parabéns! Agora você instalou o Fathom web analytics no servidor Ubuntu. Você instalou o Fathom com o servidor de banco de dados PostgreSQL e configurou o Nginx como proxy reverso. Além disso, você também protegeu o Fathom com HTTPS via Letsencrypt e configurou o UFW para abrir portas HTTP e HTTPS.