BysMax
Traccar

Emmanuel Díaz Leal Hernández

May 25, 2024
Intermediate

Instalación Traccar GPS en Ubuntu DigitalOcean - Guía Completa 2025

Guía completa para instalar Traccar GPS servidor en Ubuntu DigitalOcean. Aprende a configurar esta plataforma de rastreo GPS gratuita con SSL, MySQL y aplicaciones móviles incluidas.

Traccar es una plataforma de rastreo GPS completamente gratuita (Open Source) que te permite implementar tu propia solución para el seguimiento de vehículos, flotillas y dispositivos móviles. En esta guía completa, aprenderás a instalar Traccar en Ubuntu usando DigitalOcean y configurarlo con una base de datos MySQL para un entorno de producción robusto.

Requisitos del sistema

Para esta instalación necesitarás:

  • Ubuntu 20.04 LTS o superior
  • 1GB RAM mínimo (recomendado 2GB)
  • 20GB espacio en disco
  • Java 11 o superior
  • MySQL/MariaDB para producción

Puedes encontrar el video guiado aquí Instalación de Traccar en YouTube. También te podría interesar cómo actualizar Traccar en DigitalOcean.

Curso de traccar

Accede al curso de traccar aqui: Curso de traccar

1. Registrarse en DigitalOcean

Lo primero que necesitas es una cuenta en DigitalOcean. Puedes registrarte usando este enlace para recibir $200 de crédito gratis.

Una vez registrado, crea un nuevo "droplet" (instancia de servidor virtual) con Ubuntu como sistema operativo. La configuración básica con 1GB de RAM y 1 CPU es suficiente para ejecutar Traccar.

2. Instalar dependencias necesarias

Antes de instalar Traccar, necesitamos preparar el servidor con las dependencias requeridas. Conéctate al droplet por SSH y ejecuta los siguientes comandos:

Actualizar el sistema y instalar Java

# Actualizar repositorios
sudo apt update && sudo apt upgrade -y

# Instalar Java Runtime Environment y herramientas necesarias
sudo apt -y install default-jre unzip mysql-server wget curl

Verificar la instalación de Java

java -version

Deberías ver una salida similar a:

openjdk version "11.0.x" 2023-xx-xx
OpenJDK Runtime Environment...

Nota importante: Traccar requiere Java 11 o superior para funcionar correctamente. La versión default-jre en Ubuntu 20.04+ incluye Java 11.

3. Configurar la base de datos MySQL

Una base de datos MySQL es esencial para un entorno de producción robusto. La base de datos H2 que viene por defecto no es recomendada para producción.

Asegurar MySQL

Primero, ejecuta el script de seguridad de MySQL:

sudo mysql_secure_installation

Crear base de datos para Traccar

Configura la base de datos con los siguientes comandos:

# Acceder a MySQL como root
sudo mysql -u root -p

# Crear base de datos y usuario para Traccar
CREATE DATABASE traccar CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'traccar'@'localhost' IDENTIFIED BY 'tu_password_segura';
GRANT ALL PRIVILEGES ON traccar.* TO 'traccar'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Importante: Reemplaza tu_password_segura con una contraseña fuerte para mayor seguridad.

Alternativamente, puedes usar el comando de una línea (menos seguro):

mysql -u root --execute="ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; GRANT ALL ON *.* TO 'root'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; CREATE DATABASE traccar;"

4. Descargar e instalar Traccar

Descargar la última versión

Descarga la versión más reciente de Traccar desde el repositorio oficial:

# Crear directorio temporal
cd /tmp

# Descargar la última versión de Traccar
wget https://www.traccar.org/download/traccar-linux-64-latest.zip

# También puedes descargar una versión específica (recomendado para producción)
# wget https://github.com/traccar/traccar/releases/download/v6.6/traccar-linux-64-6.6.zip

Instalar Traccar

# Descomprimir el archivo
unzip traccar-linux-*.zip

# Ejecutar el instalador
sudo ./traccar.run

El instalador creará automáticamente:

  • Directorio de instalación: /opt/traccar/
  • Servicio systemd: traccar.service
  • Usuario del sistema: traccar
  • Archivos de configuración en /opt/traccar/conf/

Verificar la instalación

# Verificar que el servicio fue creado
sudo systemctl status traccar

# Verificar la estructura de archivos
ls -la /opt/traccar/

5. Configurar Traccar para MySQL

El archivo de configuración principal está ubicado en /opt/traccar/conf/traccar.xml. Este archivo controla todos los aspectos de Traccar.

Configuración básica con MySQL

Crea o edita el archivo de configuración:

sudo nano /opt/traccar/conf/traccar.xml

