Proxmox 설치하기

Proxmox 설치하기

들어가며

오늘은 proxmox를 설치하는 방식에 대해 써보려고 한다. 먼저 준비물을 챙기고 설치 순서를 차근차근 따라가보자.

준비물

구형 컴퓨터

노트북이든 데스크탑이든 무관하다. 우리는 엄청나게 대단한 서버를 운영할 것이 아니고 나만을 위한 아주 작은 서버를 만드는 것이다.

개인 도메인

Proxmox를 설치할 때 도메인을 요청해서 일단 준비물로 넣었으나, 사실 proxmox 설치는 가짜로 써넣어도 진행이 된다.

그러나 proxmox에 올라갈 일부 서비스들은 domain을 통해 발급된 cert가 없으면 접속 자체가 불가하도록 하고 있으므로 결국 도메인은 필수이다. 입문을 하는 상태에서는 duckDNS 와 같은 무료 도메인 발급 서비스를 활용하는 것도 괜찮으나, 이런 무료 도메인은 https cert 발급이 잘 안된다고 한다. 장기적으로 봤을 때는 도메인을 구매하는 것이 낫다. 호스팅케이알 , 가비아 , cloudflare 등에서 가장 싼 걸로 하나 사면 된다. 개인적으로는 cloudflare에서 사는 걸 추천한다.

정보) 도메인은 저렴한 걸 구입할 경우 1년에 만원도 하지 않는다.

proxmox OS 설치용 USB

Rufus를 써도 되나, ventoy가 더 좋다. ISO, Rufus, 그리고 ventoy는 다음 링크에서 구할 수 있다.

설치 절차

설치용 USB 준비하기

proxmox의 ISO를 다운로드하고 Rufus나 ventoy를 통해 부팅USB를 만들어준다. Proxmox ISO는 공식 다운로드 페이지 에서 다운받을 수 있는데, 아래 이미지에서 보이는 것처럼 Proxmox VE . ISO Installer 라고 표시된 항목을 다운받아준다.

Proxmox ISO 파일 다운로드 페이지
Proxmox ISO 파일 다운로드 페이지

설치 USB로 부팅하기

proxmox 설치 USB를 1번으로 하여 부팅한다. 바이오스 설정 진입은 메인보드 메이커마다 다르므로, 본인이 사용하려는 컴퓨터의 메인보드 제조사 혹은 기기 자체의 제조사의 바이오스 설정 진입 버튼과 절차를 확인한다.

Proxmox 설치하기

설치 USB로 부팅을 하면 아래와 같은 화면이 뜬다. 여기서 Installer Proxmox VE (Graphical)을 선택하여 다음 이미지의 설치 화면으로 넘어간다.

다음 화면에서는 Target harddisk에서 proxmox를 설치할 디스크를 선택하고 Next를 눌러 진행한다.

Country는 South Korea로 설정하고, 나머지는 그대로 사진처럼 설정한다. 그리고 Next를 눌러 진행한다.

Password는 나중에 관리페이지 접근에 계속 사용하므로 아주 강력하고 기억하기 쉬운것으로 설정한다. 이메일은 본인 이메일 아무거나 작성해주면 된다.

이 부분이 조금 복잡해보일 수도 있을 것 같지만, 별게 아니다.

  1. Hostname(FQDN) : 실제 도메인이 아니라도 다음으로 진행이 가능하다. 구매한 도메인은 나중에 서비스별로 연결작업을 하면 된다. 여기서는 pve.testdomain.com이라고 작성해줬다.
  2. IP Address, Gateway, DNS Server : IP address는 사용할 수동 IP주소를, Gateway는 랜선이 직접 연결된 공유기의 IP주소를, DNS 서버는 그대로 공유기 IP로 작성해줬다.

작성이 끝났으면 Next로 다음으로 진행한다.

이제 최종검토 후 설치만 하면 된다. 내용이 잘 설정되었나 확인하고 Install로 진행한다.

설치가 끝나면 다음 이미지와 같은 페이지가 나오고, 재부팅을 하라고 한다. 이때 보이는 주소가 proxmox의 관리 페이지 주소가 되겠다. 나중에 써야하니 적어두는 것이 좋겠다.

재부팅 후 다음 이미지 같은 화면이 뜰때까지 기다려준다. 다음처럼 주소가 보이는 검은화면이 뜨면 proxmox가 부팅이 끝난 것이다.

축하한다. 이걸로 proxmox 자체의 설치가 끝났다. (지금 상태에서도 로그인은 해볼 수 있다. 다만 GUI는 없다. 오직 터미널 화면만을 볼 수 있다. 이때 사용하는 아이디는 root이고 비밀번호는 아까 설정한 그것이다.)

proxmox 관리용 웹페이지 접속하기

proxmox가 잘 설치되고 위의 화면까지 부팅이 잘 되었다면, 웹 관리페이지에 접근이 가능하다. 접근은 proxmox의 ip와 같은 망에 존재하는 어떤 PC든 접근할 수 있다. 필자는 proxmox와 동일망에 있는 윈도우 PC를 통해 해당 주소로 접근한다.

