WEB

스마트폰과 iptime으로 나만의 PocketBase 서버 만들기: 초보자 가이드

모과나무99 2025. 6. 10. 18:55

 

왜 스마트폰으로 서버를 구축해야 할까요?

아니, 굳이 스마트폰으로 서버를 만들어야 할까요? 노트북이나 미니 PC도 많은데 말이죠. 제 생각엔 몇 가지 매력적인 이유가 있어요. 솔직히 말해서 저도 처음엔 반신반의했는데, 해보니 정말 괜찮더라고요!

  • 저렴한 비용: 가장 큰 장점이죠! 이미 가지고 있는 스마트폰과 공유기를 활용하니, 추가적인 하드웨어 구매 비용이 거의 들지 않아요.
  • 낮은 전력 소비: 스마트폰은 PC에 비해 훨씬 적은 전력을 소모해요. 24시간 서버를 돌려도 전기세 폭탄 맞을 걱정이 없답니다. 환경에도 좋고요!
  • 휴대성 및 편의성: 언제 어디서든 서버를 가지고 다닐 수 있다는 점? 이건 정말 신박해요. 물론 24시간 켜놔야 하니 이동성은 떨어지지만, 필요에 따라서는 가능하죠.
  • 개인 데이터 주권: 내 데이터를 내가 직접 관리한다는 뿌듯함! 클라우드에 맡기는 게 불안하다면 최고의 선택이에요.
알아두세요!
서버용으로 사용하지 않는 공기계를 활용하는 것이 가장 이상적이에요. 배터리 수명이나 발열 문제에서 자유로울 수 있고, 메인 폰은 평소대로 쓸 수 있으니까요!

 

준비물 체크리스트

자, 이제 서버 구축을 위한 준비물을 확인해볼까요? 생각보다 간단해요!

  • 안드로이드 스마트폰: 최소 안드로이드 7.0 이상, 여유 저장 공간 2GB 이상 (공기계 추천!)
  • iptime 공유기: 외부 접속 설정을 위한 기능이 필요해요. 대부분의 iptime 공유기는 지원합니다.
  • Termux 앱: 안드로이드에서 리눅스 환경을 에뮬레이션해줘요.
  • PocketBase: 경량화된 오픈소스 백엔드 프레임워크. SQLite 기반이라 설치가 정말 간편해요.
  • 안정적인 전원 공급: 24시간 서버를 돌려야 하니, 충전기가 필수!
  • (선택 사항) 공인 IP 또는 DDNS: 외부에서 접속하려면 필요해요. iptime 공유기에서 DDNS 기능을 제공하니 활용하면 좋아요.
주의하세요!
스마트폰의 배터리 과열이나 수명 단축에 유의해야 해요. 공기계를 사용하고, 통풍이 잘 되는 곳에 두는 것이 중요합니다.

 

Step 1: Termux 설치 및 기본 환경 설정

자, 이제 첫 번째 단계! Termux를 설치하고 기본 환경을 설정해볼까요? Termux는 안드로이드 폰을 리눅스 터미널처럼 사용할 수 있게 해주는 마법 같은 앱이에요.

  1. Termux 설치: F-DROID 에서 'Termux'를 검색해서 설치해주세요. 설치 후 앱을 실행하면 검은색 터미널 화면이 나타날 거예요.
  2. 패키지 업데이트: 가장 먼저 패키지 목록을 최신 상태로 업데이트하고 업그레이드해야 해요. 다음 명령어를 입력하세요.
    pkg update && pkg upgrade
    Y/n 질문이 나오면 'Y'를 입력하고 엔터를 눌러주세요.
  3. 저장소 권한 부여: Termux가 스마트폰 저장소에 접근할 수 있도록 권한을 줘야 해요.
    termux-setup-storage
    명령어를 입력하면 권한 요청 팝업이 뜨는데, 꼭 허용해주세요!
  4. 필수 패키지 설치: PocketBase 실행에 필요한 몇 가지 패키지를 설치해야 해요. 주로 wget (파일 다운로드), unzip (압축 해제) 등이 필요해요.
    pkg install wget unzip

이 정도면 Termux의 기본 준비는 끝났어요! 이제 PocketBase를 설치할 준비가 되었답니다. 정말 간단하죠?

 

Step 2: PocketBase 설치 및 실행

