Как создать собственный GPS-трекер с помощью Ulogger в Linux

Ulogger — это легкий сервер GPS-трекинга для Linux с выделенным мобильным приложением. В этой статье показано, как установить Ulogger на сервер Ubuntu 24.04 и связать его с телефоном Android.
Содержание
- Зачем отслеживать данные GPS с помощью Ulogger?
- Получение зависимостей для Ulogger
- Сборка и установка Ulogger
- Настройка SSL-обратного прокси с использованием Nginx
- Запуск Ulogger в первый раз
Зачем отслеживать данные GPS с помощью Ulogger?
Одним из основных преимуществ GPS-трекера Ulogger является то, что вы можете разместить его непосредственно на своей системе Linux. Это позволяет вам фиксировать свои геолокационные треки без риска, что недобросовестные лица будут “шпионить” за вашими данными.

Еще одно преимущество Ulogger заключается в том, что он может импортировать и экспортировать стандартные форматы геолокационных файлов, такие как KML и GPX. Это незаменимая функция, если вы используете существующее решение GPS и хотите перенести свои данные в Ulogger.
Наконец, Ulogger является бесплатным и открытым программным обеспечением. Это означает, что любой может получить доступ к исходному коду программы, что упрощает обнаружение и исправление уязвимостей. В результате Ulogger может быть более устойчивым вариантом, если вы ищете долгосрочный сервер для записи GPS для Linux.
К вашему сведению: узнайте, как работает GPS-технология простыми словами.
Получение зависимостей для Ulogger
Предположение: В этой статье предполагается, что вы устанавливаете Ulogger на VPS с Ubuntu 24.04 с 2 ГБ ОЗУ и что вы в настоящее время владеете доменным именем.
Первым шагом в установке Ulogger является получение зависимостей для Docker. Для этого импортируйте ключ подписи для репозитория проекта Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudo gpg --dearmor-o/etc/apt/keyrings/docker.gpg
sudochmod a+r /etc/apt/keyrings/docker.gpgСоздайте новый файл репозитория для проекта Docker, используя ваш любимый текстовый редактор:
sudonano/etc/apt/sources.list.d/docker.listВставьте следующую строку кода в ваш новый файл репозитория:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu noble stableОбновите список репозитория вашей машины и обновите каждый текущий пакет в системе:
sudo apt update &&sudo apt upgradeУбедитесь, что пакет “core” Snap работает на вашем сервере:
sudo snap install coreУстановите пакет Certbot от Фонда электронного фронта:
sudo snap install certbot --classicУстановите Docker, Docker Compose и зависимости для развертывания Ulogger:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx unzipgitСборка и установка Ulogger
Создайте новую папку в вашем домашнем каталоге, затем войдите в неё:
mkdir ~/ulogger &&cd ~/uloggerСкачайте последнюю версию Ulogger из репозитория разработчика на Github:
git clone https://github.com/bfabiszewski/ulogger-server.git
cd ./ulogger-serverПереключитесь на последнюю стабильную ветку программы:
git checkout-b v1.2 tags/v1.2Откройте файл Ulogger Dockerfile с помощью вашего любимого текстового редактора:
nano ./DockerfileНайдите строки, содержащие “DB_ROOT_PASS” и “DB_USER_PASS”, затем замените их значения на две случайные строки текста.

