Wie man seinen eigenen GPS-Tracker mit Ulogger in Linux erstellt

Ein Foto von einer Person, die während einer Trekking-Tour auf eine digitale Karte schaut.

Ulogger ist ein leichtgewichtiger GPS-Tracking-Server für Linux mit einer speziellen mobilen App. In diesem Artikel wird gezeigt, wie man Ulogger auf einem Ubuntu 24.04-Server installiert und mit einem Android-Handy verbindet.

Inhaltsverzeichnis

  • Warum GPS-Daten mit Ulogger verfolgen?
  • Abhängigkeiten für Ulogger beschaffen
  • Ulogger bauen und installieren
  • Einrichten eines SSL-Reverse-Proxys mit Nginx
  • Ulogger zum ersten Mal ausführen

Warum GPS-Daten mit Ulogger verfolgen?

Ein großer Vorteil des Ulogger GPS-Trackers ist, dass man ihn direkt auf seinem Linux-System hosten kann. Das ermöglicht es, die Geolokationsdaten zu protokollieren, ohne das Risiko, dass unbefugte Personen auf die Daten zugreifen.

Ein Screenshot der standardmäßigen Benutzeroberfläche von ulogger.

Ein weiterer Vorteil von Ulogger ist, dass er Standard-Geolokationsdateiformate wie KML und GPX importieren und exportieren kann. Dies ist eine unschätzbare Funktion, wenn man eine bestehende GPS-Lösung verwendet und seine Daten zu Ulogger übertragen möchte.

Schließlich ist Ulogger Software, die kostenlos und Open Source ist. Das bedeutet, dass jeder auf den Quellcode des Programms zugreifen kann, wodurch Schwachstellen leichter erkannt und behoben werden können. Daher kann Ulogger eine widerstandsfähigere Option sein, wenn man nach einem langfristigen GPS-Logging-Server für Linux sucht.

Zur Information: Lernen Sie, wie GPS-Technologie in einfachen Worten funktioniert.

Abhängigkeiten für Ulogger beschaffen

Voraussetzung: Dieser Artikel geht davon aus, dass Sie Ulogger auf einem Ubuntu 24.04 VPS mit 2 GB RAM installieren und dass Sie derzeit einen Domainnamen besitzen.

Der erste Schritt zur Installation von Ulogger besteht darin, die Abhängigkeiten für Docker zu beschaffen. Dazu importieren Sie den Signierschlüssel für das Repository des Docker-Projekts:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg  
sudo chmod a+r /etc/apt/keyrings/docker.gpg

Erstellen Sie eine neue Repository-Datei für das Docker-Projekt mit Ihrem bevorzugten Texteditor:

sudo nano /etc/apt/sources.list.d/docker.list

Fügen Sie die folgende Codezeile in Ihre neue Repository-Datei ein:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu noble stable

Aktualisieren Sie die Paketlisten Ihrer Maschine und aktualisieren Sie alle aktuellen Pakete im System:

sudo apt update && sudo apt upgrade

Stellen Sie sicher, dass das „core“ Snap-Paket auf Ihrem Server läuft:

sudo snap install core

Installieren Sie das Certbot-Paket von der Electronic Frontier Foundation:

sudo snap install certbot --classic

Installieren Sie Docker, Docker Compose und die Abhängigkeiten zur Bereitstellung von Ulogger:

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx unzip git

Ulogger bauen und installieren

Erstellen Sie einen neuen Ordner in Ihrem Heimatverzeichnis und wechseln Sie in diesen:

mkdir ~/ulogger && cd ~/ulogger

Laden Sie die neueste Version von Ulogger aus dem Github-Repository des Entwicklers herunter:

git clone https://github.com/bfabiszewski/ulogger-server.git  
cd ./ulogger-server

Wechseln Sie zur neuesten stabilen Version des Programms:

git checkout -b v1.2 tags/v1.2

Öffnen Sie die Dockerfile von Ulogger mit Ihrem bevorzugten Texteditor:

nano ./Dockerfile

Suchen Sie die Zeilen, die „DB_ROOT_PASS“ und „DB_USER_PASS“ enthalten, und ersetzen Sie deren Werte durch zwei zufällige Textstrings.

Ein Terminal, das die beiden zufälligen Passwörter für die Datenbank des ulogger-Servers hervorhebt.

Hinweis: Sie können Ihren eigenen zufälligen Text generieren, indem Sie den folgenden Befehl ausführen: cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 32 | head -n 1.

Speichern Sie Ihre Dockerfile und erstellen Sie eine „docker-compose.yml“-Datei mit Ihrem bevorzugten Texteditor:

nano ./docker-compose.yml

Fügen Sie den folgenden Codeblock in Ihre Kompositionsdatei ein:

services:  
  ulogger:  
    container_name: ulogger-instance  
    build:  
      context: .  
      dockerfile: Dockerfile  
    ports:  
      - 8080:80

Speichern Sie Ihre docker-compose.yml-Datei und führen Sie den folgenden Befehl aus, um Ihren Ulogger-Docker-Container zu starten:

sudo docker compose up -d

Überprüfen Sie, ob Ulogger ordnungsgemäß läuft, indem Sie die laufenden Container im System auflisten:

sudo docker ps

Ein Terminal, das den laufenden ulogger-server Docker-Container hervorhebt.

Einrichten eines SSL-Reverse-Proxys mit Nginx

An diesem Punkt läuft der Ulogger-Server auf Port 8080. Um darauf zuzugreifen, müssen Sie jedoch einen sicheren Proxy für eingehende Verbindungen mit Nginx erstellen.

Beginnen Sie damit, einen neuen „A“-Eintrag für Ihre Domain zu erstellen, der auf die IP-Adresse Ihrer Ulogger-Maschine zeigt.

