산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 산업기술

라즈베리파이 웹 서버 구축 완전 가이드: 단계별 설치부터 FTP/호스트네임 설정까지

라즈베리파이(Raspberry Pi)는 손바닥만 한 크기로 풀 리눅스 서버를 돌릴 수 있는 가성비 최강 SBC입니다. 홈랩, IoT 게이트웨이, 개인 블로그, 개발 테스트 베드 등 용도로 웹 서버(Apache + PHP + MySQL/MariaDB)를 올리는 것은 가장 대중적인 활용법입니다. 본 가이드는 라즈베리파이 4/Zero 2 W/5 등 전 모델에 적용 가능한 최신 라즈베리파이 OS(구 라즈비안) 기준 단계별 구축법을 다룹니다.

사전 준비 (Prerequisites)

1단계: 터미널 접속 (Accessing Terminal)

라즈베리파이 웹 서버 구축 완전 가이드: 단계별 설치부터 FTP/호스트네임 설정까지

라즈베리파이 OS 데스크톱 터미널 (Ctrl+Alt+T)

방법 A: 데스크톱 환경에서

방법 B: 헤드리스(Headless) SSH 원격 접속

라즈베리파이 웹 서버 구축 완전 가이드: 단계별 설치부터 FTP/호스트네임 설정까지

