Instalar Traccar GPS en Ubuntu y Nginx


Traccar es un software para rastreo GPS completamente gratuito (Open Source) con el que fácilmente podemos implementar nuestra propia plataforma para seguimiento de automóviles, flotillas e incluso rastrear teléfonos celulares mediante el uso de una aplicación.

Traccar GPS server con Ubuntu y Nginx

Al igual que la mayoría de las plataformas GPS conocidas y que encontramos comercialmente, Traccar soporta una gran variedad de dispositivos – lista de dispositivos –, así como la lectura de datos tipo OBD-II cuando es soportado.

El desarrollo y mantenimiento de este software es muy activo, por lo que constantemente liberan nuevas versiones y actualizaciones, este tutorial está basado en:

  • Traccar v5.12
  • Ubuntu 22.04

* En teoría Traccar es compatible con servidores ARM, pero en mi experiencia no ha funcionado.

Instalación

Traccar se ejecuta en Java por lo que debemos asegurarnos de tener “Java Runtime Environment” (JRE) instalado en nuestro servidor, además de una herramienta para descomprimir (Unzip) el paquete de instalación.

sudo apt update
sudo apt -y install default-jre unzip

Descargamos el paquete de instalación directamente desde el repositorio oficial en Github y posteriormente lo descomprimimos.

wget https://github.com/traccar/traccar/releases/download/v5.12/traccar-linux-64-5.12.zip
unzip traccar-linux-64-5.12.zip -d ~/traccar

Ejecutamos el instalador e iniciamos el servicio de Traccar.

sudo ./traccar/traccar.run
sudo systemctl start traccar.service