개인 서버의 핵심인 PocketBase를 설치해볼 시간이에요. PocketBase는 정말 가볍고 강력해서 개인 프로젝트에 안성맞춤이에요. 따로 데이터베이스 서버를 설치할 필요 없이, SQLite 파일 하나로 모든 걸 해결해주니 너무 편하더라고요!

  1. PocketBase 다운로드: PocketBase 공식 깃허브 저장소에서 최신 버전을 다운로드해야 해요. Termux에서 다음 명령어를 사용합니다. (최신 버전 URL은 PocketBase GitHub Releases에서 확인하세요!)
    wget [https://github.com/pocketbase/pocketbase/releases/download/v0.22.8/pocketbase_0.22.8_linux_arm64.zip](https://github.com/pocketbase/pocketbase/releases/download/v0.22.8/pocketbase_0.22.8_linux_arm64.zip)
    * 위의 URL은 예시입니다. 스마트폰 CPU 아키텍처에 맞는 linux_arm64.zip 파일을 다운로드하세요. 대부분의 안드로이드폰은 arm64를 사용합니다. 최신 버전은 PocketBase GitHub Releases 페이지에서 확인 가능해요!
  2. 압축 해제: 다운로드한 ZIP 파일의 압축을 풀어줍니다.
    unzip pocketbase_0.22.8_linux_arm64.zip
    압축을 풀면 pocketbase 실행 파일이 생성될 거예요.
  3. 실행 권한 부여: 생성된 pocketbase 파일에 실행 권한을 부여해야 합니다.
    chmod +x pocketbase
  4. PocketBase 실행: 이제 PocketBase를 실행해볼 시간이에요!
    ./pocketbase serve
    이 명령어를 입력하면 PocketBase 서버가 시작되고, 로컬 주소(예: [http://127.0.0.1:8090](http://127.0.0.1:8090))와 관리자 UI 접속 주소가 터미널에 표시될 거예요.
  5. 관리자 UI 접속: 스마트폰의 웹 브라우저를 열고 터미널에 표시된 관리자 UI 접속 주소(예: [http://127.0.0.1:8090/_/](http://127.0.0.1:8090/_/))로 접속하여 초기 관리자 계정을 생성해주세요. 비밀번호는 꼭 기억해두세요!
꿀팁!
Termux 앱을 닫아도 PocketBase가 계속 실행되게 하려면 nohup ./pocketbase serve & 명령어를 사용하거나, tmuxscreen 같은 터미널 멀티플렉서를 사용하는 것을 추천해요.

 

Step 3: iptime 공유기 설정 (외부 접속)

PocketBase 서버는 스마트폰 내부에서만 접근 가능하지만, 이제 외부에서도 접속할 수 있도록 iptime 공유기를 설정해볼까요? 이걸 통해 여러분의 서버가 진짜 '나만의 서버'가 되는 거죠!

  1. 내부 IP 확인: 먼저 PocketBase가 실행 중인 스마트폰의 내부 IP 주소를 확인해야 해요. Termux에서 ip a 또는 ifconfig 명령어를 사용하면 됩니다. 보통 192.168.0.x 형태일 거예요.
  2. 공유기 관리 페이지 접속: 웹 브라우저에서 iptime 공유기 관리자 페이지(보통 192.168.0.1 또는 192.168.1.1)에 접속합니다.
  3. 포트 포워딩 설정:
    • 고급 설정 > NAT/라우터 관리 > 포트 포워딩 메뉴로 이동합니다.
    • 규칙 이름은 알아보기 쉽게 'PocketBase' 등으로 설정합니다.
    • 내부 IP 주소에 Step 1에서 확인한 스마트폰의 내부 IP를 입력합니다.
    • 외부 포트와 내부 포트에 8090 (PocketBase 기본 포트)을 입력합니다. 다른 포트를 사용하고 싶다면 변경해도 좋아요!
    • 프로토콜은 'TCP'를 선택하고 '추가' 버튼을 클릭합니다.
    이 설정은 외부에서 [공유기 외부 IP]:8090으로 접속했을 때, 공유기가 해당 요청을 스마트폰의 PocketBase 서버로 전달해주도록 하는 역할을 해요.
  4. (선택) DDNS 설정: 공유기의 외부 IP는 유동적일 수 있어서, DDNS(Dynamic DNS)를 설정하면 편리해요.
    • 고급 설정 > 특수기능 > DDNS 설정 메뉴로 이동합니다.
    • 호스트 이름(예: myphonepocketbase.iptime.org), 사용자 계정, 사용자 비밀번호를 입력하고 '호스트 등록'을 클릭합니다.
    DDNS를 설정하면 복잡한 IP 주소 대신 기억하기 쉬운 주소로 서버에 접속할 수 있어요.
꼭 기억하세요!
DDNS 설정 시 계정 이름과 비밀번호를 잊지 않도록 주의하세요. 포트 포워딩은 보안에 취약할 수 있으니, 불필요한 포트는 열지 않는 것이 중요합니다.

 

Step 4: 나만의 PocketBase 서버 활용하기

이제 여러분만의 PocketBase 서버가 성공적으로 구축되었어요! 이제 이 서버를 어떻게 활용할 수 있을지 간략히 소개해드릴게요.

  • 개인용 클라우드: PocketBase는 파일 스토리지 기능도 제공해요. 사진, 문서 등을 저장하고 언제든 접근할 수 있는 나만의 클라우드로 사용할 수 있죠.
  • 데이터베이스 백엔드: 간단한 웹 애플리케이션이나 모바일 앱의 백엔드로 활용할 수 있어요. SQLite 기반이라 관리도 쉽고, RESTful API도 자동으로 생성해주니 개발하기 정말 편하답니다!
  • 노션 대용 개인 지식 관리: 나만의 데이터를 저장하고 관리하는 데 PocketBase만큼 좋은 게 없어요. 노션처럼 복잡한 기능은 없지만, 나에게 필요한 정보만 깔끔하게 정리할 수 있죠.
  • 개인 웹사이트/블로그 호스팅: PocketBase의 정적 파일 호스팅 기능을 활용하여 간단한 개인 웹사이트나 블로그를 호스팅할 수도 있어요.

예시: 간단한 웹 애플리케이션 구축

PocketBase를 사용하면 정말 빠르게 백엔드를 구성할 수 있어요. 예를 들어, 간단한 메모 앱을 만든다고 가정해볼게요.

  1. PocketBase 관리자 UI에서 'notes'라는 새로운 컬렉션(테이블)을 생성합니다.
  2. 'title' (텍스트), 'content' (텍스트), 'created_at' (날짜) 필드를 추가합니다.
  3. 이제 여러분의 웹 또는 모바일 앱에서 PocketBase가 제공하는 API를 사용하여 메모를 생성, 조회, 수정, 삭제할 수 있어요! 프론트엔드 개발만 집중하면 된답니다.

어때요, 정말 매력적이지 않나요?

 

글의 핵심 요약

지금까지 iptime 공유기, 안드로이드폰, Termux, 그리고 PocketBase를 활용하여 나만의 서버를 구축하는 방법에 대해 알아보았어요. 생각보다 쉽고 간단하죠? 이 글의 핵심 내용을 다시 한번 정리해볼게요!

  1. 스마트폰 서버의 매력: 저렴한 비용, 낮은 전력 소비, 그리고 나만의 데이터 주권 확보가 가장 큰 장점이에요.
  2. Termux와 PocketBase: Termux는 안드로이드에서 리눅스 환경을, PocketBase는 강력하고 가벼운 백엔드 기능을 제공하여 서버 구축을 가능하게 합니다.
  3. iptime 공유기 설정: 포트 포워딩과 DDNS 설정을 통해 외부에서도 서버에 접속할 수 있도록 만들어줍니다.
  4. 다양한 활용 가능성: 개인 클라우드, 앱 백엔드, 개인 지식 관리 시스템 등 무궁무진하게 활용할 수 있어요.

이 모든 과정이 처음에는 조금 낯설게 느껴질 수도 있지만, 한 단계씩 따라 하다 보면 분명 여러분만의 멋진 서버를 갖게 될 거예요. 포기하지 마시고 꼭 도전해보세요!

 
스마트폰 서버, 무엇을 얻을 수 있나요?

  비용 절감: 비싼 서버 구매 및 유지 비용 NO! 이미 가진 스마트폰으로 충분해요.

낮은 전력 소모: 24시간 돌려도 전기세 걱정 끝! 환경까지 생각하는 착한 서버.

데이터 주권 확보: 내 데이터는 내가 직접 관리! 클라우드 걱정 없이 안전하게.

    개발 환경 자유: 언제든 나만의 백엔드/API를 활용하고 싶다면, 스마트폰 서버가 정답!

 

자주 묻는 질문

Q: 스마트폰으로 서버를 돌리면 배터리 수명이 빨리 줄어들지 않나요?
A: 네, 아무래도 24시간 전원에 연결되어 있으면 배터리에 무리가 갈 수 있어요. 그래서 사용하지 않는 공기계를 활용하는 것을 강력 추천해요. 충전 시 발열이 심하지 않은지 주기적으로 확인해주시는 것도 중요합니다.
Q: Termux에서 PocketBase가 갑자기 멈추는 경우가 있어요. 왜 그런가요?
A: Termux 앱이 백그라운드에서 강제로 종료되거나, 스마트폰의 배터리 최적화 설정 때문에 발생할 수 있어요. Termux 앱의 배터리 최적화 설정을 해제하고, tmuxscreen 같은 도구를 사용하여 Termux 세션을 유지하는 것이 좋습니다.
Q: iptime 공유기에서 포트 포워딩을 했는데도 외부 접속이 안 돼요. 뭐가 문제일까요?
A: 몇 가지 확인할 사항이 있어요. 첫째, 스마트폰의 내부 IP가 고정되어 있는지 확인하세요. DHCP로 인해 IP가 바뀌면 포트 포워딩이 제대로 동작하지 않을 수 있어요. 둘째, 공유기 방화벽 설정을 확인하거나, ISP(인터넷 서비스 제공업체)에서 특정 포트를 막아놓았을 가능성도 있습니다. 이 경우, 포트를 변경해보거나 ISP에 문의해야 할 수도 있어요.

어떠셨나요? 스마트폰으로 나만의 서버를 만드는 것이 생각보다 어렵지 않죠? 이 글이 여러분의 작은 아이디어를 현실로 만드는 데 도움이 되었기를 바랍니다. 혹시 더 궁금한 점이 있거나, 막히는 부분이 있다면 언제든지 댓글로 물어봐주세요! 제가 아는 선에서 최대한 도와드릴게요! 다음에 더 유익한 정보로 찾아올게요~ 안녕!