이번 글에서는 미니 컴퓨터를 이용하여 홈 서버를 구축하는 과정을 다룰 예정이다.
시작부터 설치, 설정에 이르기까지 모든 단계를 하나씩 설명하려고 한다.
최근 여러 개발 아티클을 읽던 중, 미니 컴퓨터를 활용하여 홈 서버를 구축하는 글을 접하게 되었다.
이전부터 AWS의 지속적인 비용 문제와 클라우드가 아닌 물리적인 서버를 직접 소유하고 싶다는 생각을 가지고 있었는데, 해당 아티클은 홈 서버를 구축하게 되는 결심을 하게되는 계기가 되었다.
더 자세히 설명하자면, 이전에 AWS에 배포한 토이 프로젝트가 있었는데, 한 달에 2~3만원 정도의 과금이 발생했다. 적은 금액이라고 할 수 있지만, 나에게는 충분한 부담이 되었고, 결국 해당 프로젝트를 잠시 닫아두게 되었다.
그러던 중, 해당 아티클을 읽고 나서 홈서버를 구축하면 닫아 뒀던 토이 프로젝트도 다시 배포하고, 직접 내 물리적인 서버를 설정하며 여러 프로젝트와 적용하고 싶었던 기술을 적용해 볼 수 있을 것이라는 확인이 들었다. 따라서, 이번 기회에 미니 컴퓨터를 활용하여 홈 서버를 구축하기로 결정했다.
이번 글에서는 이러한 동기와 목적을 바탕으로, 미니 컴퓨터를 선택하는 이유부터 하드웨어 준비, OS 설치, 네트워크 설정 등의 과정들을 다룰 예정이다.
이를 통해 나와 같은 생각을 가진 사람들에게 홈 서버를 구축하는 과정이 어렵지 않다는 것을 보여주고, 누구나 손쉽게 자신만의 서버를 운영할 수 있도록 도움을 주고자 한다.
나는 서버용 컴퓨터로 미니 컴퓨터를 선택했는데 이유는 다양하다. 먼저, 컴팩트한 크기와 저전력 소모로 인해 가정에서도 쉽게 사용할 수 있다. 또한, 내 동기를 바탕으로 비용 효율성 측면에서 AWS와 같은 클라우드 서비스를 이용하는 것보다 경계적이어야 하기때문에 미니 컴퓨터를 선택하게 되었다.
그래서 선택한 미니 컴퓨터는 N100 CPU를 탑재한 Chatreey T8 Plus라는 컴퓨터이다.
상세 사양
CPU: T8 PLUS-인텔® 알더 레이크 N100
GPU: 인텔® UHD 그래픽
RAM: Plus-LPDDR5 4800hz
SSD: 512GB M.2 2242 SSD
오디오 잭, hdmi 포트 3개, USB-타입A 3개, 와이파이와 블루투스
먼저 이 컴퓨터를 선택한 이유는 N100이 저전력이며 해당 CPU를 탑재한 미니 컴퓨터를 찾을 당시에 상대적으로 저렴했으며 성능도 또한 준수했기 때문에 홈 서버로서의 역할을 충분히 수행할 수 있을 것으로 판단되었다.
나는 알리에서 해당 컴퓨터를 샀으며 구매했을 당시 144,315원이었다. (현재 222,352원 N100, 16GB,500G 기준)
컴퓨터는 6월4일에 주문했으며 6월 13일에 배송이 완료되었다.
우분투를 설치하기 전에 우분트를 설치하는 이유는 다음과 같다.
우분투는 22.04 버전을 사용했으며 우분투 설치 가이드를 따라 설치를 진행하면 된다.
우분투 설치 과정
우분투 설치 가이드 링크로 이동하여 설치한다.
사이트에 들어가면 24버전이 보이는데 22버전을 받고 싶다면 다음 링크에서 설치한다.
우분투 설치
해당 링크에 들어가면 Desktop, Server 두가지 버전이 있다.
이 두개의 차이는 GUI가 있냐 없냐의 차이이므로 선택해서 설치한다. (나는 Desktop 설치)
설치 후 부팅 USB를 만들기 위해 balanaEtcher를 사용한다.
Main에서 Boot로 이동하여 Boot Option#1을 Hard Disk가 아닌 USB Device로 바꾸어 설정하고 Save & Exit를 선택한다.
Save & Exit -> Save Changes and Exit
그러면 다음 창이 나오는데
Try or Install Ubuntu를 선택한다.
(사진찍고 나도 선택하려고 했는데 사진찍는 동안 그냥 넘어가 버렸다.)
이 과정을 통해 홈 서버 구축을 위한 우분투 설치를 완료할 수 있다.
Ubuntu에서 SSH를 통한 원격 접속을 위해 SSH를 설치한다.
sudo apt update
sudo apt install openssh-server
Y/N 문구가 뜨면 Y 선택 후 계속 진행
SSH 서비스가 잘 실행되고 있는지 확인하기 위해서 다음 명령어 입력
sudo systemctl status ssh
Active에 active(running)이 뜬다면 잘 실행되고 있는 것을 확인할 수 있다.
그리고 우분투는 UFW라는 방화벽이 제공되는데 SSH 포트를 허용해주어야 한다.
sudo ufw allow ssh
해당 설정까지 마치고 나면 우분투와 같은 와이파이를 사용하고 있는 기기에서 SSH로 접속할 수 있다.
ip 확인하기
ip a
ssh "설정한 이름"@"ip주소"
이제 같은 와이파이 환경에서 접속이 가능하다.
만약 와이파이가 아닌 랜선을 직접 꽂았다면 2, 3에 있는 ip를 사용하면 된다.
그렇지만 여기까지는 같은 네트워크에서만 접속이 가능하므로 공유기의 포트포워딩을 이용하여 외부 ip에서도 연결할 수 있도록 해야한다.
나는 skt 공유기를 사용한다.
skt를 사용한다면 http://192.168.35.1/ 에 접속하여 설정한다.
설명에 맞게 로그인 한뒤 포트포워딩 화면으로가서 설정을 추가한다.
서비스 포트는 내가 외부에서 연결할 포트 즉 외부포트 내부 IP주소는 아까 봤던 내부 IP 주소를 입력하고 포트에는 내 컴퓨터에서 어플리케이션에 접속할때 사용하는 포트이다.
그러나 처음에 포트에 22번을 넣고 서비스포트에 내가 원하는 포트를 입력하고 연결하였으나 ssh 연결을 할 수 없었다.
그래서 구글에 검색을 해봤으나 알 수 없는 이유로 22 포트는 사용을 막아놨다는 말들이 많았다.
그래서 서버의 기존 ssh의 22번 포트를 다른 포트로 변경해야 사용할 수 있는 상태였다.
먼저 아까 내부 IP주소로 접속하여 설정 파일을 수정하여 ssh의 기존 22번 포트를 변경해주자
먼저 파일을 수정하기 위해 vim 패키지를 설치한다.
sudo apt-get update
sudo apt-get install vim
설치했다면 다음 명령어를 이용하여 포트를 수정해주자
vi /etc/ssh/sshd_config
그리고 i를 눌러 #Port 22로 적혀 있는데 #을 제거하고 원하는 다른 포트 번호로 입력한다.
입력 후
service sshd restart
변경된 포트를 적용하고 포트포워딩 설정 화면으로 돌아가서 포트 부분에 내가 설정한 포트를 넣어준다.
그리고 연결하면 접속이 된다.
이번 홈 서버 구축 과정을 통해 물리적인 서버를 직접 설정해봤는데, 오랫동안 직접 홈 서버를 구축해보고 싶었지만 실제로 시도할 기회가 없었다.
이번 기회를 통해 해소할 수 있었고 특히, 포트 포워딩 설정을 포함한 네트워크 설정과 우분투 설치를 경험하게 되어 의미있었다.
처음 접해본 우분투의 설치 과정은 생각보다 간단했고, 포트포워딩을 설정하면서 간단했지만 네트워크의 감을 잡을 수 있었다.
특히 SSH 포트를 변경할 수 있다는 것이 신기했다.
홈 서버를 구축하면서 많은 것을 배웠고, 앞으로 이 서버를 통해 해보지 못했던 다양한 프로젝트를 시도해 볼 계획이다.