Примечание: вы можете сгенерировать свой собственный случайный текст, выполнив следующую команду: cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 32 | head -n 1.
Сохраните ваш Dockerfile, затем создайте файл “docker-compose.yml” с помощью вашего любимого текстового редактора:
nano ./docker-compose.ymlВставьте следующий блок кода в ваш файл компоновки:
services:
ulogger:
container_name: ulogger-instance
build:
context: .
dockerfile: Dockerfile
ports:
- 8080:80Сохраните файл docker-compose.yml, затем выполните следующую команду, чтобы запустить ваш контейнер Ulogger Docker:
sudodocker compose up -dПроверьте, правильно ли работает Ulogger, перечислив запущенные контейнеры в системе:
sudodockerps
Настройка SSL-обратного прокси с использованием Nginx
На данный момент у вас работает сервер Ulogger на порту 8080. Однако, чтобы получить к нему доступ, вам нужно создать безопасный прокси для входящих подключений с использованием Nginx.
Начните с создания новой записи “A” на вашем домене, указывающей на IP-адрес вашего компьютера с Ulogger.
Вернитесь на ваш сервер, затем создайте файл конфигурации сайта для вашего экземпляра Ulogger:
sudonano/etc/nginx/sites-available/uloggerВставьте следующий блок кода в ваш новый файл конфигурации:
server{
server_name SUBDOMAIN.YOUR-ROOT.DOMAIN;
location / {
proxy_passhttp://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;
}
}Замените значение переменной “server_name” на ваше доменное имя.

Сохраните файл конфигурации сайта Nginx, затем создайте символическую ссылку на него в директории “sites-enabled” Nginx:
sudoln-s/etc/nginx/sites-available/ulogger /etc/nginx/sites-enabled/Включите и запустите службу Nginx на вашем компьютере:
sudo systemctl enable--now nginx.serviceЗарегистрируйте ваш сервер Ubuntu в EFF:
sudo certbot register --agree-tos-m [email protected]Введите “y”, а затем нажмите Enter.

Получите новый SSL-сертификат для вашего доменного имени Ulogger от EFF:
sudo certbot --nginx-d SUBDOMAIN.YOUR-ROOT.DOMAINПолезно знать: узнайте, как вы можете защитить свою онлайн-идентичность, создав сервер email-алиасов с помощью SimpleLogin.
Запуск Ulogger в первый раз
Проверьте, работает ли ваш экземпляр Ulogger правильно, перейдя на ваш поддомен с помощью веб-браузера.

Введите “admin” в оба поля Имя пользователя и Пароль, затем нажмите Enter для входа.
Нажмите на имя своей учетной записи в правом верхнем углу страницы, затем выберите Изменить пароль.

Введите “admin” в поле Старый пароль, затем введите новый пароль для вашего экземпляра.

Нажмите Отправить, чтобы сохранить свои изменения, затем протестируйте это, выйдя из Ulogger и войдя обратно.
Полезно знать: узнайте, как оптимизировать подготовку к отпуску, ознакомившись с некоторыми из лучших инструментов для путешествий для Linux.
Связывание вашего сервера Ulogger с Android
Чтобы активно фиксировать свои GPS-треки, вам нужно сначала получить выделенное мобильное приложение Ulogger. В данный момент вы можете получить эту программу только из магазина F-Droid.

Откройте приложение Ulogger для Android, затем нажмите иконку шестерёнки в правом верхнем углу приложения.

Нажмите на опцию Поставщик местоположения, затем выберите Сеть и GPS из меню радиокнопок.

Выберите опцию Имя пользователя, затем введите “admin” в текстовом поле.
Нажмите на опцию Пароль, затем введите пароль, который вы установили для своей учетной записи администратора.
Выберите опцию URL сервера, затем укажите весь базовый URL для вашего сервера Ulogger. В моем случае это “https://gps.myvpsserver.top.”

Переключите переключатель Живую синхронизацию выше категории деталей сервера. Это позволит вашему Android телефону автоматически отправлять GPS-данные на ваш сервер Ulogger.
Вернитесь на главный экран приложения, затем нажмите кнопку Новый трек.

Переключите переключатель Отслеживание, чтобы начать фиксировать свои GPS-данные на сервере Ulogger.

Подтвердите, что Ulogger правильно отслеживает ваши GPS-данные, зайдя в вашу административную учетную запись.
Размещение вашего сервера и клиента GPS-трекинга с помощью Ulogger — это лишь один из способов отслеживания ваших геолокационных записей сегодня. Узнайте, как вы можете отслеживать свое местоположение даже без подключения к интернету, ознакомившись с некоторыми из лучших офлайн GPS-приложений для Android.