Cómo instalar Fathom Privacy Focused Web Analytics en Ubuntu

Fathom es un software de analítica web centrado en la privacidad, que cumple la normativa GDPR y no requiere banners de cookies. Es una alternativa a Google Analytics, pero sin invadir la privacidad de los usuarios, y no compromete los datos de los visitantes.

En este artículo, te mostraremos cómo instalar el software de analítica web centrada en la privacidad Fathom en un servidor Ubuntu 22.04. Instalarás Fathom con PostgreSQL y Nginx como proxy inverso.

Requisitos previos

Para instalar Fathom, asegúrate de que tienes lo siguiente:

  • Un servidor Ubuntu 22.04.
  • Un usuario no root con privilegios de root.
  • Un nombre de dominio apuntando a una dirección IP del servidor.

Instalación del servidor PostgreSQL

Fathom es una analítica web de código abierto que utiliza PostgreSQL como base de datos backend. Para instalar Fathom, debes instalar PostgreSQL y, a continuación, crear una base de datos y un usuario PostgreSQL nuevos.

Primero, ejecuta el siguiente comando para actualizar el índice de paquetes de Ubuntu.

sudo apt update

actualizar repo

A continuación, ejecuta el siguiente comando para instalar el servidor de bases de datos PostgreSQL en tu sistema Ubuntu.

sudo apt install postgresql

Introduce Y para confirmar el proceso.

instalar postgresql

Tras la instalación, el servicio Postgresql se ejecutará automáticamente y se habilitará. Ejecuta el siguiente comando systemctl para verificar que PostgreSQL se ha iniciado.

sudo systemctl is-enabled postgresql
sudo systemctl status postgresql

En esta salida de abajo, puedes ver que el servicio postgresql está habilitado y se iniciará automáticamente al arrancar. Y puedes ver que el estado del servicio postgresql es en ejecución.

comprobar pstgresql

Crear base de datos y usuario PostgreSQL

Con PostgreSQL instalado, vamos a crear una nueva base de datos y un nuevo usuario para la instalación de Fathom.

Accede al PostgreSQL como usuario por defecto postgres utilizando el comando que aparece a continuación.

sudo -u postgres psql

Una vez conectado, ejecuta las siguientes consultas para crear una nueva base de datos y un nuevo usuario PostgreSQL. En este ejemplo, crearás una base de datos fathomdb y un usuario fathom para tu instalación de Fathom.

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

crear usuario de base de datos

Ahora verifica la lista de base de datos y usuario disponibles utilizando la consulta siguiente. Así te asegurarás de que tu base de datos y tu usuario están creados.

\du
\l

En la siguiente salida, puedes ver que la base de datos fathomdb y el usuario fathom están creados. Escribe q o pulsa Ctrl+d para salir del PostgreSQL.

comprobar usuario de la base de datos

A continuación, ejecuta el siguiente comando para conectarte a la base de datos PostgreSQL fathomdb a través del usuario fathom. Introduce tu contraseña cuando te la pidan y pulsa INTRO para confirmar.

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

Una vez conectado, verifica tu conexión utilizando la siguiente consulta.

\conninfo

La siguiente captura de pantalla muestra que el usuario fathom está conectado a la base de datos PostgreSQL fathomdb. Con esto, procede con la instalación de Fathom.

comprobar la autenticidad del usuario

Instalación de Fathom en Ubuntu

Ahora que la base de datos PostgreSQL está lista, comenzarás la instalación de Fathom completando la siguiente etapa:

  • Configuración del Usuario y Descarga de Fathom
  • Configurar Fathom
  • Ejecutar Fathom como un servicio Systemd

Sin más preámbulos, comencemos.

Configurar el usuario y descargar Fathom

En primer lugar, tendrás que crear un nuevo usuario del sistema que se utilizará para ejecutar Fathom. A continuación, descargarás el paquete binario de Fathom en tu máquina Ubuntu.

Para empezar, ejecuta el siguiente comando para crear un nuevo usuario de sistema fathom.

sudo useradd -r -d /opt/fathom fathom

Crea un nuevo directorio raíz /opt/fathom y cambia la propiedad a usuario y grupo fathom.

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

