
먼저, 웹 브라우저를 열어 Proxmox VE Helper 사이트에 접속한다. 이 사이트에는 다양한 VM이나 컨테이너를 스크립트로 쉽게 설치할 수 있도록 여러 '헬퍼 스크립트'들이 모여있는 사이트다.

사이트 상단의 검색창에서 "npm"을 검색한 후, "Nginx Proxy Manager"를 찾아준다. 해당 페이지로 이동하면 설치에 필요한 셸 스크립트를 확인할 수 있다.

나는 bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/nginxproxymanager.sh)" 이 스크립트를 복사해두었다.
이제 복사한 스크립트를 Proxmox 서버에서 실행할 차례다.

스크립트가 실행되면 NPM 설치가 시작된다. 대부분 디폴트 설정'으로 진행한다. 설치 과정 중에 "구버전을 설치할 것이냐"는 질문에는 n을 입력하여 최신 버전으로 진행한다.

설치가 완료되면, 스크립트가 NPM 웹 인터페이스에 접속할 수 있는 웹 주소(IP 주소와 포트 번호)를 알려준다.
스크립트가 알려준 웹 주소로 접속하기 위해서는 초기에는 내부망에서만 확인이 가능하다. 확인을 위해 VM을 설치해야한다. 이제 VM을 설치해보도록 하겠다.
이제 Proxmox 환경에서 첫 번째 가상 머신을 만들어보려한다. 나는 메인 개인 서버 용도로 사용할 Rocky Linux 9버전으로 진행 할 예정이다.
가상 머신을 만들려면 먼저 ISO 파일을 Proxmox에 업로드해야한다. 다운로드 방식에는 URL을 통해 다운로드 하는 방법과 직접 업로드 하는 방법 두 가지가 존재하는데 나는 기존에 Rocky ISO 파일을 가지고있어 간편하게 업로드하는 방식을 선택했다.
가장 먼저, 내가 원하는 VM의 운영체제 ISO 파일을 미리 다운로드해 둔다. 나는 Rocky Linux 공식 웹사이트에서 Rocky Linux 9버전 ISO 파일을 다운로드하여 준비했다.

다운로드한 ISO 파일을 Proxmox 서버에 업로드를 해줘야한다.
Proxmox 웹 인터페이스에 접속 후 왼쪽 사이드바 메뉴에서
local (pve) -> ISO Images -> 업로드 버튼을 클릭

파일 선택 창이 뜨면, 미리 다운로드해 둔 Rocky Linux 9버전 ISO 파일을 찾아 클릭하여 선택해준다.
업로드가 완료될 때까지 잠시 기다려야한다. 용량이 큰 편이라 시간이 좀 걸린다.
ISO 파일 업로드가 완료되었다면, 이제 이 파일을 이용해서 VM을 설치할 준비가 모두 끝났다. Proxmox 웹 인터페이스에서 우측 상단에 위치한 'VM 생성' 버튼을 클릭하고, 안내에 따라 방금 업로드한 Rocky Linux 9 ISO 파일을 선택하여 VM 설치를 진행하면 된다.

다양한 세팅이 가능하지만 나는 디폴트로만 설정했다.
록키리눅스 설치 및 기본 세팅은 이전에 올린 블로그내용을 참고하면 된다.
이제 Nginx Proxy Manager(NPM)를 활용해 내부 네트워크에서만 접속 가능했던 서비스들을 외부에서도 접근할 수 있도록 설정해보려한다.

먼저, 설치한 로키 리눅스에서 Firefox를 통해 NPM 웹 인터페이스에 접속한다.

http://[NPM이 설치 시 확인한 IP 주소]:81을 입력하고 접속admin@example.com과 초기 비밀번호인 changeme를 입력하여 로그인

참고로 외부와 연결하기 위해서는 도메인이 필요한데 나는 DuckDNS를 통해 간단하게 만들어두었다.
로그인 후 http:// 옆의 공간에 원하는 도메인 이름을 넣고 추가버튼을 누르면 자동으로 현재 외부 IP가 잡히며 생성된다.

이제 프록시 호스트(Proxy Host)를 설정하여, 외부 도메인으로 접속했을 때 우리 서버의 특정 서비스로 연결되도록 한다.
Hosts -> Proxy Hosts -> Add Proxy Host 버튼 클릭
여기에 다음과 같은 정보들을 입력해준다.
[원하는 서브도메인].duckdns.org와 같이 Duck DNS를 통해 발급받은 서브도메인을 입력했다. http로 설정해줘야 한다.


웹사이트의 보안을 위해 HTTPS(SSL/TLS)를 설정한다. NPM은 Let's Encrypt를 통해 무료 SSL/TLS 인증서를 자동으로 발급받을 수 있도록 도와준다.
앞서의 설정창에서 상단의 SSL을 클릭 후 SSL Certificate 에서 'Request a new SSL Certificate'를 선택하면 간단하게 설정이 완료된다. 👍

이렇게 설정을 마치면, 이제 외부 인터넷 환경에서 설정한 도메인 주소로 접속하여 NPM과 Proxmox 웹 콘솔에 안전하게 접근할 수 있게 된다. 밖에서 와이파이를 잡거나 핫스팟을 통해 확인하면 이제 외부망으로 접속되는 걸 확인 할 수 있다.
다음으론 간단한 보안 설정에 대해 작성해보려한다.