Android Phone Ubuntu Node

LG-T540 Ubuntu 22.04.5 Server

LG-T540 스마트폰을 Android 5.0.1 기반 부팅 장치로 유지하고, Termux와 proot 위에 Ubuntu Base 22.04.5 armhf 서버 환경을 올린 전용 링크 서버입니다. 외부 공개 주소는 https://mobile.netcity.co.kr/lg-t540-ubuntu-server/이고, 실제 HTTP 응답은 LG 스마트폰 안의 Ubuntu /srv/www에서 나옵니다.

장비 현황

LG-T540 서버에 해당하는 기기, Android, Ubuntu, HTTP 항목만 남겼습니다.

Device

LG-T540

ADB serial 6LUGEEUCUSNRD6S8. Android 5.0.1 / SDK 21 / armeabi-v7a.

Ubuntu

22.04.5 LTS armhf

Termux 위에서 proot로 실행되는 Ubuntu Base 환경입니다. 네이티브 OS 교체 설치가 아닙니다.

HTTP

busybox httpd :8088

Ubuntu 내부 /srv/www를 서비스하고, CGI 게시판은 /srv/www/cgi-bin에서 실행됩니다.

Storage

Termux 데이터 영역

설치 직후 기준 약 1.8GB 여유 공간을 확인했습니다. 큰 패키지는 신중히 추가하는 구성이 맞습니다.

주소

LG-T540 Ubuntu 서버와 게시판에 직접 해당되는 주소만 정리했습니다.

연결 구조

외부 브라우저가 LG 폰에 직접 붙는 것이 아니라, 192.168.0.197 중계서버가 HTTPS와 nginx 프록시, ADB 포워딩을 맡는 구조입니다.

  • 외부 브라우저 -> mobile.netcity.co.kr/lg-t540-ubuntu-server/
  • 192.168.0.197 nginx -> 127.0.0.1:18088
  • ADB forward -> LG-T540 TCP 8088
  • Termux + proot Ubuntu -> busybox httpd -> /srv/www
USB 역테더링 IP는 LG-T540 기준 usb0 192.168.42.129/24, tun0 10.0.0.2/32가 확인되었습니다.

서버 구성

이 페이지와 게시판을 유지하는 데 필요한 구성만 남긴 상태입니다.

  • Termux 패키지openssh, proot, wget
  • Ubuntu rootfs~/ubuntu-22.04-armhf
  • Ubuntu 웹 루트/srv/www/index.html
  • 게시판 CGI/srv/www/cgi-bin/board.cgi
  • Perl 게시판/srv/www/cgi-bin/perl-board.pl, /srv/www/data/perl_posts.tsv
  • 별도 CGI 게시판/srv/www/cgi-bin/cgi-board.cgi, /srv/www/data/cgi_posts.tsv
  • 게시글 데이터/srv/www/data/posts.tsv
  • Termux SSH127.0.0.1:18024 -> LG Termux:8022
  • Ubuntu HTTP127.0.0.1:18088 -> LG Ubuntu:8088
  • LAN 프록시0.0.0.0:18089 -> 127.0.0.1:18088

구축기