A continuación, descarga el paquete binario fathom utilizando el siguiente comando wget.

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

crear usuario

Una vez descargado, extrae el archivo binario fathom al directorio /usr/local/bin y haz ejecutable el archivo binario fathom.

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

Por último, verifica la ubicación y la versión de fathom ejecutando el siguiente comando.

which fathom
fathom --version

Fathom 1.3.1 está instalado en /usr/local/bin/fathom.

comprobar versión fathom

Configurar Fathom

Llegados a este punto, ya has descargado Fathom y creado el usuario y el directorio de instalación necesarios. Ahora, vamos a sumergirnos en la configuración de la instalación de Fathom.

Ejecuta el siguiente comando para generar una contraseña secreta aleatoria. Copia el secreto generado en tu nota.

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

Ahora ve al directorio /opt/fathom.

cd /opt/fathom

Crea un nuevo directorio de datos y un archivo .env utilizando el comando siguiente.

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

Utiliza el siguiente comando del editor nano para abrir el archivo . env.

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

Introduce la siguiente configuración y asegúrate de cambiar los detalles Base de datos PostgreSQL y FATHOM_SECRET con tu información.

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"

Guarda y sal del archivo cuando hayas terminado.

configurar fathom

Ahora ve al directorio /opt/fathom/data y ejecuta Fathom mediante el siguiente comando.

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

Esto inicializará y migrará la base de datos de Fathom. Si se realiza correctamente, deberías obtener la confirmación de que Fathom se está ejecutando en el puerto por defecto 8080. Ahora puedes pulsar Ctrl+c para finalizar el proceso de Fathom.

prueba braza

Ejecutar Fathom como servicio Systemd

Ahora que has configurado Fathom, ejecútalo correctamente a través de la línea de comandos. Vamos a ir más allá para ejecutar Fathom como un servicio systemd para facilitar su gestión. Esto te permitirá gestionar Fathom mediante systemctl.

Ejecuta el siguiente comando del editor nano para crear un nuevo archivo de servicio systemd /etc/systemd/system/fathom.service.

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

Introduce la siguiente configuración en el archivo. Como se ve a continuación, el servicio fathom se ejecutará bajo el usuario `fathom` con el directorio de trabajo por defecto /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

Guarda y sal del editor cuando hayas terminado.

Ahora ejecuta el siguiente comando para recargar el gestor systemd.

sudo systemctl daemon-reload

Una vez recargado, inicia y activa el servicio fathom con el siguiente comando. Con esto, Fathom debería ejecutarse en segundo plano y se ejecutará automáticamente al arrancar.

sudo systemctl start fathom
sudo systemctl enable fathom

Ejecuta el siguiente comando para verificar el servicio fathom.

sudo systemctl status fathom

Si la configuración es correcta, deberías ver el servicio fathom con el estado en ejecución.

fathom systemd

Por último, ejecuta el comando siguiente para comprobar Fathom a través de los puertos abiertos. Fathom se está ejecutando en el puerto 8080 por defecto en tu máquina Ubuntu.

ss -tulpn | grep fathom

puerto fathom

Crear usuario de Fathom

Ahora que Fathom está en marcha, necesitas crear el primer usuario para tu instalación de Fathom.

Dirígete al directorio /opt/fathom/data.

cd /opt/fathom/data

Ejecuta el siguiente comando fathom para crear un usuario de Fathom. En este ejemplo, crearás un nuevo usuario bob con contraseña password.

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

crear usuario

Instalación y configuración de Nginx como proxy inverso

En esta guía, ejecutarás Fathom con Nginx como proxy inverso. Vamos a instalar Nginx y a crear una nueva configuración de bloque de servidor para Fathom.

Ejecuta el siguiente comando apt para instalar Nginx en tu servidor Ubuntu.

sudo apt install nginx -y

instalar nginx

Una vez finalizada la instalación, crea una nueva configuración de bloque de servidor /etc/nginx/sites-available/fathom utilizando el editor nano.

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

Inserta la siguiente configuración y asegúrate de cambiar el nombre de dominio dentro de la línea server_name.

server {
 listen 80;
 server_name fathom.hwdomain.io;
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;
}
}

Guarda y sal del archivo cuando hayas terminado.

