NexCMP 설치
설치 프로그램은 라이선스 서버에서 제공하는 단일 스크립트입니다. 머신을 확인하고, 라이선스를 활성화하며, 프로그램을 다운로드 및 검증하고, 서비스를 설치하며, (선택 사항으로) Let's Encrypt 인증서와 함께 nginx를 설정합니다.
시작하기 전에
- requirements을(를) 충족하는 서버와 루트(root) 권한.
- license page의 라이선스 키 및 메인 도메인 — License and purchase 참조.
- 도메인의 DNS 레코드 — DNS and Cloudflare 참조. 먼저 설치하고 나중에 DNS를 수정해도 됩니다. 설치 프로그램이 누락된 항목을 알려주므로 단순히 다시 실행하면 됩니다.
설치
- 서버에 로그인한 후 루트 권한을 획득합니다(또는
sudo을(를) 앞에 붙입니다). - 라이선스 페이지의 명령어를 실행합니다. 형태는 다음과 같습니다:
bash
curl -fsSL https://nexcmp.com/install.sh | sudo bash -s -- \
--license NXC-XXXXX-XXXXX-XXXXX-XXXXX \
--domain cloud.example.com \
--email admin@example.com- 체크 마크가 나타날 때까지 기다립니다. 새 설치는 몇 분 정도 걸리며, 첫 시작 시 데이터베이스 스키마를 생성하므로 느린 디스크에서는 최대 1분이 소요될 수 있습니다.
- 마지막 요약을 읽어보세요. 포털 및 관리자 URL, 설정 코드, 그리고 다음 단계가 출력됩니다.

매개변수
| Parameter | Default | 의미 |
|---|---|---|
--license KEY | 최초 설치 시 필수 | 라이선스 키입니다. |
--domain NAME | 최초 설치 시 필수 | 메인 도메인입니다. 라이선스와 일치해야 합니다. https:// 및 후행 경로는 제거됩니다. |
--email ADDRESS | none | Let's Encrypt 만료 알림을 위한 담당자 이메일입니다. 이메일이 없으면 인증서가 이메일 없이 등록됩니다. |
--port N | 3000 | 패널의 로컬 포트 (1–65535). |
--no-nginx | off | nginx / TLS를 설치하거나 설정하지 않습니다. 자체 리버스 프록시를 운영하거나 NexCMP를 먼저 살펴보고 싶을 때 사용하세요. |
--behind-cloudflare | auto-detected | "도메인이 Cloudflare를 통해 프록시됨" 모드를 강제로 활성화합니다. 일반적으로 DNS에서 감지됩니다. |
--channel NAME | stable | 릴리스 채널. |
매개변수 없이 설치 프로그램을 다시 실행하면 저장된 설정(/etc/nexcmp/install.conf)이 재사용되며, 데이터, 설정 및 계정을 유지한 채 안전하게 업그레이드됩니다. 이것이 바로 sudo nexcmp update이(가) 수행하는 작업입니다.
설치 프로그램의 동작
- 머신 확인 — Ubuntu 22.04/24.04, x86_64, 최소 2 GB RAM, 8 GB 여유 디스크.
- 필요한 패키지를 설치합니다 (
curl,zstd,openssl,python3,openssh-client등). - 서비스 사용자
nexcmp및 디렉터리를 생성합니다:/opt/nexcmp(프로그램용, root 소유, 서비스는 읽기 전용),/etc/nexcmp(설정),/var/lib/nexcmp(데이터),/var/log/nexcmp. - 도메인에 대한 라이선스를 활성화하고 이 머신에 대한 고정 인스턴스 ID를 저장합니다.
- 사용 권한이 있는 최신 릴리스를 다운로드한 다음 SHA-256 및 Ed25519 서명을 검증합니다. 유효한 서명이 없는 릴리스는 거부됩니다. 실행 중인 최신 버전을 이전 버전으로 다운그레이드하지 않습니다.
- 설정 및 systemd 유닛을 작성하고 (
nexcmp,nexcmp-vmd,nexcmp-update) 서비스를 시작합니다./healthz의 응답을 대기합니다. - nginx 및 TLS를 설정합니다 (
--no-nginx인 경우 제외): certbot(webroot 챌린지)을 사용하여 도메인 및 해당 이름도 확인될 때admin.<domain>/partner.<domain>에 대한 Let's Encrypt 인증서를 발급받습니다. DNS가 아직 이 서버(또는 Cloudflare)를 가리키지 않는 경우 이 단계를 건너뛰고 그 사실을 알립니다. - URL 및 (관리자가 아직 없는 경우) 설정 코드가 포함된 요약 정보를 출력합니다.
패널 포트 (3000)
- 최초 설치 시 패널은
0.0.0.0:3000에서 수신 대기하므로http://<server-IP>:3000/setup에서 설정 마법사를 열 수 있습니다. - 마법사가 완료되고 또한 TLS가 활성화되면 패널은
127.0.0.1에서만 수신 대기하며, nginx가https://<domain>을 그곳으로 프록시합니다. - 비상 시(nginx 손상, DNS 오류) 제한된 시간 동안 포트를 열 수 있습니다:
sudo nexcmp open-port 30(30분 후 자동 닫힘) — 또는 SSH 터널을 사용합니다:ssh -L 3000:127.0.0.1:3000 <server>및http://127.0.0.1:3000/브라우징.
일반 HTTP
포트 3000은 일반 HTTP입니다. 신뢰할 수 있는 네트워크의 설정 마법사 용도로만 사용하거나 SSH 터널을 통해 사용하십시오. 열어둔 채로 두지 마십시오.
공인 도메인 없이 설치하기 (랩 또는 테스트)
아직 DNS가 없는 머신에 설치할 수 있습니다:
bash
curl -fsSL https://nexcmp.com/install.sh | sudo bash -s -- \
--license NXC-XXXXX-XXXXX-XXXXX-XXXXX --domain lab.example.com --no-nginx그런 다음 SSH 터널(ssh -L 3000:127.0.0.1:3000 <server>, http://127.0.0.1:3000/setup 브라우징)을 통해 마법사를 엽니다. DNS가 생성되면 --no-nginx 없이 설치 프로그램을 다시 실행하십시오.
Docker 및 Kubernetes
공식 배포된 컨테이너 이미지는 없습니다. 설치 프로그램(네이티브 systemd 설치)이 공식 지원되는 설치 방법입니다.
확인
bash
sudo nexcmp status버전, nexcmp: active, nexcmp-vmd: active, healthz: ok 및 마법사가 완료될 때까지는 설정 코드가 표시되어야 합니다. setup wizard로 계속 진행하십시오.
문제가 발생하면 Installation errors를 참조하십시오.