# 오래된 안드로이드 폰을 웹 서버로 재활용하는 방법

> Clean Markdown view of GeekNews topic #24655. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=24655](https://news.hada.io/topic?id=24655)
- GeekNews Markdown: [https://news.hada.io/topic/24655.md](https://news.hada.io/topic/24655.md)
- Type: news
- Author: [davespark](https://news.hada.io/@davespark)
- Published: 2025-11-27T14:11:38+09:00
- Updated: 2025-11-27T14:11:38+09:00
- Original source: [far.computer](https://far.computer/how-to/)
- Points: 27
- Comments: 4

## Summary

버려진 **안드로이드 폰을 postmarketOS 기반의 홈 서버로 재활용**하는 실험적 가이드입니다. 오래된 기기를 **리눅스 환경으로 부활시켜 웹 페이지를 직접 호스팅**하는 과정은, 단순한 해킹 튜토리얼을 넘어 **전자 폐기물 감소와 자원 재사용**이라는 실질적 의미를 담고 있습니다. SSH 접속, **nftables 설정**, 간단한 **HTTP 서버 구동** 등 개발자에게 익숙한 명령어로 구성되어 있어, 작은 폰 한 대로도 충분히 “살아있는 서버”를 만들 수 있음을 보여줍니다. 낡은 하드웨어를 새로운 실험 플랫폼으로 바꾸는 이런 시도, 사이드 프로젝트로 한 번쯤 해볼 만합니다.

## Topic Body

이 가이드는 2015년 Fairphone 2를 사용해 웹페이지를 호스팅한 사례를 기반으로, 사용하지 않는 안드로이드 폰을 postmarketOS로 변환하여 소규모 홈 서버로 만드는 과정을 안내합니다. 목표는 전자 폐기물을 줄이고 재사용을 장려하는 것입니다. 결과적으로 기본 서비스를 실행할 수 있는 작은 홈 서버를 얻을 수 있습니다.  
  
###### 필요한 준비물  
- 사용하지 않는 안드로이드 폰  
- 충전기와 전원 공급원  
- WiFi 연결  
- Linux를 실행하는 컴퓨터 (네이티브 또는 가상 머신)  
  
###### 단계 1: postmarketOS 설치  
먼저, [postmarketOS](https://postmarketos.org/)를 폰에 설치합니다. [디바이스 페이지](https://wiki.postmarketos.org/wiki/Devices)에서 자신의 디바이스가 제대로 지원되는지 확인하고, 해당 페이지를 설치 내내 열어두세요.  
  
[pmbootstrap](https://wiki.postmarketos.org/wiki/Pmbootstrap/Installation)을 설치한 후, 이미지를 생성하고 플래시합니다.  
  
**이미지 생성:**  
- 포트 업데이트 및 디바이스 정보 초기화:  
  ```  
  $ pmbootstrap pull  
  $ pmbootstrap init  
  ```  
  - 디바이스 코드네임은 디바이스 페이지에 나열된 것을 입력.  
  - 사용자 인터페이스는 `console` (최소 옵션) 또는 `fbkeyboard` (화면 키보드 포함)를 선택.  
- 이미지 생성:  
  ```  
  $ pmbootstrap install  
  ```  
  
**이미지 플래시:**  
- 디바이스 페이지에서 플래시 모드로 부팅하는 방법을 확인 (보통 "volume down" 버튼을 누른 상태로 전원 켜기).  
- 폰을 컴퓨터에 연결하고 플래시 모드로 부팅.  
- 디바이스 페이지의 'Installation' 섹션 지침을 따름.  
- 루트 파일 시스템 플래시:  
  ```  
  $ pmbootstrap flasher flash_rootfs  
  ```  
- 디바이스를 재부팅하고 postmarketOS가 올바르게 시작되는지 확인.  
  
###### 단계 2: 서버 설정  
postmarketOS가 설치된 폰에 로그인합니다. 기본 사용자 이름/비밀번호는 `user` / `147147`입니다.  
  
- 폰을 컴퓨터에 연결한 상태로 SSH 로그인:  
  ```  
  $ ssh user@172.16.42.1  
  ```  
- WiFi 네트워크 연결:  
  ```  
  $ nmcli device wifi connect your_wifi_network --ask  
  ```  
이제 로컬 폰 서버가 완성됩니다. 폰의 로컬 IP 주소를 확인하는 명령:  
  ```  
  $ ip -4 addr show wlan0 | grep inet | awk '{print $2}' | cut -d'/' -f1  
  ```  
(일반적으로 `192.168.1.x` 형식). 폰을 안전한 곳에 연결하고 WiFi를 통해 접근:  
  ```  
  ssh user@192.168.1.x  
  ```  
  
###### 단계 3: 웹 페이지 제공  
웹 서버를 설정하여 간단한 웹 페이지를 호스팅합니다.  
  
- `/var/www/html/` 디렉토리 생성:  
  ```  
  sudo mkdir -p /var/www/html/  
  ```  
- 간단한 Hello World HTML 파일 작성:  
  ```  
  $ sudo sh -c 'echo "&lt;h1&gt;hello world&lt;/h1&gt;" > /var/www/html/index.html'  
  ```  
- 포트 80으로 들어오는 패킷을 허용하는 nftables 규칙 추가 (`/etc/nftables.d/99_http.nft` 파일에):  
  ```  
  inet filter input tcp dport 80 ct state new accept  
  ```  
- nftables 재시작:  
  ```  
  $ sudo systemctl restart nftables  
  ```  
- 웹 서버 실행:  
  ```  
  $ httpd -h /var/www/html/  
  ```  
- 테스트: 컴퓨터에서 curl로 확인:  
  ```  
  $ curl 192.168.1.x  
  ```  
  (`&lt;h1&gt;hello world&lt;/h1&gt;` 텍스트가 출력됨). 같은 WiFi 네트워크에 연결된 기기의 웹 브라우저에서 IP 주소를 입력해 확인. (재부팅 시 HTTP 서버가 자동 재시작되지 않음.)  
  
###### 추가: 원격 액세스  
보안상 SSH 포트 22를 인터넷에 열지 말고, 라우터의 VPN 액세스를 설정하세요 (대부분 웹 인터페이스에서 지원). VPN 연결 후 로컬 네트워크에서 SSH로 접근. 포트 22를 인터넷에 열 경우, 비밀번호 로그인을 비활성화하고 [SSH 키](https://wiki.archlinux.org/title/SSH_keys)를 설정하세요.  
  
###### 추가: 유지보수  
패키지 업데이트:  
  ```  
  $ sudo apk update  
  $ sudo apk upgrade  
  ```  
  
###### 다음 단계  
[고급 섹션](./advanced.html) (아직 건설 중)에서 도메인 및 HTTPS 설정, HTTP 서버 재부팅 후 지속 실행 방법을 배웁니다.  
  
이 가이드는 [Louis Merlin](https://louismerl.in)이 [CC BY-NC-SA 4.0 라이선스](https://creativecommons.org/licenses/by-nc-sa/4.0/) 하에 제작되었습니다.

## Comments



### Comment 46950

- Author: lemonapple
- Created: 2025-11-29T07:50:26+09:00
- Points: 1

제가 이런거 좋아하는데  
가볍게 시작하기엔 termux 정도로도 괜찮습니다. 안쓰는 타블릿에 그라파나 띄우는 정도로는 사용 가능해요.  
  
그러나 안드로이드 os 가 서버로 작동하는것에 적대적으로 반응합니다.  
24년도에 공장초기화했던 노트10 기준으로  
자식프로세스가 6개 넘을시 kill 당합니다  
Idle 한 상태가 길어져도 kill 당합니다.  
배터리관련 최적화를 모두 꺼도 그래요  
  
터치화면 안 건드리고 최장 72시간 까지만 돌려보고 그 이후론 포기했어요

### Comment 47003

- Author: geeep
- Created: 2025-12-01T06:51:15+09:00
- Points: 1
- Parent comment: 46950
- Depth: 1

phantom process killer를 꺼보셨나요?

### Comment 46892

- Author: qpolsa95
- Created: 2025-11-28T06:24:05+09:00
- Points: 1

배터리 괜찮으려나요

### Comment 46922

- Author: cdwdong2
- Created: 2025-11-28T11:41:37+09:00
- Points: 1
- Parent comment: 46892
- Depth: 1

스웰링 생기겠죠
