홈서버 구축 완전 가이드 2편: 운영체제 선택과 설치
Home Server Complete Guide Part 2: Operating System Selection and Installation
들어가며
1편에서 홈서버의 개념과 하드웨어에 대해 알아봤다면, 이번 2편에서는 본격적으로 운영체제(OS)를 설치해보겠습니다. 하드웨어가 몸이라면 OS는 영혼이죠. 어떤 OS를 선택하느냐에 따라 할 수 있는 것도, 관리 방법도 크게 달라집니다.
이번 글에서는 홈서버용으로 많이 쓰이는 OS들을 비교해보고, 가장 범용적인 Ubuntu Server 설치 과정을 따라해볼 수 있도록 상세히 설명드릴게요.
1. 홈서버용 OS 종류와 비교
홈서버용 OS는 크게 두 가지로 나눌 수 있습니다. 범용 리눅스 배포판과 특수 목적 OS입니다.
1.1 Ubuntu Server
아마 가장 많이 추천받는 OS일 겁니다. 저도 처음 시작할 때 Ubuntu Server로 시작했어요.
장점:
- 자료가 정말 많음 - 검색하면 웬만한 문제는 해결책이 나옴
- LTS(장기 지원) 버전은 5년간 보안 업데이트 제공
- Docker, 각종 서버 소프트웨어 호환성 최고
- 초보자도 접근하기 쉬운 편
단점:
- Snap 패키지 시스템이 호불호가 갈림
- Canonical 회사의 정책 변화에 영향받을 수 있음
추천 대상: 홈서버 입문자, Docker 기반 서비스 운영자
1.2 Debian
Ubuntu의 근간이 되는 배포판입니다. Ubuntu보다 더 안정적이고 보수적이에요.
장점:
- 극도로 안정적 - 서버용으로 검증된 패키지만 포함
- 가볍고 군더더기 없음
- 완전한 오픈소스, 기업 영향 없음
- Ubuntu 자료 대부분 호환
단점:
- 패키지 버전이 다소 오래됨
- 설치 과정이 Ubuntu보다 조금 더 복잡
추천 대상: 안정성을 중시하는 사용자, 리눅스 경험자
1.3 Proxmox VE
가상화 전문 OS입니다. 하나의 서버에서 여러 개의 가상 머신(VM)이나 컨테이너(LXC)를 돌리고 싶을 때 선택합니다.
장점:
- 웹 UI로 가상 머신 관리 가능
- KVM 가상화 + LXC 컨테이너 모두 지원
- 무료로 사용 가능 (구독은 선택)
- 스냅샷, 백업, 클러스터링 기능 내장
단점:
- 가상화 오버헤드로 인한 성능 손실
- 학습 곡선이 있음
- 저사양 시스템에서는 비효율적
추천 대상: 여러 OS를 동시에 테스트하고 싶은 사용자, 홈랩 구축자
1.4 TrueNAS (Core/Scale)
스토리지 전문 OS입니다. 파일 서버, NAS 용도로 특화되어 있어요.
TrueNAS Core (FreeBSD 기반):
- ZFS 파일시스템으로 데이터 무결성 보장
- 성숙하고 안정적
- 플러그인(Jail)으로 서비스 확장
TrueNAS Scale (Linux 기반):
- Docker/Kubernetes 네이티브 지원
- Linux 호환성으로 더 많은 앱 사용 가능
- 비교적 최근에 나와서 아직 성숙 중
추천 대상: 대용량 스토리지 관리가 주목적인 사용자
1.5 Unraid
유료 OS지만 홈서버 커뮤니티에서 엄청 인기 있습니다.
장점:
- 서로 다른 용량의 HDD를 하나의 풀로 묶을 수 있음
- 웹 UI가 직관적이고 예쁨
- Docker, VM 관리가 쉬움
- 커뮤니티 앱 스토어가 활성화
단점:
- 유료 (Basic $59, Plus $89, Pro $129)
- 패리티 기반이라 성능이 다소 낮음
추천 대상: 다양한 용량의 HDD를 활용하고 싶은 사용자, GUI 선호자
1.6 OS 비교 요약표
| OS | 난이도 | 주요 용도 | 비용 | 권장 RAM |
|---|---|---|---|---|
| Ubuntu Server | 쉬움 | 범용 | 무료 | 2GB+ |
| Debian | 보통 | 범용 | 무료 | 1GB+ |
| Proxmox VE | 보통 | 가상화 | 무료 | 8GB+ |
| TrueNAS | 보통 | 스토리지 | 무료 | 8GB+ (ECC 권장) |
| Unraid | 쉬움 | 범용/스토리지 | 유료 | 4GB+ |
2. Ubuntu Server 설치 준비
이 가이드에서는 Ubuntu Server 24.04 LTS를 기준으로 설명하겠습니다. 가장 범용적이고 자료가 많아서 입문자에게 추천드려요.
2.1 필요한 것
- USB 메모리 (8GB 이상)
- Ubuntu Server ISO 파일
- 부팅 USB 제작 프로그램 (Rufus 또는 balenaEtcher)
- 키보드, 모니터 (설치 시에만 필요)
2.2 ISO 다운로드
Ubuntu 공식 사이트에서 ISO를 다운로드합니다:
- ubuntu.com/download/server 접속
- "Ubuntu Server 24.04 LTS" 선택
- 다운로드 (약 2GB)
2.3 부팅 USB 만들기
Windows에서 Rufus 사용:
- Rufus 다운로드 및 실행 (rufus.ie)
- 장치: USB 메모리 선택
- 부트 유형: 다운로드한 ISO 파일 선택
- 파티션 방식: GPT 선택 (UEFI 부팅용)
- '시작' 클릭
Mac/Linux에서 balenaEtcher 사용:
- balenaEtcher 다운로드 및 실행 (etcher.balena.io)
- 'Flash from file' → ISO 선택
- 'Select target' → USB 선택
- 'Flash!' 클릭
3. Ubuntu Server 설치 과정
3.1 부팅 순서 변경
- USB를 서버에 꽂고 전원 켜기
- BIOS/UEFI 진입 (보통 F2, F12, Del 키)
- 부팅 순서에서 USB를 첫 번째로 설정
- 저장하고 재시작
3.2 설치 마법사 진행
1. 언어 선택
English를 선택하는 것을 권장합니다. 한국어를 선택하면 터미널에서 깨지는 경우가 있어요.
2. 키보드 레이아웃
Korean → Korean (101/104 key compatible) 선택
3. 설치 유형
"Ubuntu Server" 선택 (minimized 버전 아님)
4. 네트워크 설정
유선 연결이 되어 있다면 자동으로 DHCP IP를 받아옵니다. 일단 기본값으로 진행하고 나중에 고정 IP로 변경할 예정입니다.
5. 프록시 설정
특별한 경우가 아니면 비워두고 진행
6. 미러 서버
기본값(kr.archive.ubuntu.com)으로 진행. 한국 미러라 속도가 빠릅니다.
7. 디스크 설정
가장 중요한 단계입니다:
- Use an entire disk: 디스크 전체를 Ubuntu에 사용 (권장)
- LVM 설정은 기본값 유지
- 암호화가 필요하면 "Encrypt the LVM group" 체크
8. 사용자 설정
- Your name: 표시 이름
- Your server's name: 호스트명 (예: homeserver)
- Username: 로그인 ID (소문자, 영문)
- Password: 강력한 비밀번호 설정
9. Ubuntu Pro
Skip for now 선택 (개인 사용은 무료 등록 가능하지만 나중에 해도 됨)
10. SSH 설정
"Install OpenSSH server" 반드시 체크! 이걸 설치해야 원격으로 접속할 수 있습니다.
11. Featured Server Snaps
지금은 아무것도 선택하지 않고 진행. Docker 등은 나중에 직접 설치하는 게 좋습니다.
12. 설치 완료
설치가 완료되면 "Reboot Now" 선택. USB를 제거하라는 메시지가 나오면 제거 후 Enter.
4. 초기 설정
4.1 첫 로그인
재부팅 후 설치 시 만든 계정으로 로그인합니다.
homeserver login: 사용자명
Password: (비밀번호 입력, 화면에 안 보임)
4.2 시스템 업데이트
가장 먼저 시스템을 최신 상태로 업데이트합니다:
sudo apt update && sudo apt upgrade -y
시간이 좀 걸릴 수 있어요. 커피 한 잔 하고 오세요.
4.3 시간대 설정
서버 시간대를 한국으로 설정합니다:
# 현재 시간대 확인
timedatectl
# 서울 시간대로 변경
sudo timedatectl set-timezone Asia/Seoul
# 변경 확인
date
4.4 호스트명 변경 (필요시)
설치 시 설정한 호스트명을 변경하고 싶다면:
# 현재 호스트명 확인
hostname
# 호스트명 변경
sudo hostnamectl set-hostname 새로운이름
# /etc/hosts 파일도 수정
sudo nano /etc/hosts
hosts 파일에서 127.0.1.1 줄의 호스트명도 변경해주세요.
4.5 고정 IP 설정
서버는 IP가 변하면 안 되기 때문에 고정 IP 설정이 필수입니다.
방법 1: 공유기에서 DHCP 예약
가장 간단한 방법입니다. 공유기 관리 페이지에서 서버의 MAC 주소에 특정 IP를 예약해두면 됩니다.
방법 2: 서버에서 직접 고정 IP 설정
Ubuntu 18.04부터는 Netplan을 사용합니다:
# 네트워크 인터페이스 이름 확인
ip a
보통 enp0s3, eth0, eno1 같은 이름이 보일 거예요.
# Netplan 설정 파일 편집
sudo nano /etc/netplan/00-installer-config.yaml
아래와 같이 수정합니다 (예시):
network:
ethernets:
enp0s3: # 인터페이스 이름에 맞게 수정
dhcp4: no
addresses:
- 192.168.0.100/24 # 원하는 IP
routes:
- to: default
via: 192.168.0.1 # 공유기 IP (게이트웨이)
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
version: 2
설정 적용:
sudo netplan apply
주의: IP 설정을 잘못하면 네트워크 연결이 끊길 수 있습니다. 모니터와 키보드가 연결된 상태에서 작업하세요.
5. SSH 서버 설정
SSH는 원격으로 서버에 접속하기 위한 필수 도구입니다. 설치 시 OpenSSH를 설치했다면 이미 작동 중일 거예요.
5.1 SSH 상태 확인
# SSH 서비스 상태 확인
sudo systemctl status ssh
# 활성화되어 있지 않다면
sudo systemctl enable ssh
sudo systemctl start ssh
5.2 다른 PC에서 SSH 접속
Windows 10/11:
명령 프롬프트나 PowerShell에서:
ssh 사용자명@서버IP
Mac/Linux:
터미널에서:
ssh 사용자명@서버IP
예: ssh admin@192.168.0.100
처음 접속 시 fingerprint 확인 메시지가 나오면 yes 입력.
5.3 SSH 보안 강화 (선택)
기본 설정으로도 충분하지만, 보안을 강화하고 싶다면:
sudo nano /etc/ssh/sshd_config
권장 설정 변경:
# 기본 포트 변경 (22 → 다른 번호)
Port 2222
# root 직접 로그인 비활성화
PermitRootLogin no
# 비밀번호 대신 키 인증만 허용 (키 설정 후)
# PasswordAuthentication no
설정 변경 후 SSH 재시작:
sudo systemctl restart ssh
주의: 포트를 변경하면
ssh -p 2222 사용자명@서버IP로 접속해야 합니다.
5.4 SSH 키 인증 설정 (권장)
비밀번호 대신 SSH 키를 사용하면 더 안전합니다.
클라이언트(PC)에서 키 생성:
# Windows PowerShell 또는 Mac/Linux 터미널
ssh-keygen -t ed25519 -C "your_email@example.com"
Enter 몇 번 누르면 키가 생성됩니다.
서버에 공개키 등록:
# 자동으로 복사
ssh-copy-id 사용자명@서버IP
# 또는 수동으로
# 클라이언트의 ~/.ssh/id_ed25519.pub 내용을
# 서버의 ~/.ssh/authorized_keys 파일에 추가
6. 기본 패키지 설치
앞으로 자주 쓸 유틸리티들을 미리 설치해둡니다:
sudo apt install -y \
curl \
wget \
git \
htop \
neofetch \
net-tools \
ufw
curl,wget: 파일 다운로드git: 버전 관리 (설정 파일 백업 등)htop: 시스템 모니터링 (top의 상위 호환)neofetch: 시스템 정보 보기 (예쁘게)net-tools: ifconfig 등 네트워크 도구ufw: 방화벽 관리 도구
6.1 방화벽 기본 설정
# SSH 허용 (이거 안 하면 접속 끊김!)
sudo ufw allow ssh
# 또는 포트를 변경했다면
sudo ufw allow 2222/tcp
# 방화벽 활성화
sudo ufw enable
# 상태 확인
sudo ufw status
마무리
수고하셨습니다! 이제 Ubuntu Server가 설치되고 기본 설정이 완료되었습니다. 정리하면:
- Ubuntu Server 24.04 LTS 설치 완료
- 시간대, 호스트명 설정
- 고정 IP 설정
- SSH 서버 설정 및 보안 강화
- 기본 유틸리티 및 방화벽 설정
이제 모니터와 키보드 없이도 다른 PC에서 SSH로 서버에 접속해서 관리할 수 있습니다. 서버를 구석에 잘 배치해두세요!
다음 3편에서는 Docker를 설치하고 본격적으로 다양한 서비스를 올려보겠습니다. Portainer를 이용한 GUI 관리, Nextcloud로 개인 클라우드 만들기 등을 다룰 예정이에요.
질문이 있으시면 댓글로 남겨주세요!