En este punto Traccar ya esta instalado y funcionando. Podemos hacer una prueba accediendo por el puerto 8082 con la IP del servidor (Ejemplo: http://54.84.104.67:8082) que viene configurado por default y deberíamos ver la pantalla de inicio.

Configuración Traccar

El archivo para la configuración de Traccar esta localizado en /opt/traccar/conf/traccar.xml, prácticamente este es el único archivo que debemos modificar. Para conocer todos los parámetros consulta la Documentación Oficial.

<?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>
<!-- DataBase MariaDB -->
<entry key='database.driver'>com.mysql.jdbc.Driver</entry>
<entry key='database.url'>jdbc:mysql://[HOST]:3306/[DATABASE]?useSSL=false&amp;allowMultiQueries=true&amp;autoReconnect=true&amp;useUnicode=yes&amp;characterEncoding=UTF-8&amp;sessionVariables=sql_mode=''</entry>
<entry key='database.user'>[USER]</entry>
<entry key='database.password'>[PASSWORD]</entry>
<!-- Mail Service - Amazon SES -->
<entry key='mail.smtp.host'>email-smtp.us-east-1.amazonaws.com</entry>
<entry key='mail.smtp.port'>25</entry>
<entry key='mail.smtp.starttls.enable'>true</entry>
<entry key='mail.smtp.ssl.enable'>false</entry>
<entry key='mail.smtp.from'>mail@domain.com</entry>
<entry key='mail.smtp.auth'>true</entry>
<entry key='mail.smtp.username'>[AccessKeyID]</entry>
<entry key='mail.smtp.password'>[SecretAccessKey]</entry>
</properties>
view rawtraccar.xmlhosted with ❤ by GitHub

A continuación se describe la configuración usada en el ejemplo anterior.

Configurar base de datos

Por default Traccar viene configurado para usar y conectarse a una base de datos interna (h2) la cual no es recomendable usar en un ambiente de producción, pero tenemos la opción de usar casi cualquiera de nuestra elección, podemos consultar la configuración para cada caso en la Documentación Oficial.

Para este ejemplo vamos a configurar una base de datos MariaDB por su similitud y compatibilidad con MySQL que será instalada en “localhost”. En el archivo de configuración traccar.xml configurar los parámetros correspondientes como se muestra en el ejemplo anterior.

Configurar notificaciones

Para poder recibir notificaciones del sistema es necesario configurar un servidor SMTP, en el ejemplo anterior se muestran los parámetros para usar Amazon SES (Amazon Web Services) para el envio de correos electrónicos.

A partir de la version 3.11 de Traccar es posible usar un servidor SMPP para enviar notificaciones vía mensajes SMS.

Instalación y configuración Nginx

Te recomendamos usar Webinoly nuestro script para instalación, configuración y optimización para tu servidor web. Es muy fácil y con un solo comando tu servidor estará listo para alojar cualquier sitio web que requieras.

wget -qO weby qrok.es/wy && sudo bash weby

Así de fácil, ahora ya tienes instalado y optimizado tu servidor web LEMP con Nginx, PHP y MariaDB (MySQL). Ahora solo debes crear tu primer sitio para alojar Traccar usando la configuración Reverse Proxy de Nginx.

sudo site midominio.com -proxy=[localhost:8082]

Para empezar a usar MariaDB en lugar de la base de datos interna (h2) de Traccar es muy fácil, solo debemos crear una base de datos utilizando un pequeño truco de Webinoly sudo site -mysql y modificar el archivo de configuración como explicamos anteriormente. Finalmente, debemos reiniciar sudo systemctl restart traccar.service el servicio de Traccar para que reconozca la nueva configuración.

¡Listo! Ahora podemos acceder a Traccar usando nuestro dominio.

Certificado SSL (Opcional)

Con Webinoly es muy fácil y además gratuito instalar y configurar un certificado SSL en Traccar para navegar de manera segura con HTTPS.

sudo site midominio.com -ssl=on -root-path=/opt/traccar/modern

¡Listo! Nuestro servidor y sitio Traccar ahora está configurado para navegar y redireccionar todo el tráfico a HTTPS.

Login

Hemos terminado la instalación…

En algunas versiones anteriores de Traccar, la cuenta de administrador predeterminada se crea automáticamente con el nombre de usuario “admin” y la contraseña “admin”. En las versiones más nuevas no hay usuarios predeterminados, por lo que debes registrarte. El primer usuario registrado se convierte automáticamente en administrador.

Para cambiar el proveedor de mapas, por ejemplo, usar Google Maps, debemos ingresar con la cuenta de administrador en el menu Preferencias > Servidor, en la opción “Capa de Mapa” elejir “Mapa Personalizado” e ingresar la URL de Google Maps:

  • https://mt0.google.com/vt/lyrs=s&hl=en&x={x}&y={y}&z={z}&s=Ga

Para más opciones sobre los mapas disponibles ver el documento oficial sobre “Maps Layers”.

Es importante entender el uso de los “Atributos” en Traccar, por ejemplo, para configurar una alarma por exceder una determinada velocidad usariamos el atributo “speedLimit”.

Ver más información sobre eventos y atributos.

¡IMPORTANTE! Si tenemos un firewall es importante abrir los puertos de entrada (inbound) en el rango 5001-5134 ya que son utilizados por Traccar para la comunicación con los dispositivos GPS, además de los puertos comunes de acceso Web y demás.

Aplicaciones móviles

Traccar Client – Aplicación para rastreo del teléfono celular o móvil, basta con configurar los datos de nuestro servidor y listo.

Disponible para Android e iOS.

También existe una versión “Oculta” (hidden) para Android para mayor protección y evitar que sea desactivada facilmente. Solo disponible en formato APK desde la página oficial.

Traccar Manager – Usa la plataforma desde tu teléfono móvil, accede a toda la información de tus dispositivos conectados.

Disponible para Android e iOS.

Conclusión

Traccar es un software Open Source y es relativamente sencillo tomarlo y personalizarlo. Por ejemplo, crear un nuevo FrontEnd y mejorar la experiencia de usuario. Un claro ejemplo de las posibilidades es GPSWox, una reconocida plataforma de seguimiento GPS quienes usan Traccar como BackEnd ofreciendo una experiencia muy mejorada para el usuario final.

Código fuente | Github


18 respuestas a “Instalar Traccar GPS en Ubuntu y Nginx”

  1. Buenos días, hay algún cambio de configuración en Centos 7.2 para ningx proxy, estoy utilizando la configuración aquí descrita y obtengo 502 Bad gateway? Agradezco su ayuda.

      • Buenas Cristhian, quiero instalar el servidor de Traccar en un servidor web, me ayudarias a hacerlo paso a paso.
        Favor si me contactas al +595 975 891 846 es mi whatsapp, sería más rápido y util. De este modo me dices cuanto me cobrarias por la asistencia y más detalles.

  2. hola porque no te haces un video con todos estos pasos porque a mi por lo menos no me funciona ya hasta estoy perdido, con un video me se me puede aclarar todo el panorama

  3. Soy de Guatemala y por lo visto hay un pequeño error que nadie lo comenta. todo los que somos nuevos solo hacemos una instalacion nueva por lo que no todo al pie de la letra esta correcto . Como en este caso IP del servidor (Ejemplo: http://54.84.104.67:8082) Pero la realidad es que nuestras PC no estan en produccion por lo que debes escribir http://localhost:8082/ y con eso podras ingresar a la plataforma web.

  4. Hola :

    esto se puede usar con esos dispositivos GPS de rastrego, que usan un sim, o solo es para usar con Android. si en caso se pueda usar, me puedes indicar el modelo

    • Hola Juri.
      Te recomiendo leer el artículo, casi al inicio viene una liga con la lista completa de dispositivos soportados por Traccar. De manera rápida te comento que si soporta una gran variedad de dispositivos de los que comentas.
      De igual manera te recomiendo leer la documentación oficial del software Traccar para entender por completo sus características. Esto es solo un artículo para facilitar su instalación.
      Saludos.

  5. bro despues de empezar a usar MariaDB en lugar de la base de datos interna (h2) de Traccar es muy fácil, solo debemos crear una base de datos utilizando un pequeño truco de Webinoly sudo site -mysql y modificar el archivo de configuración como explicamos anteriormente. Finalmente, debemos reiniciar sudo systemctl restart traccar.service el servicio de Traccar para que reconozca la nueva configuración.

    implemente el comando sudo /mysql me mandaba error 502 cabe destacar que todo lo demas esta bien echo el articulo en gran aprte es muy bueno pero le ecomiendo que haga uotro articulo donde explique bien como cambiar de mysql a mariadb asi que si omitimos esta parte de porsi todo esta muy bueno y era justo lo que bvuscaba

  6. Hola Cristian. Me puedes ayudar a instalar la versión mas reciente en mi vps y me confirmas cuánto cuesta el soporte para este fin por favor.

Responder a Juri Rodriguez Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *