Umami Analytics es una herramienta de análisis web de código abierto que proporciona una alternativa ligera y respetuosa con la privacidad a Google Analytics. En este artículo, te mostraremos cómo instalar Umami Analytics en Debian 12 paso a paso. Este tutorial está diseñado para ser técnico pero accesible para los recién llegados.

Requisitos Previos

Antes de comenzar, asegúrate de tener lo siguiente:

  • Un servidor con Debian 12 instalado.
  • Acceso a una cuenta con privilegios de superusuario (root) o acceso a sudo.

Paso 1: Actualizar el Sistema

Es importante asegurarse de que tu sistema esté actualizado. Abre una terminal y ejecuta los siguientes comandos:

sudo apt update
sudo apt upgrade -y

Paso 2: Instalar Node.js y npm

Umami está construido con Node.js, por lo que necesitamos instalar Node.js y npm (el gestor de paquetes de Node.js). Para instalar Node.js, sigue estos pasos:

curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install -y nodejs

Verifica la instalación ejecutando:

node -v
npm -v

Paso 3: Instalar PostgreSQL

Umami utiliza PostgreSQL como base de datos. Instálalo con los siguientes comandos:

sudo apt install postgresql postgresql-contrib
sudo systemctl start postgresql
sudo systemctl enable postgresql

Paso 4: Configurar la Base de Datos

Inicia sesión en PostgreSQL como usuario postgres:

sudo -i -u postgres

Crea un usuario y una base de datos para Umami:

createuser umamiuser
createdb umami -O umamiuser
psql
ALTER USER umamiuser WITH ENCRYPTED PASSWORD 'contraseña_segura';
\q
exit

Paso 5: Descargar y Configurar Umami

Descarga el código fuente de Umami desde GitHub y navega al directorio:

git clone https://github.com/mikecao/umami.git
cd umami

Instala las dependencias necesarias:

npm install

Copia el archivo de configuración de ejemplo y edítalo:

cp .env.example .env
nano .env

Modifica las siguientes líneas para configurar la conexión a la base de datos:

DATABASE_URL=postgresql://umamiuser:contraseña_segura@localhost:5432/umami

Guarda el archivo y cierra el editor.

Paso 6: Inicializar la Base de Datos

Ejecuta el siguiente comando para inicializar la base de datos con las tablas necesarias:

npm run build
npm run update-db

Paso 7: Iniciar Umami

Inicia el servidor de Umami:

npm start

Umami ahora debería estar funcionando en http://localhost:3000. Puedes acceder a la interfaz de usuario y empezar a configurar tu cuenta.

Paso 8: Configurar un Servidor Web (Opcional)

Para hacer que Umami esté disponible públicamente y protegerlo con HTTPS, puedes configurar un servidor web como Nginx y obtener un certificado SSL gratuito con Let’s Encrypt.

Instalar Nginx

sudo apt install nginx
sudo systemctl start nginx
sudo systemctl enable nginx

Configurar Nginx para Umami

Crea un archivo de configuración para Umami:

sudo nano /etc/nginx/sites-available/umami

Añade la siguiente configuración:

server {
    listen 80;
    server_name tu_dominio.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Habilita el sitio y reinicia Nginx:

sudo ln -s /etc/nginx/sites-available/umami /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Obtener un Certificado SSL con Let’s Encrypt

Instala Certbot:

sudo apt install certbot python3-certbot-nginx

Obtén y configura el certificado SSL:

sudo certbot --nginx -d tu_dominio.com

Sigue las instrucciones en pantalla para completar el proceso. Certbot configurará automáticamente Nginx para usar el certificado SSL.

Para mejorar el rendimiento y la gestión de tu instalación de Umami, considera utilizar los servicios de Shape.host. Ofrecen soluciones de Linux SSD VPS que proporcionan escalabilidad, alta disponibilidad y un rendimiento superior para tus aplicaciones web. Con Shape.host, puedes asegurarte de que tu infraestructura esté siempre disponible y funcionando de manera óptima.