Agrega la siguiente configuración:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE properties SYSTEM 'http://java.sun.com/dtd/properties.dtd'>
<properties>
    <entry key="config.default">./conf/default.xml</entry>
    
    <!-- Configuración de base de datos MySQL -->
    <entry key='database.driver'>com.mysql.cj.jdbc.Driver</entry>
    <entry key='database.url'>jdbc:mysql://localhost:3306/traccar?serverTimezone=UTC&amp;useSSL=false&amp;allowMultiQueries=true&amp;autoReconnect=true&amp;useUnicode=yes&amp;characterEncoding=UTF-8&amp;sessionVariables=sql_mode=''</entry>
    <entry key='database.user'>traccar</entry>
    <entry key='database.password'>tu_password_segura</entry>
    
    <!-- Configuración de servidor web -->
    <entry key='web.enable'>true</entry>
    <entry key='web.port'>8082</entry>
    <entry key='web.path'>./web</entry>
    
    <!-- Configuración de geocoding (opcional) -->
    <entry key='geocoder.enable'>true</entry>
    <entry key='geocoder.type'>nominatim</entry>
    
</properties>

Configuración con comando de una línea (método rápido)

Alternativamente, puedes usar este comando para una configuración rápida:

cat > /opt/traccar/conf/traccar.xml << EOF
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE properties SYSTEM 'http://java.sun.com/dtd/properties.dtd'>
<properties>
    <entry key="config.default">./conf/default.xml</entry>
    <entry key='database.driver'>com.mysql.jdbc.Driver</entry>
    <entry key='database.url'>jdbc:mysql://localhost/traccar?zeroDateTimeBehavior=round&amp;serverTimezone=UTC&amp;allowPublicKeyRetrieval=true&amp;useSSL=false&amp;allowMultiQueries=true&amp;autoReconnect=true&amp;useUnicode=yes&amp;characterEncoding=UTF-8&amp;sessionVariables=sql_mode=''</entry>
    <entry key='database.user'>root</entry>
    <entry key='database.password'>root</entry>
</properties>
EOF

Importante: Asegúrate de cambiar las credenciales de la base de datos por las que configuraste en el paso anterior.

6. Iniciar y configurar el servicio Traccar

Iniciar Traccar

# Iniciar el servicio
sudo systemctl start traccar

# Habilitar inicio automático
sudo systemctl enable traccar

# Verificar el estado
sudo systemctl status traccar

Verificar que Traccar está funcionando

# Verificar que el puerto 8082 está abierto
sudo netstat -tlnp | grep 8082

# Ver los logs en tiempo real
sudo journalctl -u traccar -f

Acceder a la interfaz web

Una vez iniciado, puedes acceder a Traccar en:

http://tu-ip-servidor:8082

Primer acceso:

  • El primer usuario que se registre se convierte automáticamente en administrador
  • No hay usuarios predeterminados en las versiones más recientes
  • Usa credenciales seguras para la cuenta de administrador

Configurar el firewall

Es importante abrir los puertos necesarios:

# Permitir puerto web de Traccar
sudo ufw allow 8082

# Permitir puertos para dispositivos GPS (rango común)
sudo ufw allow 5001:5134/tcp
sudo ufw allow 5001:5134/udp

# Habilitar firewall si no está activo
sudo ufw enable

7. Conexión Segura

Traccar sirve la interfaz web y la API usando HTTP regular, sin encriptación. Esta guía proporciona instrucciones para configurar Traccar con HTTPS, usando encriptación SSL/TLS. Los ejemplos son para Ubuntu Linux, pero se pueden aplicar a otras plataformas. Traccar no soporta conexiones seguras de manera nativa, por lo que se usa un servidor proxy, en este caso Apache, para tunelizar todas las solicitudes a través de una conexión segura.

Instalación y Configuración de Apache

  1. Instala Apache y habilita los módulos necesarios:
sudo add-apt-repository ppa:ondrej/apache2
sudo apt-get install ssl-cert apache2
sudo a2enmod ssl proxy_http proxy_wstunnel rewrite
sudo service apache2 restart
  1. Agrega una nueva configuración de sitio:
sudo nano /etc/apache2/sites-available/traccar.conf

Contenido de la configuración del sitio:

<VirtualHost *:80>
    ServerName demo.traccar.org
    Redirect / https://demo.traccar.org/
</VirtualHost>
<IfModule mod_ssl.c>
    <VirtualHost _default_:443>
        ServerName demo.traccar.org
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        ProxyPass /api/socket ws://localhost:8082/api/socket
        ProxyPassReverse /api/socket ws://localhost:8082/api/socket

        ProxyPass / http://localhost:8082/
        ProxyPassReverse / http://localhost:8082/

        SSLEngine on
        SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
        SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
    </VirtualHost>
</IfModule>
  1. Desactiva el sitio predeterminado y activa la nueva configuración:
sudo a2dissite 000-default
sudo a2ensite traccar
sudo service apache2 restart
  1. Genera un certificado SSL válido usando Let's Encrypt:
