스마트폰과 태블릿의 발달로 집 한구석에 방치된 오래된 데스크톱이나 노트북 하나쯤은 있으실 겁니다. 중고로 팔기에는 애매하고 버리기엔 아까운 이 PC들, 혹시 훌륭한 '개인 홈 서버'로 재탄생할 수 있다는 사실을 아시나요?
개인 서버를 구축하면 나만의 클라우드 스토리지(NAS)를 만들거나, 웹사이트를 호스팅하고, 심지어 개인용 개발 환경이나 게임 서버로도 활용할 수 있습니다. 매달 지불하는 클라우드 구독료를 절약하는 것은 덤이죠.
오늘은 홈 서버 구축의 첫걸음으로, 윈도우가 설치된 남는 PC에 VirtualBox를 이용해 우분투(Ubuntu) 리눅스를 설치하고, 외부에서 접속할 수 있도록 공유기를 설정하는 방법을 단계별로 알아보겠습니다.
1. 왜 가상 머신(VirtualBox)을 사용하나요?
남는 PC에 직접 리눅스를 설치할 수도 있지만, 처음 서버를 다루는 분들에게는 가상 머신(Virtual Machine)을 추천합니다. 그 이유는 다음과 같습니다.
- 안전성: 기존 윈도우 환경을 유지하면서 안전하게 서버를 테스트할 수 있습니다.
- 복구의 용이성: 설정 중 치명적인 실수를 하더라도, 스냅샷 기능을 통해 버튼 클릭 한 번으로 이전 상태로 되돌릴 수 있습니다.
- 자원 분배: PC의 성능이 허락하는 한, 여러 개의 서버를 동시에 구동할 수도 있습니다.
무료이면서 강력한 성능을 자랑하는 오라클의 VirtualBox(버추얼박스)를 활용하여 인프라를 구축해 보겠습니다.
2. 1단계: VirtualBox 및 우분투(Ubuntu) 다운로드
본격적인 서버 구축을 위해 필요한 준비물을 다운로드합니다.
- VirtualBox 다운로드: VirtualBox 공식 홈페이지에 접속하여 Windows 호스트용 설치 파일을 다운로드하고 설치합니다. 설치 과정은 기본 설정값(Next)을 유지하셔도 무방합니다.
- 우분투 서버(Ubuntu Server) ISO 다운로드: 우분투 공식 홈페이지에서 최신 LTS(장기 지원) 버전의 Server ISO 파일을 다운로드합니다. Desktop 버전이 아닌 CLI 기반의 Server 버전을 선택하여 자원 소모를 최소화합니다.
3. 2단계: VirtualBox에 우분투 서버 설치하기
다운로드가 완료되었다면, 가상의 컴퓨터를 만들고 우분투를 설치할 차례입니다.
가상 머신 생성
- VirtualBox를 실행하고 상단의 '새로 만들기(New)' 버튼을 클릭합니다.
- 이름(예: MyHomeServer)을 입력하고, 운영체제 종류를 'Linux', 버전을 'Ubuntu (64-bit)'로 설정합니다.
- 메모리(RAM)는 최소 2GB(2048MB) 이상 할당을 권장합니다. (남는 PC의 메모리가 넉넉하다면 4GB 이상을 추천합니다.)
- 가상 하드 디스크는 20GB 이상으로 설정하여 공간을 확보합니다.
우분투 운영체제 설치
- 생성된 가상 머신을 선택하고 '설정(Settings)' -> '저장소(Storage)'로 이동합니다.
- 광학 드라이브(CD 아이콘)를 클릭하고, 다운로드한 '우분투 Server ISO 파일'을 마운트합니다.
- 가장 중요한 네트워크 설정: '네트워크(Network)' 탭에서 다음에 연결됨(Attached to)을 기존 NAT에서 '어댑터에 브리지(Bridged Adapter)'로 변경합니다. (가상 머신이 공유기에서 직접 내부 IP를 받기 위함입니다.)
- 설정을 마치고 '시작(Start)'을 눌러 화면의 안내에 따라 설치를 완료합니다.
💡 꿀팁: 설치 중 Install OpenSSH server 항목이 나오면 반드시 체크해 주세요. 추후 외부에서 원격으로 서버에 접속하기 위해 꼭 필요합니다.
4. 3단계: 외부 접속의 핵심, 공유기 포트포워딩 설정
지금 상태로는 집 안에서만 우분투 서버에 접속할 수 있습니다. 스마트폰이나 외부 카페에서도 접속하려면 공유기에서 포트포워딩(Port Forwarding) 설정이 필수입니다.
포트포워딩이란?
외부에서 집 공유기의 특정 '포트'로 찾아오면, 공유기가 미리 지정해 둔 내부의 '우분투 서버'로 길을 안내해 주는 이정표 역할입니다.
포트포워딩 설정 방법 (iptime 공유기 기준)
- 내부 IP 확인: 우분투 서버 콘솔에서
ip addr명령어를 입력하여 내부 IP(예: 192.168.0.x)를 확인합니다. - 공유기 관리자 접속: 웹 브라우저에서 공유기 관리자 페이지(보통 192.168.0.1)에 접속합니다.
- 메뉴 이동: [고급 설정] - [NAT/라우터 관리] - [포트포워드 설정]으로 이동합니다.
-
규칙 추가:
- 규칙 이름: SSH 접속
- 내부 IP 주소: 앞서 확인한 우분투 서버 IP
- 프로토콜: TCP
- 외부 포트: 2222 (외부에서 접속할 임의의 포트)
- 내부 포트: 22 (SSH 기본 포트)
⚠️ 주의사항: 모든 포트를 개방하는 DMZ 설정은 설정이 편하지만 해킹 위험이 매우 높습니다. 꼭 필요한 포트만 열어두는 포트포워딩 방식을 권장합니다.
5. 마치며: 홈 서버 운영의 첫 단추를 끼우다
수고하셨습니다! 이제 여러분은 방치되어 있던 구형 PC를 이용해 리눅스 서버를 구축했고, 외부에서 안전하게 접속할 수 있는 통로까지 완벽하게 마련했습니다.
외부 네트워크(스마트폰 테더링 등) 환경에서 ssh 사용자계정@공유기외부IP -p 2222 명령어로 접속에 성공하셨다면 모든 설정이 정상적으로 완료된 것입니다.
이것은 시작에 불과합니다. 이어지는 '홈 서버 만들기 2편'에서는 이 서버 위에 Nginx 웹 서버를 설치하고, 나만의 개인 블로그나 클라우드를 구축하는 방법에 대해 다뤄보겠습니다. 서버 설정 중 막히는 부분이 있다면 댓글로 남겨주세요!