Ahora, ejecuta el siguiente comando para activar la configuración del bloque servidor /etc/nginx/sites-available/fathom y verifica en general tu sintaxis Nginx.

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

Si no hay error, deberías obtener una salida‘la sintaxis es correcta – la prueba se ha realizado correctamente’.

Ahora ejecuta el siguiente comando systemctl para reiniciar el servicio Nginx y aplicar los cambios.

sudo systemctl restart nginx

proxy inverso nginx

Por último, comprueba el estado del servicio Nginx utilizando el comando que aparece a continuación. Asegúrate de que Nginx está activo (ejecutándose) y habilitado en tu servidor Ubuntu.

sudo systemctl is-enabled nginx
sudo systemctl status nginx

comprobar nginx

Asegurar Fathom con UFW

Después de configurar Nginx, vamos a configurar UFW y abrir los puertos HTTP y HTTPS para permitir el acceso a la instalación de Fathom.

Ejecuta el siguiente comando para añadir el perfil de aplicación OpenSSH a UFW. A continuación, inicia y habilita UFW.

sudo ufw allow OpenSSH
sudo ufw enable

Introduce y para continuar y UFW se iniciará y ejecutará automáticamente al arrancar.

activar ufw

Ahora, ejecuta el siguiente comando para añadir el perfil de aplicación‘Nginx Full‘. Esto abrirá los protocolos HTTP y HTTPS en tu sistema Ubuntu.

sudo ufw allow 'Nginx Full'

Comprueba la lista de puertos en el UFW utilizando el siguiente comando. Asegúrate de que tanto el perfil OpenSSH como el perfil ‘Nginx Full’ están habilitados en el UFW.

sudo ufw status

añadir verificar ufw

Habilitar HTTPS mediante Certbot

En esta fase, se accede a tu instalación de Fathom desde fuera de la red, pero todavía en modo HTTP. Para asegurar tu instalación, debes habilitar HTTPS en la configuración del bloque del servidor Nginx.

En este ejemplo, habilitarás HTTPS a través de Certbot y Letsencrypt. Por lo tanto, asegúrate de que tienes tu nombre de dominio apuntando a la dirección IP del servidor Ubuntu.

Ejecuta el siguiente comando apt para instalar los paquetes Certbot y python3-certbot-nginx en tu Ubuntu. Escribe y para continuar.

sudo apt install certbot python3-certbot-nginx -y

instalar certbot

Una vez finalizada la instalación, genera nuevos certificados SSL/TLS ejecutando el siguiente comando certbot. Asegúrate de cambiar los detalles del nombre de dominio y la dirección de correo electrónico con tu información.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d fathom.hwdomain.io

Una vez finalizado el proceso, tus certificados SSL se generarán en el directorio /etc/letsencrypt/live/domain.com. Además, la configuración del bloque de tu servidor Nginx se configurará automáticamente con HTTPS, de lo que se encarga el plugin Nginx Certbot.

Acceder a la instalación de Fathom

Lanza tu navegador web y visita el nombre de dominio de tu instalación de Fathom (es decir: https://fathom.hwdomain.io/). Si la instalación se ha realizado correctamente, aparecerá la página de inicio de sesión de Fathom.

Inicia sesión con el nombre de usuario y la contraseña que has creado, y pulsa Iniciar sesión para confirmar.

iniciar sesión en fathom

Al principio, se te pedirá que crees tu primer rastreador. Introduce el nombre de tu sitio y pulsa Crear sitio.

crear sitio

Ahora verás el código JavaScript de seguimiento generado para tu sitio. Copia el código en tu editor de código y colócalo en tu sitio de destino.

código de seguimiento

Ahora puedes hacer clic en el botón Actualizar sitio para continuar, y hacer clic fuera de la ventana emergente para acceder al panel analítico de Fathom como el siguiente:

salpicadero

Conclusión

¡Enhorabuena! Ya has instalado la analítica web de Fathom en el servidor Ubuntu. Has instalado Fathom con el servidor de base de datos PostgreSQL y configurado Nginx como proxy inverso. Además, también has asegurado Fathom con HTTPS mediante Letsencrypt, y has configurado UFW para abrir los puertos HTTP y HTTPS.

También te podría gustar...