Cómo instalar Fathom Analytics en Ubuntu 18.04 LTS

Fathom es una plataforma de análisis web de código abierto autoalojada que proporciona estadísticas sencillas y útiles del sitio web sin rastrear ni almacenar la información personal de tus usuarios. Es una muy buena alternativa a Google Analytics con una sencilla interfaz web que puede ser utilizada por pequeñas y medianas empresas. Fathom te da un control total sobre tus datos sin necesidad de utilizar soluciones de terceros. Fathom te ofrece las principales páginas, los principales referentes, la tasa de rebote y el tiempo medio de permanencia en tu sitio web.

En este tutorial, aprenderemos a instalar Fathom analytics en un servidor Ubuntu 18.04.

Requisitos

  • Un servidor con Ubuntu 18.04.
  • Una dirección IP estática 192.168.0.103 configurada en tu servidor.
  • Una contraseña de root en tu servidor.

Cómo empezar

Antes de empezar, tendrás que actualizar tu sistema con la última versión. Puedes hacerlo ejecutando el siguiente comando:

apt-get update -y
apt-get upgrade -y

Una vez que tu servidor esté actualizado, reinicia tu servidor para aplicar los cambios.

Instalar Nginx y MariaDB

En primer lugar, tendrás que instalar Nginx y MariaDB en tu servidor. Puedes instalarlos ejecutando el siguiente comando:

apt-get install nginx mariadb-server -y

Una vez instalados ambos paquetes, inicia el servicio de MariaDB y Nginx y habilítalos para que se inicien en el arranque con el siguiente comando:

systemctl start nginx
systemctl start mariadb
systemctl enable nginx
systemctl enable mariadb

Configurar MariaDB

Por defecto, MariaDB no está asegurada. Por lo tanto, tendrás que asegurarlo. Puedes hacerlo ejecutando el script mysql_secure_installation:

mysql_secure_installation

Este script cambiará tu contraseña actual de root, eliminará los usuarios anónimos y no permitirá el inicio de sesión de root de forma remota, como se muestra a continuación:

    Enter current password for root (enter for none):
    Set root password? [Y/n]: N
    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

Una vez que MariaDB esté asegurada, entra en el shell de MariaDB con el siguiente comando:

mysql -u root -p

Introduce tu contraseña de root, luego crea una base de datos y un usuario para fathom con el siguiente comando:

MariaDB [(none)]> CREATE DATABASE fathom;
MariaDB [(none)]> CREATE USER 'fathomuser'@'localhost' IDENTIFIED BY 'password';

A continuación, concede todos los privilegios a la base de datos de fathom con el siguiente comando:

MariaDB [(none)]> GRANT ALL ON fathom.* TO 'fathomuser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

A continuación, vacía los privilegios y sal del shell de MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]>EXIT;

Instalar y configurar Fathom

En primer lugar, tendrás que descargar la última versión del binario de Fathom del repositorio Git. Puedes descargarlo con el siguiente comando:

wget https://github.com/usefathom/fathom/releases/download/latest-development/fathom-linux-amd64

Una vez completada la descarga, mueve el binario descargado al directorio /usr/local/bin/ con el siguiente comando:

mv fathom-linux-amd64 /usr/local/bin/fathom

A continuación, proporciona permiso de ejecución al binario de fathom con el siguiente comando:

chmod 755 /usr/local/bin/fathom

A continuación, tendrás que configurar el entorno de Fathom en tu directorio principal. Puedes hacerlo ejecutando el siguiente comando

nano .env

Añade las siguientes líneas:

FATHOM_SERVER_ADDR=9000
FATHOM_DEBUG=true
FATHOM_DATABASE_DRIVER="mysql"
FATHOM_DATABASE_NAME="fathom"
FATHOM_DATABASE_USER="fathomuser"
FATHOM_DATABASE_PASSWORD="password"
FATHOM_DATABASE_HOST="localhost"
FATHOM_DATABASE_SSLMODE=""
FATHOM_SECRET="random-secret-string"

A continuación, tendrás que crear una cuenta de administrador para Fathom. Puedes hacerlo con el siguiente comando:

fathom --config=.env user add [email protected] [email protected]

Deberías ver la siguiente salida:

INFO[0000] Fathom 1.1.0                                 
INFO[0000] Configuration file: /root/.env               
INFO[0000] Connected to mysql database: fathomuser:[email protected](localhost)/fathom?loc=Local&parseTime=true 
INFO[0000] Created user [email protected] 

