[가이드] 라즈베리 파이 5로 만드는 초저전력 ‘개인 웹 서버’ 세팅법

[가이드] 라즈베리 파이 5로 만드는 초저전력 ‘개인 웹 서버’ 세팅법

 

이전 가이드에서는 10년 된 구형 PC를 우분투 서버로 부활시키는 방법을 다뤘습니다. 그 방법은 강력한 성능과 ‘연습’에 초점을 맞췄지만, 24시간 365일 켜두기엔 ‘전기 요금’이라는 현실적인 고민이 따릅니다.

여기서 라즈베리 파이 5가 등장합니다.

신용카드만 한 크기에, 스마트폰 충전기(USB-C)로 작동하는 이 작은 컴퓨터는 ‘서버’라고 부르기 민망할 정도로 귀엽습니다. 하지만 그 성능은 10년 전 어지간한 PC를 능가하며, 무엇보다 **압도적인 ‘초저전력’**을 자랑합니다.

  • 구형 PC 서버: 아이들(Idle) 시 50W~100W+
  • 라즈베리 파이 5 서버: 아이들 시 약 3W~4W

한 달 내내 켜놔도 전기 요금이 거의 나오지 않아, 개인 블로그, 포트폴리오 사이트, 간단한 API 서버 등을 24시간 운영하기에 완벽한 선택지입니다.

이 가이드는 라즈베리 파이 5를 이용해 ‘Nginx’ 기반의 가벼운 개인 웹 서버를 구축하는 전 과정을 안내합니다.


 

1. 🛒 준비물: 무엇이 필요한가요?

 

  • 라즈베리 파이 5: 메인보드.
  • 공식 5V/5A USB-C 전원 어댑터: (필수) RPi 5는 안정적인 5A 전원을 요구합니다. 일반 스마트폰 충전기로는 성능 저하나 부팅 실패를 겪을 수 있습니다.
  • MicroSD 카드: 32GB 이상, ‘A2’ 등급의 고속 모델 권장.
  • 케이스 및 냉각 팬 (또는 방열판): RPi 5는 RPi 4보다 발열이 있습니다. 24시간 작동할 서버이므로 냉각 솔루션은 필수입니다.
  • 유선 랜(Ethernet) 케이블: 서버는 무선(Wi-Fi)보다 유선 연결이 안정적입니다.
  • 메인 PC: OS 설치 이미지를 MicroSD 카드에 구울 PC.

 

2. 💽 OS 설치: 모니터 없이 세팅하기 (Headless)

 

서버는 모니터, 키보드, 마우스가 필요 없습니다. OS 설치부터 ‘원격 접속(SSH)’을 미리 활성화하는 ‘Headless’ 방식으로 진행합니다.

  1. Raspberry Pi Imager 다운로드: 메인 PC에서 라즈베리 파이 공식 웹사이트로 이동해 ‘Raspberry Pi Imager’를 다운로드하고 설치합니다.
  2. OS 선택 및 설정:
    • Imager를 실행하고 MicroSD 카드를 PC에 연결합니다.
    • [CHOOSE DEVICE]: Raspberry Pi 5 선택
    • [CHOOSE OS]: Raspberry Pi OS (other) -> Raspberry Pi OS Lite (64-bit)
      • 중요: ‘Lite’ 버전은 그래픽 화면(GUI)이 없는 텍스트 전용 OS입니다. 서버에 가장 적합하며 자원을 아낄 수 있습니다.
    • [CHOOSE STORAGE]: 연결한 MicroSD 카드 선택
  3. (필수) Headless 설정:
    • [NEXT] 버튼을 누르기 전, 우측 하단의 **’설정(톱니바퀴 ⚙️) 아이콘’**을 클릭합니다. (또는 Ctrl+Shift+X)
    • [General] 탭:
      • Hostname: 서버 이름 설정 (예: rp5-server.local)
      • Set username and password: 로그인 ID와 비밀번호 설정 (필수)
    • [Services] 탭:
      • Enable SSH: 반드시 체크.
      • Password authentication 선택.
    • [SAVE]를 누르고 [WRITE] 버튼을 눌러 OS 설치를 시작합니다.

 

3. 🔌 첫 부팅 및 원격 접속 (SSH)

 

  1. OS 설치가 완료된 MicroSD 카드를 라즈베리 파이 5에 삽입합니다.
  2. 유선 랜 케이블과 전원 어댑터를 연결합니다. (모니터/키보드는 필요 없습니다)
  3. 약 1~2분 정도 부팅 시간을 줍니다.
  4. IP 주소 찾기:
    • 공유기 관리자 페이지(보통 192.168.0.1)에 접속합니다.
    • ‘연결된 기기 목록’에서 방금 설정한 호스트 이름(rp5-server)을 찾아 IP 주소(예: 192.168.0.15)를 확인합니다.
  5. SSH 원격 접속:
    • 메인 PC에서 터미널(PowerShell 또는 Terminal)을 켭니다.
    • ssh [설정 ID]@[방금 찾은 IP 주소] 명령어로 접속합니다.
    Bash

    ssh pi@192.168.0.15
    
  6. (필수) 초기 시스템 업데이트: 접속에 성공했다면, 가장 먼저 시스템을 최신 상태로 만듭니다.
    Bash

    # 패키지 목록 새로고침
    sudo apt update
    
    # 설치된 패키지 전체 업그레이드
    sudo apt upgrade -y
    

 

