Cómo instalar Fathom Analytics en Ubuntu 18.04 LTS

Inicio de sesión

Fathom es una plataforma de análisis web de código abierto autohospedada que proporciona estadísticas de sitios web simples y útiles sin rastrear ni almacenar la información personal de sus usuarios. Es una muy buena alternativa a Google Analytics con una interfaz web sencilla que puede ser utilizada por pequeñas y medianas empresas. Fathom le brinda control total sobre sus datos sin utilizar soluciones de terceros. Fathom le ofrece las mejores páginas, los principales referentes, la tasa de rebote y el tiempo promedio de permanencia en su sitio web.

En este tutorial, aprenderemos cómo instalar el análisis de Fathom en el servidor Ubuntu 18.04.

Requisitos

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

Empezando

Antes de comenzar, deberá actualizar su sistema con la última versión. Puede hacer esto ejecutando el siguiente comando:

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

Una vez que su servidor esté actualizado, reinícielo para aplicar los cambios.

Instalar Nginx y MariaDB

Primero, deberá instalar el servidor Nginx y MariaDB en su servidor. Puede instalarlos ejecutando el siguiente comando:

apt-get install nginx mariadb-server -y

Una vez que ambos paquetes estén instalados, inicie el servicio MariaDB y Nginx y habilítelos para que se inicien en el momento del arranque con el siguiente comando:

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

Configurar MariaDB

De forma predeterminada, MariaDB no está protegido. Por lo tanto, deberá asegurarlo. Puede hacer esto ejecutando el script mysql_secure_installation:

mysql_secure_installation

Este script cambiará su contraseña raíz actual, eliminará a los usuarios anónimos, no permitirá el inicio de sesión raíz 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é protegida, inicie sesión en el shell de MariaDB con el siguiente comando:

mysql -u root -p

Ingrese su contraseña de root, luego cree 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, otorgue todos los privilegios para comprender la base de datos con el siguiente comando:

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

A continuación, elimine los privilegios y salga del shell de MariaDB con el siguiente comando:

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

Instalar y configurar Fathom

Primero, deberá descargar la última versión del binario Fathom del repositorio de Git. Puedes descargarlo con el siguiente comando:

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

Una vez que se complete la descarga, mueva el binario descargado al directorio /usr/local/bin/ con el siguiente comando:

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

A continuación, proporcione permiso ejecutable para comprender el binario con el siguiente comando:

chmod 755 /usr/local/bin/fathom

A continuación, deberá configurar el entorno de Fathom en su directorio de inicio. Puede hacer esto ejecutando el siguiente comando:

nano .env

Agregue 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, deberá crear una cuenta de administrador para Fathom. Puedes hacerlo con el siguiente comando:

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

Debería ver el siguiente resultado:

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, inicie el servidor Fathom con el siguiente comando:

fathom server

Debería ver el siguiente resultado:

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

Acceder a la interfaz web de Fathom

Fathom ahora está iniciando y escuchando en el puerto 9000. Abra su navegador web y escriba la URL http://192.168.0.103:9000. Será redirigido a la siguiente página:

Inicio de sesión

Ahora, proporcione su credencial de administrador y haga clic en el Señal en botón. Deberías ver la siguiente página:

Añadir un sitio web

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

Panel de control del sitio web

Estadísticas de ejemplo:

Crear archivo de servicio de Fathom Systemd

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

nano /etc/systemd/system/fathom.service

Agregue 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

Guarde y cierre el archivo, luego habilite el servicio Fathom con el siguiente comando:

systemctl daemon-reload
systemctl enable fathom

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

systemctl start fathom

Puede verificar el estado del servicio Fathom con el siguiente comando:

systemctl status fathom

Debería ver el siguiente resultado:

? 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

De forma predeterminada, Fathom escucha en el puerto 9000. Por lo tanto, deberá configurar Nginx como un proxy inverso para acceder a Fathom sin especificar el número de puerto.

Puede hacer esto creando el archivo de host virtual Fathom:

nano /etc/nginx/sites-available/fathom

Agregue las siguientes líneas:

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

  server_name 192.168.0.103;

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

Guarde y cierre el archivo. Luego, pruebe Nginx para detectar cualquier error de sintaxis con el siguiente comando:

nginx -t

A continuación, deshabilite el archivo de host virtual predeterminado de Nginx y habilite 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, reinicie el servicio Nginx con el siguiente comando:

systemctl restart nginx

Ahora, puede acceder a la interfaz web de Fathom usando la URL http://192.168.0.103.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *