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
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.
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.
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;
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.
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.
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
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.
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.
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.
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.
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
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"
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
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
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
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.
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
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
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.
Al principio, se te pedirá que crees tu primer rastreador. Introduce el nombre de tu sitio y pulsa 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.
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:
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.