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 *