Cách tạo trình theo dõi GPS với Ulogger trong Linux

Ulogger là server theo dõi GPS nhẹ dành cho Linux với ứng dụng di động chuyên dụng. Bài viết này sẽ hướng dẫn bạn cách cài đặt Ulogger trên máy chủ Ubuntu 24.04 và liên kết nó với điện thoại Android.

Cách tạo trình theo dõi GPS với Ulogger trong Linux

Tìm các dependency cho Ulogger

Bài viết này giả định rằng bạn đang cài đặt Ulogger trên VPS Ubuntu 24.04 với 2GB RAM và hiện sở hữu một tên miền.

Bước đầu tiên trong việc cài đặt Ulogger là lấy các dependency cho Docker. Để làm điều đó, hãy nhập signing key cho kho lưu trữ của dự án Docker:

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

Tạo file kho lưu trữ mới cho dự án Docker bằng trình soạn thảo văn bản yêu thích:

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

Dán dòng code sau vào file kho lưu trữ mới:

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

Refresh danh sách kho lưu trữ trên máy và cập nhật mọi gói hiện tại trong hệ thống:

sudo apt update && sudo apt upgrade

Đảm bảo rằng gói Snap “core” đang chạy trên máy chủ:

sudo snap install core

Cài đặt gói Certbot từ Electronic Frontier Foundation:

sudo snap install certbot --classic

Cài đặt Docker, Docker Compose và các dependency để triển khai Ulogger:

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

Xây dựng và cài đặt Ulogger

Tạo một thư mục mới trong thư mục home, sau đó nhập:

mkdir ~/ulogger && cd ~/ulogger

Lấy phiên bản mới nhất của Ulogger từ kho lưu trữ Github của nhà phát triển:

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

Chuyển sang nhánh ổn định mới nhất của chương trình:

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

Mở Ulogger Dockerfile bằng trình soạn thảo văn bản yêu thích:

nano ./Dockerfile

Tìm các dòng chứa “DB_ROOT_PASS” và “DB_USER_PASS”, sau đó thay thế giá trị của chúng bằng hai chuỗi văn bản ngẫu nhiên.

Xây dựng và cài đặt Ulogger - 1
2 mật khẩu ngẫu nhiên cho cơ sở dữ liệu của máy chủ Ulogger.

Lưu ý: Bạn có thể tạo văn bản ngẫu nhiên của riêng mình bằng cách chạy lệnh sau: cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 32 | head -n 1

Lưu Dockerfile, sau đó tạo file “docker-compose.yml” bằng trình soạn thảo văn bản yêu thích:

nano ./docker-compose.yml

Dán block code sau vào file compose:

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

Lưu file docker-compose.yml, sau đó chạy lệnh sau để khởi động container Ulogger Docker:

sudo docker compose up -d

Kiểm tra xem Ulogger có chạy đúng hay không bằng cách liệt kê các container đang chạy trong hệ thống:

sudo docker ps
Container Docker ulogger-server đang chạy.
Container Docker ulogger-server đang chạy.

Thiết lập SSL Reverse Proxy bằng Nginx

Tại thời điểm này, bạn hiện có máy chủ Ulogger đang chạy ở cổng 8080. Tuy nhiên, để truy cập nó, cần tạo một proxy an toàn cho các kết nối đến bằng Nginx.

Bắt đầu bằng cách tạo bản ghi “A” mới trên domain trỏ đến địa chỉ IP của máy Ulogger.

Thiết lập SSL Reverse Proxy bằng Nginx - Bản ghi DNS A
Bản ghi DNS A cho máy chủ Ulogger.

Quay lại máy chủ, sau đó tạo file cấu hình trang web cho phiên bản Ulogger:

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

Dán block code sau vào file cấu hình mới:

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;
        }
}

Thay thế giá trị của biến “server_name” bằng tên miền của bạn.

Thiết lập SSL Reverse Proxy bằng Nginx - Biến server_name
Biến server_name trên file cấu hình trang Nginx cho Ulogger.

Lưu file cấu hình trang Nginx, sau đó tạo một liên kết tượng trưng đến nó trên thư mục “sites-enabled” của Nginx:

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

Kích hoạt và khởi động service Nginx trong máy:

sudo systemctl enable --now nginx.service

Đăng ký máy chủ Ubuntu với EFF:

