← All posts

홈서버 구축기

#배포

2025-06-01

서버

heroku, aws ec2, oracle cloud, google cloud vm, 무료 클라우드 서버를 전전하기를 약 5년, 이제는 더 이상 힘들게 빛을 본 나의 프로젝트들을 종료된 무료 기간과 함께 날려보내고 싶지 않았다.

정말 많은 일들이 있었다. Heroku의 무료 plan이 종료 되고, aws ec2를 통해 처음으로 cloud server를 다뤄 보았다. 자연적으로 github action, docker를 통한 CI/CD 환경을 구성하는 법을 배웠다.

도메인 하나로 여러 프로젝트를 배포하기 위해 load balancer를 이용해 서브 도메인을 구성했다가 몇십 만원의 요금을 때려 맞았었다. 그 뒤로는 aws ec2를 사용해 본 적이 없다. 후에 nginx 설정을 통해 정말 쉽게 서브 도메인으로 프로젝트를 배포할 수 있다는 사실을 알기까지 2년이란 시간이 필요했다. (그 전까지는 그냥 react 프로젝트를 배포할 때나 사용하는 웹서버 정도로만 생각했었다...)

그렇게 이제 홈서버를 구축하고 관리할 정도의 지식은 쌓인 거 같아서 홈서버를 한번 구축해보기로 했다. 사실 어떻게 보면 서버용 컴퓨터 하나 구매해서 ubuntu 설치하면 되는 건데, 그거 돈 얼마나 한다고 아까워서 안하고 있다가 컴퓨터 가격 다 오르니까 사게 됬는지 바보같다. 역시 고민은 시간만 낭비할 뿐이다.

Firebat T8 Plus

꽤 전부터 홈서버를 구축하기 위해 미니 pc를 구하려고 당근에 키워드 알림을 설정했는데, 생각보다 마땅한 매물이 없었다. 그렇게 한 3개월이 흐르고 오랜만에 당근을 들어갔다가 Firebat T8 Plus가 20만원에 올라온 걸 봤다. 사양은 CPU n100 + RAM 16gb + SSD 256gb, 현재 온라인에서는 가격이 많이 오르거나 확실하지 않은 사양으로 판매되고 있는 경우가 많아서 당근에서 바로 구매했다. 가성비있게 잘 구매한거 같다.

진행

  1. ubuntu server os 설치

  2. 네트워크 설정

  3. 유저 생성 및 보안 강화

ubuntu server os 설치

https://ubuntu.com/download/server 에서 ubuntu server iso 파일을 다운받고, balenaEtcher 프로그램을 이용해서 부팅 usb를 만들었다. firebat BIOS에서 부팅 방식을 usb를 선택하고 ubuntu를 설치했다.

OS 설치 과정에서 여러가지 설정을 했다. 네트워크 설정 단계도 있었는데 나중에 한번에 하기 위해서 우선은 와이파이를 연결하지고 않고 다음 단계로 넘어갔다. 그 뒤로는 그냥 넘겨도 되는 설정들이었고 마지막 쯔음에 관리자 유저 계정 만들고, SSH 설정을 하고 최종적으로 설치를 진행하고 재부팅하고 이전에 만든 관리자 유저 계정으로 로그인했다. 이제 서버컴에서 키보드와 마우스, 모니터를 제거하고, 외부에서 접근하기 위한 네트워크 설정을 해야한다.

네트워크 설정