Gehen Sie zurück zu Ihrem Server und erstellen Sie eine Site-Konfigurationsdatei für Ihre Ulogger-Instanz:

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

Fügen Sie den folgenden Codeblock in Ihre neue Konfigurationsdatei ein:

server{  
  
server_name SUBDOMAIN.YOUR-ROOT.DOMAIN;  
  
location / {  
proxy_pass http://127.0.0.1:8080;  
proxy_http_version 1.1;  
proxy_redirect off;  
proxy_set_header Upgrade $http_upgrade;  
proxy_set_header Connection "upgrade";  
proxy_set_header X-Forwarded-Proto https;  
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
proxy_set_header Host $host;  
}  
}

Ersetzen Sie den Wert der Variable „server_name“ durch Ihren Domainnamen.

Ein Terminal, das die server_name-Variable in der Nginx-Site-Config-Datei für ulogger hervorhebt.

Speichern Sie Ihre Nginx-Site-Konfigurationsdatei und erstellen Sie einen symbolischen Link zu ihr im „sites-enabled“-Verzeichnis von Nginx:

sudo ln -s /etc/nginx/sites-available/ulogger /etc/nginx/sites-enabled/

Aktivieren und starten Sie den Nginx-Dienst auf Ihrer Maschine:

sudo systemctl enable --now nginx.service

Registrieren Sie Ihren Ubuntu-Server bei der EFF:

sudo certbot register --agree-tos -m [email protected]

Geben Sie „y“ ein und drücken Sie die Eingabetaste.

Ein Terminal, das die Eingabeaufforderung zur Registrierung des Certbot-Newsletters hervorhebt.

Holen Sie sich ein neues SSL-Zertifikat für Ihren Ulogger-Domainnamen von der EFF:

sudo certbot --nginx -d SUBDOMAIN.YOUR-ROOT.DOMAIN

Gut zu wissen: Erfahren Sie, wie Sie Ihre Online-Identität schützen können, indem Sie einen E-Mail-Alias-Server mit SimpleLogin erstellen.

Ulogger zum ersten Mal ausführen

Testen Sie, ob Ihre Ulogger-Instanz ordnungsgemäß funktioniert, indem Sie zu Ihrer Subdomain in Ihrem Webbrowser navigieren.

Ein Screenshot, der den Anmeldebildschirm von ulogger zeigt.

Geben Sie „admin“ sowohl in das Feld Benutzername als auch in das Feld Passwort ein und drücken Sie die Eingabetaste, um sich anzumelden.

Klicken Sie auf den Namen Ihres Kontos in der oberen rechten Ecke der Seite und wählen Sie Passwort ändern.

Ein Screenshot, der den Standort des

Geben Sie „admin“ im Feld Altes Passwort ein und geben Sie ein neues Passwort für Ihre Instanz an.

Ein Screenshot, der das Passwort-Eingabefenster des ulogger-Servers zeigt.

Klicken Sie auf Übermitteln, um Ihre Änderungen zu speichern, und testen Sie es, indem Sie sich von Ulogger abmelden und wieder anmelden.

Gut zu wissen: Erfahren Sie, wie Sie Ihre Urlaubsplanung optimieren können, indem Sie die besten reiseorientierten Tools für Linux ansehen.

Verknüpfen Sie Ihren Ulogger-Server mit Android

Um aktiv Ihre GPS-Spuren zu protokollieren, müssen Sie zunächst die spezielle mobile App von Ulogger besorgen. Im Moment können Sie dieses Programm nur im F-Droid-Store erhalten.

Ein Screenshot, der den Ulogger-GPS-Client für Android zeigt.

Öffnen Sie die Ulogger Android-App und klicken Sie auf das Zahnrad-Symbol in der oberen rechten Ecke der App.

Ein Screenshot, der das Zahnrad-Symbol in der mobilen App von ulogger hervorhebt.

Tippen Sie auf die Option Location provider und wählen Sie Netzwerk und GPS aus dem Auswahlmenü.

Ein Screenshot, der die Option

Wählen Sie die Option Benutzername und geben Sie „admin“ in das Textfeld ein.

Tippen Sie auf die Option Passwort und geben Sie das Passwort ein, das Sie für Ihr Administratorkonto festgelegt haben.

Wählen Sie die Option Server-URL und geben Sie die gesamte Basis-URL für Ihren Ulogger-Server an. In meinem Fall ist es „https://gps.myvpsserver.top.“

Ein Screenshot, der die Konten- und Serverdetails des ulogger-Backends zeigt.

Aktivieren Sie den Schalter Live-Synchronisierung über der Kategorie Serverdetails. Dadurch wird Ihr Android-Handy in die Lage versetzt, GPS-Daten automatisch an Ihr Ulogger-Backend zu senden.

Gehen Sie zurück zum Hauptbildschirm der mobilen App und tippen Sie auf die Schaltfläche Neue Spur.

Ein Screenshot, der die Option

Aktivieren Sie den Schalter Tracking, um Ihre GPS-Daten auf Ihrem Ulogger-Server zu protokollieren.

Ein Screenshot, der den Schalter

Bestätigen Sie, dass Ulogger korrekt Ihre GPS-Daten verfolgt, indem Sie zu Ihrem Administratorkonto gehen.

Das Hosten Ihres GPS-Tracking-Servers und -Clients mit Ulogger ist nur eine Möglichkeit, um heute Ihre Geolokationsprotokolle im Blick zu behalten. Erfahren Sie, wie Sie Ihren Standort sogar ohne Internetverbindung verfolgen können, indem Sie einige der besten Offline-GPS-Apps für Android überprüfen.

Bildnachweis: Antonio Groß über Unsplash und Ulogger Github. Alle Änderungen und Screenshots von Ramces Red.