4. 🚀 웹 서버 설치 (Nginx)

 

가장 가볍고 빠른 웹 서버 중 하나인 **Nginx(엔진엑스)**를 설치합니다.

  1. Nginx 설치:
    Bash

    sudo apt install nginx -y
    
  2. Nginx 서비스 시작 및 활성화:
    • 설치가 끝나면 Nginx는 자동으로 시작됩니다.
    • 부팅 시마다 Nginx가 자동으로 켜지도록 ‘활성화’합니다.
    Bash

    # Nginx가 부팅 시 자동으로 시작되도록 등록
    sudo systemctl enable nginx
    
  3. 방화벽 설정 (UFW): 라즈베리 파이 OS는 기본 방화벽(UFW)이 비활성화되어 있지만, 만약 활성화할 경우를 대비해 웹 포트(80, 443)를 열어줍니다.
    Bash

    sudo ufw allow 'Nginx Full'
    # sudo ufw enable  (만약 ufw를 쓴다면 활성화)
    
  4. 설치 확인: 이제 메인 PC의 웹 브라우저 주소창에 라즈베리 파이의 IP 주소 (예: http://192.168.0.15)를 입력합니다.

    **”Welcome to nginx!”**라는 화면이 나타나면 웹 서버 구축에 성공한 것입니다!


 

5. 📂 내 웹사이트 파일 올리기

 

Nginx가 보여주는 기본 환영 페이지는 /var/www/html/index.nginx-debian.html입니다. 이제 이 위치에 우리가 만든 파일을 올리면 됩니다.

  1. 기본 인덱스 파일 백업 및 삭제:
    Bash

    # /var/www/html 경로로 이동
    cd /var/www/html
    
    # 기존 파일 백업 (선택)
    sudo mv index.nginx-debian.html index.nginx-debian.html.bak
    
  2. 새로운 index.html 파일 만들기: 간단한 nano 편집기를 이용해 테스트용 HTML 파일을 만들어봅시다.
    Bash

    sudo nano index.html
    
  3. nano 편집기가 열리면, 아래 내용을 붙여넣습니다.
    HTML

    <!DOCTYPE html>
    <html>
    <head>
        <title>My Raspberry Pi 5 Server</title>
    </head>
    <body>
        <h1>안녕하세요!</h1>
        <p>이 웹사이트는 제 방에 있는 라즈베리 파이 5에서 24시간 작동 중입니다.</p>
    </body>
    </html>
    
    • 저장하고 닫기: Ctrl + X -> Y -> Enter
  4. 소유권 변경 (중요): Nginx(웹 서버 프로그램, www-data 계정)가 이 파일을 읽을 수 있도록 소유권을 변경해야 합니다.
    Bash

    sudo chown -R www-data:www-data /var/www/html
    
  5. 최종 확인: 다시 웹 브라우저에서 http://192.168.0.15로 접속해 보세요. 방금 우리가 만든 “안녕하세요!” 페이지가 나타날 것입니다.

 

6. 🌐 다음 단계: 내 서버를 전 세계에 공개하기

 

축하합니다! 당신은 초저전력 개인 웹 서버를 갖게 되었습니다. 하지만 지금 이 서버는 ‘내부 네트워크(집 안)’에서만 접속할 수 있습니다.

이 서버를 전 세계 친구들에게 my-server.com 같은 주소로 공유하려면 몇 가지 추가 작업이 필요합니다.

  1. 포트 포워딩 (Port Forwarding):
    • 공유기 설정에서 “외부에서 80번 포트(HTTP)로 들어오는 요청을 내 라즈베리 파이 IP(192.168.0.15)의 80번 포트로 연결해라”라고 설정해야 합니다.
  2. DDNS (동적 DNS):
    • 가정집의 공인 IP는 수시로 바뀝니다. DuckDNS 같은 무료 DDNS 서비스를 이용해, IP가 바뀌더라도 my-pi.duckdns.org 같은 고정된 주소로 접속할 수 있게 설정해야 합니다.
  3. HTTPS 적용 (Let’s Encrypt):
    • http://가 아닌 https:// (보안 접속)을 사용하려면 무료 SSL 인증서인 ‘Let’s Encrypt’를 설치해야 합니다. ‘Certbot’이라는 도구를 사용하면 Nginx와 연동해 5분 만에 자동화할 수 있습니다.

이 3단계를 거치면, 여러분의 작고 소중한 라즈베리 파이 5는 전 세계 어디에서나 접속할 수 있는 진정한 ‘개인 웹 서버’가 됩니다.

댓글 남기기