Cómo instalar Fathom Analytics en Ubuntu 18.04 LTS

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:
Ahora, proporcione su credencial de administrador y haga clic en el Señal en botón. Deberías ver la siguiente página:
Ahora, proporcione el nombre de su sitio y haga clic en el Crear sitio botón. Deberías ver la siguiente página:
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.