sudo certbot register --agree-tos -m Địa chỉ email này đang được bảo vệ từ spam bots, bạn cần kích hoạt Javascript để xem nó. Bạn cần kích hoạt Javascript để xem nó.

Gõ “y”, sau đó nhấn Enter.

Thiết lập SSL Reverse Proxy bằng Nginx - Lời nhắc đăng ký bản tin Cerbot
Lời nhắc đăng ký bản tin Certbot.

Nhận chứng chỉ SSL mới cho tên miền Ulogger từ EFF:

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

Chạy Ulogger lần đầu tiên

Kiểm tra xem phiên bản Ulogger có hoạt động bình thường hay không bằng cách điều hướng đến subdomain bằng trình duyệt web.

Chạy Ulogger lần đầu tiên - Màn hình đăng nhập
Màn hình đăng nhập Ulogger.

Nhập “admin” vào cả trường Username và Password, sau đó nhấn Enter để đăng nhập.

Nhấp vào tên tài khoản ở góc trên bên phải của trang, sau đó chọn Change password.

Lời nhắc "Change password" bên trong Ulogger.
Lời nhắc "Change password" bên trong Ulogger.

Nhập “admin” trong hộp văn bản Old password, sau đó cung cấp mật khẩu mới cho phiên bản.

Cửa sổ nhắc mật khẩu cho máy chủ Ulogger.
Cửa sổ nhắc mật khẩu cho máy chủ Ulogger.

Nhấp vào Submit để xác nhận các thay đổi, sau đó kiểm tra nó bằng cách đăng xuất khỏi Ulogger và đăng nhập lại.

Liên kết máy chủ Ulogger với Android

Để chủ động ghi lại các tuyến đường GPS của mình, trước tiên cần tải ứng dụng di động chuyên dụng của Ulogger. Hiện tại, chỉ có thể tải chương trình này từ F-Droid Store.

Liên kết máy chủ Ulogger với Android
Ứng dụng GPS Ulogger dành cho Android.

Mở ứng dụng Ulogger Android, sau đó nhấp vào biểu tượng bánh răng ở góc trên bên phải của ứng dụng.

Biểu tượng bánh răng trên ứng dụng di động của Ulogger.
Biểu tượng bánh răng trên ứng dụng di động của Ulogger.

Nhấn vào tùy chọn Location provider, sau đó chọn Network and GPS từ menu.

Tùy chọn "Network and GPS" cho nguồn dữ liệu vị trí địa lý của Ulogger.
Tùy chọn "Network and GPS" cho nguồn dữ liệu vị trí địa lý của Ulogger.

Chọn tùy chọn User name, sau đó nhập “admin” vào hộp văn bản.

Nhấn vào tùy chọn Password, sau đó cung cấp mật khẩu đã đặt cho tài khoản admin.

Chọn tùy chọn Server URL, sau đó cung cấp toàn bộ URL cơ sở cho máy chủ Ulogger. Trong trường hợp ví dụ, đó là “https://gps.myvpsserver.top”.

Chi tiết tài khoản và máy chủ của chương trình backend Ulogger.
Chi tiết tài khoản và máy chủ của chương trình backend Ulogger.

Bật công tắc chuyển đổi Live synchronization phía trên danh mục chi tiết máy chủ. Điều này sẽ cho phép điện thoại Android tự động gửi dữ liệu GPS đến chương trình backend Ulogger.

Quay lại màn hình chính của ứng dụng dành cho thiết bị di động, sau đó nhấn vào nút New Track.

Tùy chọn "New Track" trên ứng dụng di động Ulogger
Tùy chọn "New Track" trên ứng dụng di động Ulogger.

Chuyển đổi công tắc Tracking để bắt đầu ghi dữ liệu GPS vào máy chủ Ulogger.

Nút "Tracking" cho ứng dụng di động Ulogger
Nút "Tracking" cho ứng dụng di động Ulogger.

Xác nhận rằng Ulogger đang theo dõi chính xác dữ liệu GPS của bạn bằng cách truy cập tài khoản admin.

Host server và client theo dõi GPS bằng Ulogger chỉ là một cách để theo dõi nhật ký định vị địa lý ngay hôm nay. Tìm hiểu cách có thể theo dõi vị trí của mình ngay cả khi không có kết nối Internet bằng cách xem một số ứng dụng GPS ngoại tuyến tốt nhất dành cho Android.

CÓ THỂ BẠN QUAN TÂM