sudo apt install certbot python3-certbot-apache
sudo certbot --apache

Traccar en un subdirectorio

Para hacer que Traccar esté disponible en una ruta no raíz, ajusta la configuración del proxy y la ruta de las cookies:

ProxyRequests off

ProxyPass /gps/api/socket ws://localhost:8082/api/socket
ProxyPassReverse /gps/api/socket ws://localhost:8082/api/socket

ProxyPass /gps/ http://localhost:8082/
ProxyPassReverse /gps/ http://localhost:8082/
ProxyPassReverseCookiePath / /gps/

Redirect permanent /gps /gps/

Además, recompila la aplicación moderna para que funcione correctamente en la nueva ruta.

8. Primer acceso y configuración inicial

Acceder a la interfaz web

Una vez iniciado, puedes acceder a Traccar en:

http://tu-ip-servidor:8082

Primer acceso:

  • El primer usuario que se registre se convierte automáticamente en administrador
  • No hay usuarios predeterminados en las versiones más recientes
  • Usa credenciales seguras para la cuenta de administrador

Configuración básica

  1. Crear cuenta de administrador
  2. Configurar preferencias del servidor
  3. Añadir tu primer dispositivo GPS
  4. Configurar notificaciones básicas

9. Problemas comunes y soluciones

Traccar no inicia

# Verificar logs de error
sudo journalctl -u traccar -n 50

# Verificar puertos en uso
sudo netstat -tlnp | grep 8082

# Reiniciar servicio
sudo systemctl restart traccar

Problema de conexión a base de datos

# Verificar que MySQL está corriendo
sudo systemctl status mysql

# Verificar conectividad
mysql -u traccar -p -h localhost traccar

# Verificar configuración
sudo cat /opt/traccar/conf/traccar.xml | grep database

Dispositivos GPS no conectan

  1. Verificar puertos del firewall:

    sudo ufw status
    
  2. Comprobar protocolo del dispositivo: Consulta la lista oficial de protocolos soportados

  3. Verificar logs de conexión:

    sudo tail -f /opt/traccar/logs/tracker-server.log
    

Los pasos anteriores deberían funcionar correctamente. Si al acceder a la IP de tu droplet no se muestra la página, intenta detener y volver a iniciar el servicio:

sudo systemctl stop traccar && sudo systemctl start traccar

¡Y eso es todo! Traccar debería estar ejecutándose ahora en el puerto 8082, listo para ser configurado y utilizado para rastrear dispositivos GPS.


¿Qué es Traccar GPS?

Traccar es un software de rastreo GPS gratuito que soporta más de 2000 protocolos de comunicación y funciona con una amplia variedad de dispositivos GPS. Al igual que las plataformas comerciales, Traccar incluye:

  • Rastreo en tiempo real de vehículos y dispositivos
  • Geofencing y alertas personalizadas
  • Reportes detallados de rutas y actividad
  • Aplicaciones móviles para Android e iOS
  • Interfaz web moderna y responsive
  • API REST para integraciones

Características principales de Traccar

  • 100% gratuito y código abierto
  • ✅ Soporta más de 2000 protocolos GPS
  • Interfaz web moderna y intuitiva
  • Aplicaciones móviles nativas
  • Alertas y notificaciones en tiempo real
  • Geofencing avanzado
  • Reportes completos de actividad

Configuración avanzada de Traccar

Configurar notificaciones por email

Para recibir alertas y notificaciones, configura un servidor SMTP en el archivo traccar.xml:

<!-- Configuración SMTP - Gmail ejemplo -->
<entry key='mail.smtp.host'>smtp.gmail.com</entry>
<entry key='mail.smtp.port'>587</entry>
<entry key='mail.smtp.starttls.enable'>true</entry>
<entry key='mail.smtp.from'>tu-email@gmail.com</entry>
<entry key='mail.smtp.auth'>true</entry>
<entry key='mail.smtp.username'>tu-email@gmail.com</entry>
<entry key='mail.smtp.password'>tu-app-password</entry>

Configurar mapas personalizados

Para usar Google Maps en lugar del mapa predeterminado:

  1. Accede como administrador
  2. Ve a Preferencias > Servidor
  3. En "Capa de Mapa" selecciona "Mapa Personalizado"
  4. Ingresa la URL: https://mt0.google.com/vt/lyrs=s&hl=en&x={x}&y={y}&z={z}&s=Ga

Configuración de geofencing

Traccar incluye potentes herramientas de geofencing:

<!-- Habilitar geofencing -->
<entry key='geofence.enable'>true</entry>
<entry key='geofence.speedLimit'>80</entry>

Aplicaciones móviles para Traccar

Traccar Client - Rastreo de móviles