접근에는 위 검은 화면에 써있는 https://192.168.122.81:8006를 사용한다.(아까 적어둔 것과 똑같은 주소다.) 인터넷 브라우저 주소창에 이 주소를 입력하면 다음과 같은 페이지가 뜬다. 경고창이 무서워 보이나, 전혀 그럴 필요가 없는 부분이다.(내부망이라 https를 사용하지 않아서 뜨는 것 뿐이다.) 차분히 고급 버튼을 눌러 안전하지 않은 proxmox 페이지로 접속한다.

로그인 창이 나온다. 그러면 로그인한다. 아이디는 root, 비밀번호는 본인이 설정한 그것이다.

이제 Proxmox 설치 후 관리페이지까지 접근할 수 있게 되었다.

첫 서비스(LXC) 생성해보기

현재는 proxmox에 올라가있는 서비스가 없어서 좌측에 localnetwork, local, local-lvm 밖에 보이지 않는다. 서비스가 생성되면 pve 하단에 설치한 서비스가 나타나게 될 것이다.

Proxmox에서 서비스 생성 방식은 두 가지이다.

  1. CT (CT = LXC = Linux Container) : proxmox와 kernel을 공유하는 가상화 방식으로 vm보다 좀 더 가볍다.
  2. VM (Virtual machine) : 리눅스 기반이 아니라서 proxmox와 커널을 공유할 수 없는 경우(예를들어 windows10을 올리는 경우)에 사용한다. 좀 더 무겁지만, host와 완전히 격리된 시스템이라 보안 측면에선 더 좋다고 알려져있다. 정리하자면, 가볍게 돌릴려면 LXC를, LXC를 지원하지 않을 땐 VM을 쓴다고 보면 된다.

이 포스트에서는 직접 서비스를 바닥부터 만들지 않고, 유명한 서비스들을 설치하는 sh 스크립트를 빌려와서 설치해볼 것이다. tteck의 github 페이지 에는 수 많은 lxc 서비스들을 설치하는 스크립트들이 존재한다. 왠만한 유명 서비스들은 다 여기서 찾을 수 있다.

이번 포스팅에서는 이 중에 Nginx Proxy Manager (NPM)를 설치해볼 것이다. (참고 : NPM은 홈서버 운영 시 필수로 사용해야하는 리버스 프록시의 일종이다.) NPM은 Server - Networking 목록에서 찾을 수 있다.

아래처럼 NPM을 찾아서 설치를 위한 코드를 copy를 눌러 복사한다.

복사한 내용을 proxmox의 Shell에 붙여넣어준다. 이미지의 1, 2 순서로 진행하면 된다.

설치를 묻는 질문에 yes, default 사용 질문에도 yes로 진행한다. 지금은 연습이기 때문에 default를 쓰나 나중에는 입맛대로 하드웨어를 할당해주면 된다. 그러면 설치가 진행된다. 끝나기를 기다려준다. (도중에 한번 구버전 설치할래? 를 물어보는데 그냥 다 yes로 진행한다)

설치가 완료되면 complete 메시지와 함께 해당 서비스의 ip주소가 터미널에 나타나고, 좌측에 100 nginxproxymanager 라는 항목이 생성되었음을 알 수 있다. 이제 서비스 생성이 완료되었다.

다음으로 설치한 NPM의 주소로 접속을 해보자. 설치 주소는 위에서 보이는 것처럼 http://192.168.122.32:81이다. 접속하면 아래와 같은 화면이 뜬다면 정상적으로 서비스가 작동하고 있는 것이다.

정리하며

여기까지 잘 따라왔다면 1)proxmox를 설치했고 2)그 위에 NPM이라는 서비스를 올리고 3)그 서비스에 접속까지 해본 것이다. 이제 tteck 페이지에 있는 서비스들 중 입맛에 맛는 것들을 똑같은 방식으로 하나씩 올려볼 차례다. 이 부분은 직접 서버를 가지고 놀면서 하나씩 해보면 될 것 같다.

(다음 포스팅에서 다루긴 하겠지만) 몇 가지 다음으로 이어서 할 작업을 추천해보면 다음과 같다.

  1. 공유기에서 NPM의 ip로 80, 443 포트를 port forwarding 되도록 설정한다.
  2. Domain 구매 사이트에서 내 도메인을 공유기의 공인 ip와 연결되도록 한다. 예를들어, testdomain.com이 구매한 도메인이라면 이 도메인이 내 공인 ip를 가리키도록 한다.
  3. 1, 2를 수행하면, 공유기는 도메인 testdomain.com의 80, 443 포트로 들어오는 트래픽을 NPM의 80, 443 포트로 전달할 수 있게 된다.
  4. Proxmox에 다른 서비스들을 올린다.
  5. NPM을 통해, 서비스들마다 sub domain을 부여하고 해당 서비스들로 연결되게 설정한다. 이를 통해 sub domain으로 다른 서비스들에 접근할 수 있게 된다.
Last updated on