PuTTY로 SSH 접속 화면

  1. 라즈베리파이 IP 확인 (라우터 관리 페이지 또는 arp -a)
  2. PuTTY(Windows) 또는 터미널(macOS/Linux)에서: ssh pi@<라즈베리파이_IP>
  3. 기본 계정: pi / 기본 비밀번호: raspberry (최신 OS는 최초 부팅 시 강제 변경)
  4. 보안 필수: 최초 로그인 즉시 passwd로 비밀번호 변경, sudo raspi-config → SSH 키 인증 설정, 방화벽(uFW) 활성화
  5. 2단계: 패키지 업데이트 (Update Packages)

    라즈베리파이 웹 서버 구축 완전 가이드: 단계별 설치부터 FTP/호스트네임 설정까지
    sudo apt update && sudo apt full-upgrade -y
    

    최신 보안 패치, 커널, 펌웨어 적용. 완료 후 재부팅 권장: sudo reboot

    3단계: 아파치(Apache) 웹 서버 설치

    라즈베리파이 웹 서버 구축 완전 가이드: 단계별 설치부터 FTP/호스트네임 설정까지
    sudo apt install apache2 -y
    
    • 자동으로 시스템 서비스 등록 및 시작 (systemctl status apache2로 확인)
    • 기본 문서 루트: /var/www/html/
    • 기본 페이지 확인: 브라우저에서 https://<라즈베리파이_IP>/ 접속 → "Apache2 Debian Default Page" 표시

    4단계: PHP 설치 (동적 웹 페이지용)

    라즈베리파이 웹 서버 구축 완전 가이드: 단계별 설치부터 FTP/호스트네임 설정까지
    sudo apt install php libapache2-mod-php -y
    
    • PHP 8.x (Bookworm 기준) 설치, 아파치 모듈 연동 자동
    • 테스트: echo '' | sudo tee /var/www/html/info.php → https:///info.php 접속 확인
    • 보안: 확인 후 sudo rm /var/www/html/info.php 삭제 필수

    5단계: MariaDB (MySQL 호환) 데이터베이스 설치

    라즈베리파이 웹 서버 구축 완전 가이드: 단계별 설치부터 FTP/호스트네임 설정까지
    sudo apt install mariadb-server -y
    
    • MySQL 오라클 라이선스 이슈로 라즈비안/데비안은 MariaDB 기본 채택 (완전 호환)
    • 설치 중 root 비밀번호 프롬프트 없음 (unix_socket 인증 기본)

    6단계: MariaDB 보안 설정 (Secure Installation)

    라즈베리파이 웹 서버 구축 완전 가이드: 단계별 설치부터 FTP/호스트네임 설정까지
    sudo mysql_secure_installation
    

    대화형 프롬프트 응답 가이드:

    • Enter current password for root: 엔터 (unix_socket 인증이라 비밀번호 없음)
    • Switch to unix_socket authentication? Y
    • Change root password? Y → 강력한 비밀번호 설정 (기록 필수!)
    • Remove anonymous users? Y
    • Disallow root login remotely? Y (로컬만 허용)
    • Remove test database? Y
    • Reload privilege tables? Y

    7단계: 아파치 재시작 (Restart Apache2)

    라즈베리파이 웹 서버 구축 완전 가이드: 단계별 설치부터 FTP/호스트네임 설정까지
    sudo systemctl restart apache2
    

    PHP-MariaDB 연동 모듈 로드 반영

    8단계: 웹 서버 테스트 (Test Web Server)

    라즈베리파이 웹 서버 구축 완전 가이드: 단계별 설치부터 FTP/호스트네임 설정까지

    아파치 기본 페이지: 정상 동작 확인

    • 브라우저에서 https://<라즈베리파이_IP>/ 접속 → 기본 페이지 표시
    • 외부 네트워크에서 접속 시: 공유기 포트 포워딩(80→라즈베리파이 IP:80) 설정 필요
    • 도메인 연결: DNS A 레코드 → 공인 IP, 공유기 DDNS 설정

    웹 콘텐츠 디렉토리 권한 설정 (소유자 pi로 변경)

    sudo chown -R pi:www-data /var/www/html
    sudo chmod -R 775 /var/www/html
    sudo usermod -a -G www-data pi
    

    이후 pi 계정으로 SFTP/파일 관리자에서 자유롭게 파일 업로드/수정 가능

    호스트네임 변경 (Changing Hostname)

    라즈베리파이 웹 서버 구축 완전 가이드: 단계별 설치부터 FTP/호스트네임 설정까지

    기본 호스트네임 raspberrypi → 중복 방지/식별 용이하게 변경

    1. sudo raspi-config 실행
    2. 1 System Options → S4 Hostname 선택
    3. 새 호스트네임 입력 (예: mywebserver, 소문자/숫자/하이픈만 허용)
    4. OK → Finish → 재부팅 여부 Yes

    또는 GUI: Preferences → Raspberry Pi Configuration → System → Hostname

    라즈베리파이 웹 서버 구축 완전 가이드: 단계별 설치부터 FTP/호스트네임 설정까지 라즈베리파이 웹 서버 구축 완전 가이드: 단계별 설치부터 FTP/호스트네임 설정까지 라즈베리파이 웹 서버 구축 완전 가이드: 단계별 설치부터 FTP/호스트네임 설정까지

    FTP/SFTP 서버 구파일 전송용)

    라즈베리파이 웹 서버 구축 완전 가이드: 단계별 설치부터 FTP/호스트네임 설정까지

    코드 개발은 메인 PC에서 → SFTP로 라즈베리파이 배포가 최적 워크플로

    SFTP 활성화 (별도 FTP 서버 불필요, SSH 내장 SFTP 사용)

    1. sudo raspi-config → 3 Interface Options → I2 SSH → Enable (이미 활성화됨)
    2. 또는 GUI: Preferences → Raspberry Pi Configuration → Interfaces → SSH: Enabled

    파일 권한 조정 (쓰기 권한 부여)

    sudo chown -R pi:www-data /var/www/html
    sudo chmod -R 775 /var/www/html
    

    PC에서 SFTP 클라이언트 접속

    • Windows: FileZilla (무료, SFTP 지원), WinSCP
    • macOS/Linux: 터미널 sftp pi@, 또는 Cyberduck, Transmit
    • 프로토콜: SFTP (SSH File Transfer Protocol), 포트 22
    • 로그인: 사용자 pi, 비밀번호 (변경한 것)
    • 원격 디렉토리: /var/www/html 로 이동 후 파일 드래그 앤 드롭
    라즈베리파이 웹 서버 구축 완전 가이드: 단계별 설치부터 FTP/호스트네임 설정까지

    FileZilla SFTP 접속 화면

    보안 강화 필수 체크리스트 (Production Hardening)

    항목

    조치
    SSH포트 변경(22→비표준), 키 인증만 허용, root 로그인 금지, Fail2Ban 설치
    방화벽sudo ufw enable, sudo ufw allow 22/tcp (SSH), sudo ufw allow 80/tcp (HTTP), sudo ufw allow 443/tcp (HTTPS)
    HTTPS/SSLLet's Encrypt Certbot으로 무료 인증서 발급/자동 갱신: sudo apt install certbot python3-certbot-apache && sudo certbot --apache
    데이터베이스애플리케이션별 전용 유저/DB 생성, root 원격 접속 차단
    PHPdisplay_errors=Off, expose_php=Off, open_basedir 제한
    백업일일 DB 덤프(mysqldump), 주간 전체 백업(rsync/tar), 원격 저장소 복제
    모니터링Netdata, Prometheus+Grafana, Uptime Kuma 등으로 리소스/가동률 감시

    결론

    라즈베리파이로 LAMP 스택(Apache+MariaDB+PHP) 웹 서버를 구축하는 것은 10분 내외면 완료되는 검증된 프로세스입니다. 본 가이드의 8단계(터미널→업데이트→Apache→PHP→MariaDB→보안설정→재시작→테스트)와 호스트네임/FTP/보안 설정까지 마치면 즉시 운영 가능한 웹 서버가 준비됩니다. 홈랩 입문자부터 소규모 상용 서비스까지 커버 가능하며, 트래픽 증가 시 Nginx+PHP-FPM, Docker 컨테이너화, 로드밸런싱, 클러스터링으로 확장 가능합니다. 라즈베리파이 웹 서버 구축 관련 기술 문의 언제나 환영합니다.

산업기술

  1. 파이썬, SQLite, LabVIEW로 라즈베리 파이 온도 프로파일링 정밀 구현
  2. 라즈베리 파이와 TMP006 적외선 온도 센서: 파이썬 라이브러리 및 설정 가이드
  3. 라즈베리 파이와 파이썬으로 원격 온도 센서 만들기 – 단계별 가이드
  4. 라즈베리 파이 3와 PubNub로 원격 기상 모니터링하기
  5. TI SensorTag를 Node-RED로 Blynk와 연동하기: 라즈베리 파이 제로 구현
  6. 라즈베리 파이에서 PIR 모션 센서로 LED 제어하기
  7. 라즈베리 파이 GPIO로 버튼 눌림 읽기 – 단계별 가이드
  8. Twilio를 이용한 라즈베리 파이 기반 화장실 점유 센서: 음성 및 SMS 알림
  9. 라즈베리 파이 대시보드로 집 온도 모니터링하기
  10. LIRC 없이 라즈베리 파이에서 IR 리모컨 명령 캡처하기: 파이썬 UART 방식