Traccar Client convierte tu smartphone en un dispositivo GPS:

  • Android: Disponible en Google Play Store
  • iOS: Disponible en App Store
  • Configuración: Solo necesitas la IP del servidor y puerto

Configuración de Traccar Client:

  1. Instala la app desde la tienda correspondiente
  2. Configura:
    • Servidor: https://tu-dominio.com o http://tu-ip:8082
    • ID del dispositivo: Identificador único
    • Frecuencia: Intervalo de envío de ubicación

Traccar Manager - Gestión desde móvil

Traccar Manager te permite administrar tu plataforma desde el móvil:

  • Ver todos los dispositivos conectados
  • Monitorear ubicaciones en tiempo real
  • Recibir notificaciones push
  • Generar reportes

Mantenimiento y actualización

Backup de la configuración

# Crear backup de la configuración
sudo cp /opt/traccar/conf/traccar.xml /opt/traccar/conf/traccar.xml.backup

# Backup de la base de datos
mysqldump -u traccar -p traccar > traccar_backup_$(date +%Y%m%d).sql

Actualizar Traccar

# Detener el servicio
sudo systemctl stop traccar

# Descargar nueva versión
wget https://www.traccar.org/download/traccar-linux-64-latest.zip

# Hacer backup y actualizar
sudo cp /opt/traccar/conf/traccar.xml /opt/traccar/conf/traccar.xml.backup
unzip traccar-linux-*.zip && sudo ./traccar.run

# Restaurar configuración y reiniciar
sudo cp /opt/traccar/conf/traccar.xml.backup /opt/traccar/conf/traccar.xml
sudo systemctl start traccar

Monitoreo y logs

# Ver logs del sistema
sudo journalctl -u traccar --since "1 hour ago"

# Monitorear rendimiento
htop
df -h
free -h

Solución de problemas adicionales

Traccar no inicia

# Verificar logs de error
sudo journalctl -u traccar -n 50

# Verificar puertos en uso
sudo netstat -tlnp | grep 8082

# Reiniciar servicio
sudo systemctl restart traccar

Problema de conexión a base de datos

# Verificar que MySQL está corriendo
sudo systemctl status mysql

# Verificar conectividad
mysql -u traccar -p -h localhost traccar

# Verificar configuración
sudo cat /opt/traccar/conf/traccar.xml | grep database

Dispositivos GPS no conectan

  1. Verificar puertos del firewall:

    sudo ufw status
    
  2. Comprobar protocolo del dispositivo: Consulta la lista oficial de protocolos soportados

  3. Verificar logs de conexión:

    sudo tail -f /opt/traccar/logs/tracker-server.log
    

Rendimiento lento

# Verificar recursos del sistema
free -h
df -h
top

# Optimizar base de datos
sudo mysql -u root -p
USE traccar;
OPTIMIZE TABLE tc_positions;

Ventajas de usar Traccar

Comparación con otras plataformas

CaracterísticaTraccar (Gratuito)Plataformas Comerciales
Costo✅ 100% Gratuito❌ $15-50/mes por dispositivo
Dispositivos ilimitados✅ Sin límites❌ Límites por plan
Código abierto✅ Personalizable❌ Cerrado
Hosting propio✅ Control total❌ Dependes del proveedor
API completa✅ REST API⚠️ Limitada

Casos de uso reales

1. Empresas de transporte:

  • Seguimiento de flotillas
  • Optimización de rutas
  • Control de combustible
  • Reportes de actividad

2. Seguridad personal:

  • Rastreo de vehículos personales
  • Localización de familiares
  • Alertas de pánico

3. Servicios de delivery:

  • Seguimiento de repartidores
  • Tiempo estimado de entrega
  • Optimización de rutas

4. Empresas de construcción:

  • Seguimiento de maquinaria
  • Control de horarios
  • Prevención de robos

Recursos adicionales

Documentación oficial

Comunidad y soporte

Extensiones y personalizaciones

Conclusión

Has completado exitosamente la instalación de Traccar en Ubuntu con DigitalOcean. Ahora tienes:

Servidor GPS completamente funcional con SSL
Base de datos MySQL optimizada para producción
Aplicaciones móviles configuradas
Sistema de notificaciones activado
Backups y mantenimiento programados

Traccar te proporciona una plataforma de rastreo GPS profesional sin costos de licencia, con la flexibilidad de un sistema open source y la robustez de una solución empresarial.

Próximos pasos recomendados:

  1. Configurar tu primer dispositivo GPS
  2. Crear geofences para áreas importantes
  3. Configurar alertas personalizadas
  4. Explorar la API para integraciones
  5. Realizar backups regulares

¿Necesitas ayuda adicional? Revisa nuestro curso completo de Traccar donde cubrimos configuraciones avanzadas, integraciones y casos de uso específicos.

Comentarios

No hay comentarios aún. ¡Sé el primero en comentar!