Contenido del curso
Emmanuel Díaz Leal Hernández
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&useSSL=false&allowMultiQueries=true&autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8&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&serverTimezone=UTC&allowPublicKeyRetrieval=true&useSSL=false&allowMultiQueries=true&autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8&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
- 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
- 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>
- Desactiva el sitio predeterminado y activa la nueva configuración:
sudo a2dissite 000-default
sudo a2ensite traccar
sudo service apache2 restart
- 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
- Crear cuenta de administrador
- Configurar preferencias del servidor
- Añadir tu primer dispositivo GPS
- 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
Verificar puertos del firewall:
sudo ufw status
Comprobar protocolo del dispositivo: Consulta la lista oficial de protocolos soportados
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:
- Accede como administrador
- Ve a Preferencias > Servidor
- En "Capa de Mapa" selecciona "Mapa Personalizado"
- 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:
- Instala la app desde la tienda correspondiente
- Configura:
- Servidor:
https://tu-dominio.com
ohttp://tu-ip:8082
- ID del dispositivo: Identificador único
- Frecuencia: Intervalo de envío de ubicación
- Servidor:
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
Verificar puertos del firewall:
sudo ufw status
Comprobar protocolo del dispositivo: Consulta la lista oficial de protocolos soportados
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ística | Traccar (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
- Traccar Web - Interfaz web moderna
- Traccar Client - App móvil código abierto
- Plugins de terceros
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:
- Configurar tu primer dispositivo GPS
- Crear geofences para áreas importantes
- Configurar alertas personalizadas
- Explorar la API para integraciones
- 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!