LG-T540을 서버 전용 노드로 세운 순서를 운영 기록용으로 정리했습니다.

  1. 개발자 옵션과 USB 디버깅 활성화

    LG-T540을 USB로 연결하고 ADB 장치 6LUGEEUCUSNRD6S8로 인식시켰습니다.

  2. Android 5/6용 Termux 설치

    Android 5.0.1에서 동작하는 apt-android-5 계열 armeabi-v7a Termux APK를 사용했습니다.

  3. 기본 패키지 구성

    openssh, proot, wget을 설치해 SSH 운영 통로와 Ubuntu 실행 기반을 마련했습니다.

  4. Ubuntu Base 22.04.5 armhf 설치

    Ubuntu Base armhf 루트파일시스템을 ~/ubuntu-22.04-armhf에 풀고 ~/start-ubuntu-22.04.sh로 진입하도록 구성했습니다.

  5. HTTP 서버와 웹 루트 생성

    Ubuntu 안에서 busybox-static 기반 httpd를 8088 포트로 실행하고 /srv/www를 서버 루트로 사용했습니다.

  6. CGI 게시판 설치

    /srv/www/cgi-bin/board.cgi/srv/www/data/posts.tsv를 만들어 서버 저장형 게시판을 붙였습니다.

  7. Perl 게시판과 별도 CGI 게시판 추가

    perl-board.pl은 Perl 실행 확인용 게시판으로, cgi-board.cgi는 기존 게시판과 분리된 CGI 게시판으로 구성했습니다. 두 게시판 모두 별도 TSV 데이터 파일을 사용합니다.

  8. 공개 고유 주소 연결

    192.168.0.197 nginx에서 /lg-t540-ubuntu-server/를 LG Ubuntu HTTP 포트로 프록시해 HTTPS 고유 주소를 완성했습니다.

운영 명령

LG-T540 서버를 다시 확인하거나 재시작할 때 쓰는 핵심 명령입니다.

197 중계서버에서 Termux SSH 접속 ssh -i /home/netcity/.ssh/lg_t540_termux_ed25519 -p 18024 -l u0_a81 127.0.0.1
LG 링크 서버 재시작 /home/netcity/start-lg-t540-link-server.sh
Termux 안에서 Ubuntu 진입 ~/start-ubuntu-22.04.sh
Termux 안에서 HTTP 서버 재시작 ~/lg_t540_run_ubuntu_httpd.sh
Ubuntu 안에서 게시글 데이터 확인 cat /srv/www/data/posts.tsv
Perl/CGI 게시판 데이터 확인 cat /srv/www/data/perl_posts.tsv && cat /srv/www/data/cgi_posts.tsv

게시판

LG-T540 Ubuntu 서버의 서버 저장형 게시판입니다. 리스트, 글쓰기, 뷰 페이지가 분리되어 있고 게시글은 LG-T540 Ubuntu 내부 /srv/www/data/posts.tsv에 저장됩니다.

Perl 게시판

LG-T540 Ubuntu 안의 /usr/bin/perl로 실행되는 Perl CGI 게시판입니다. 기존 게시판과 분리해 /srv/www/data/perl_posts.tsv에 저장합니다.

LG-T540 스마트폰 화면 캡쳐
LG-T540 스마트폰 캡쳐 이미지 ADB로 LG-T540 화면을 직접 캡쳐해 Perl 게시판 안내 구역에 기록용 이미지로 올렸습니다. 이미지를 누르면 원본 크기로 확인할 수 있습니다. 파일: assets/lg-t540-perl-board-capture-20260509.png

CGI 게시판

기존 board.cgi와 별개로 추가한 CGI 게시판입니다. 실행 파일은 /srv/www/cgi-bin/cgi-board.cgi이고, 데이터는 /srv/www/data/cgi_posts.tsv에 따로 저장됩니다.

파일

스마트폰 Ubuntu 서버에서 이번 게시판 구성을 유지하는 핵심 파일입니다. 우측 상단 파일 메뉴와 좌측 메뉴에서 이 페이지로 접근할 수 있습니다.

  • 메인 HTML/srv/www/index.html
  • 기본 게시판/srv/www/cgi-bin/board.cgi / /srv/www/data/posts.tsv
  • Perl 게시판/srv/www/cgi-bin/perl-board.pl / /srv/www/data/perl_posts.tsv
  • CGI 게시판/srv/www/cgi-bin/cgi-board.cgi / /srv/www/data/cgi_posts.tsv
  • Termux 원본 HTML~/lg-t540-ubuntu-index.html
  • 공개 라우트/lg-t540-ubuntu-server/perl-board/, /lg-t540-ubuntu-server/cgi-board/