Ahora, inicia el servidor de Fathom con el siguiente comando:

fathom server

Deberías ver la siguiente salida:

INFO[0000] Fathom 1.1.0                                 
INFO[0000] Configuration file: /root/.env               
INFO[0000] Connected to mysql database: fathomuser:[email protected](localhost)/fathom?loc=Local&parseTime=true 
INFO[0002] Applied 11 database migrations!              
INFO[0002] Server is now listening on :9000

Acceso a la interfaz web de Fathom

Ahora Fathom está iniciando y escuchando en el puerto 9000. Abre tu navegador web y escribe la URL http://192.168.0.103:9000. Serás redirigido a la siguiente página:

Inicio de sesión en Fathom

Ahora, proporciona tus credenciales de administrador y haz clic en el botón Iniciar sesión. Deberías ver la siguiente página:

Añadir un sitio web

Ahora, proporciona el nombre de tu sitio y haz clic en el botón Crear sitio. Deberías ver la siguiente página:

Tablero del sitio web

Ejemplo de estadísticas:

Crear archivo de servicio Fathom Systemd

A continuación, tendrás que crear un archivo de servicio systemd para Fathom para gestionar el servicio Fathom. Puedes hacerlo con el siguiente comando:

nano /etc/systemd/system/fathom.service

Añade las siguientes líneas:

[Unit]
Description=Fathom server management service unit
Requires=network.target
After=network.target

[Service]
Type=simple
User=root
Restart=always
RestartSec=3
WorkingDirectory=/root
ExecStart=/usr/local/bin/fathom server

[Install]
WantedBy=multi-user.target

Guarda y cierra el archivo, y luego habilita el servicio Fathom con el siguiente comando:

systemctl daemon-reload
systemctl enable fathom

A continuación, inicia el servicio Fathom con el siguiente comando:

systemctl start fathom

Puedes comprobar el estado del servicio Fathom con el siguiente comando:

systemctl status fathom

Deberías ver la siguiente salida:

? fathom.service - Fathom server management service unit
   Loaded: loaded (/etc/systemd/system/fathom.service; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-01-30 11:44:46 UTC; 4s ago
 Main PID: 19671 (fathom)
    Tasks: 5 (limit: 1114)
   CGroup: /system.slice/fathom.service
           ??19671 /usr/local/bin/fathom server

Jan 30 11:44:46 ubuntu1804 systemd[1]: Started Fathom server management service unit.
Jan 30 11:44:46 ubuntu1804 fathom[19671]: time="2019-01-30T11:44:46Z" level=info msg="Fathom 1.1.0"
Jan 30 11:44:46 ubuntu1804 fathom[19671]: time="2019-01-30T11:44:46Z" level=info msg="Configuration file: /root/.env"
Jan 30 11:44:46 ubuntu1804 fathom[19671]: time="2019-01-30T11:44:46Z" level=info msg="Connected to mysql database: fathomuser:[email protected](loc
Jan 30 11:44:46 ubuntu1804 fathom[19671]: time="2019-01-30T11:44:46Z" level=info msg="Server is now listening on :9000"

Configurar Nginx como proxy inverso

Por defecto, Fathom escucha en el puerto 9000. Así que tendrás que configurar Nginx como proxy inverso para acceder a Fathom sin especificar el número de puerto.

Puedes hacerlo creando un archivo de host virtual de Fathom:

nano /etc/nginx/sites-available/fathom

Añade las siguientes líneas:

server {
  listen 80;
  listen [::]:80;

  server_name 192.168.0.103;

  location / {
      proxy_pass http://localhost:9000/;
  }
}

Guarda y cierra el archivo. A continuación, comprueba si Nginx tiene algún error de sintaxis con el siguiente comando:

nginx -t

A continuación, desactiva el archivo de host virtual por defecto de Nginx y activa el archivo de host virtual de Fathom con el siguiente comando:

rm -rf /etc/nginx/sites-enabled/default
ln -s /etc/nginx/sites-available/fathom /etc/nginx/sites-enabled/

A continuación, reinicia el servicio Nginx con el siguiente comando:

systemctl restart nginx

Ahora puedes acceder a tu interfaz web de Fathom utilizando la URL http://192.168.0.103.

También te podría gustar...