---
title: Cài đặt NexCMP
description: Cài đặt NexCMP trên Ubuntu bằng trình cài đặt một dòng lệnh — tham số, cơ chế hoạt động, TLS và nginx, cùng cách truy cập setup wizard.
url: https://nexcmp.com/vi/docs/getting-started/installation/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# Cài đặt NexCMP {#install-nexcmp}

Trình cài đặt là một script duy nhất được cung cấp bởi license server của bạn. Script này kiểm tra máy chủ, kích hoạt license, tải xuống và xác thực chương trình, cài đặt các service và (tùy chọn) thiết lập nginx với chứng chỉ Let's Encrypt.

## Trước khi bắt đầu {#before-you-start}

- Một máy chủ đáp ứng các [yêu cầu](https://nexcmp.com/vi/docs/getting-started/requirements/) và quyền truy cập root.
- **License key** và **main domain** từ [trang bản quyền](https://nexcmp.com/licenses) của bạn — xem [Bản quyền và mua hàng](https://nexcmp.com/vi/docs/getting-started/license-and-purchase/).
- Bản ghi DNS cho domain — xem [DNS và Cloudflare](https://nexcmp.com/vi/docs/getting-started/dns-and-cloudflare/). Bạn cũng có thể cài đặt trước rồi cấu hình DNS sau; trình cài đặt sẽ thông báo những phần còn thiếu và bạn chỉ cần chạy lại.

## Cài đặt {#install}

1. Đăng nhập vào máy chủ và chuyển sang quyền root (hoặc thêm tiền tố `sudo`).
2. Chạy lệnh lấy từ trang license của bạn. Lệnh có dạng như sau:

```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
```

3. Đợi các dấu tích hoàn tất. Quá trình cài đặt mới mất vài phút; lần khởi động đầu tiên sẽ tạo database schema và có thể mất tới một phút trên ổ đĩa tốc độ chậm.
4. Xem phần tóm tắt ở cuối. Trình cài đặt sẽ hiển thị URL portal và admin, **setup code** cùng bước tiếp theo.

![Trình cài đặt hoàn tất với URL portal, URL admin và setup code dùng một lần](https://nexcmp.com/vi/docs/images/getting-started/installation-01-finish.webp)

## Tham số {#parameters}

| Tham số | Mặc định | Ý nghĩa |
|---|---|---|
| `--license KEY` | bắt buộc khi cài đặt lần đầu | License key. |
| `--domain NAME` | bắt buộc khi cài đặt lần đầu | Domain chính. Phải khớp với license. `https://` và các đường dẫn phía sau sẽ bị loại bỏ. |
| `--email ADDRESS` | không có | Email liên hệ nhận thông báo hết hạn Let's Encrypt. Nếu không cung cấp, chứng chỉ sẽ được đăng ký không kèm email. |
| `--port N` | `3000` | Port cục bộ của panel (1–65535). |
| `--no-nginx` | tắt | Không cài đặt hoặc cấu hình nginx / TLS. Sử dụng tùy chọn này khi bạn tự chạy reverse proxy hoặc muốn trải nghiệm thử NexCMP trước. |
| `--behind-cloudflare` | tự động phát hiện | Bắt buộc bật chế độ "domain được proxy qua Cloudflare". Thông thường chế độ này được tự động nhận diện từ DNS. |
| `--channel NAME` | `stable` | Kênh phát hành. |

Chạy lại trình cài đặt **không kèm tham số** sẽ tái sử dụng các tham số đã lưu (`/etc/nexcmp/install.conf`) và nâng cấp an toàn, giữ nguyên dữ liệu, cấu hình cùng các tài khoản. Đó chính xác là những gì `sudo nexcmp update` thực hiện.

## Những gì trình cài đặt thực hiện {#what-the-installer-does}

1. **Kiểm tra máy chủ** — Ubuntu 22.04/24.04, x86_64, tối thiểu 2 GB RAM, 8 GB dung lượng đĩa trống.
2. **Cài đặt các package** cần thiết (`curl`, `zstd`, `openssl`, `python3`, `openssh-client` …).
3. **Tạo service user** `nexcmp` và các thư mục: `/opt/nexcmp` (chương trình, thuộc sở hữu của root, chỉ đọc đối với service), `/etc/nexcmp` (cấu hình), `/var/lib/nexcmp` (dữ liệu), `/var/log/nexcmp`.
4. **Kích hoạt license** cho domain và lưu instance ID cố định cho máy chủ này.
5. **Tải xuống bản phát hành mới nhất mà bạn được cấp quyền**, sau đó xác thực SHA-256 và chữ ký Ed25519. Bản phát hành không có chữ ký hợp lệ sẽ bị từ chối. Trình cài đặt không bao giờ hạ cấp một phiên bản mới hơn đang chạy.
6. **Ghi cấu hình cùng các systemd unit** (`nexcmp`, `nexcmp-vmd`, `nexcmp-update`) và khởi động các dịch vụ; trình cài đặt sẽ đợi `/healthz` phản hồi.
7. **Thiết lập nginx và TLS** (trừ khi có `--no-nginx`): xin chứng chỉ Let's Encrypt bằng certbot (webroot challenge) cho tên miền và cho `admin.<domain>` / `partner.<domain>` nếu các tên miền này cũng phân giải được. Nếu DNS chưa trỏ về máy chủ này (hoặc Cloudflare), trình cài đặt sẽ bỏ qua bước này và thông báo rõ.
8. **In bản tóm tắt** kèm các URL và **setup code** (nếu chưa có quản trị viên nào).

## Cổng của panel (3000) {#the-panel-port-3000}

- Trong lần cài đặt đầu tiên, panel sẽ lắng nghe trên `0.0.0.0:3000` để bạn có thể mở setup wizard tại `http://<server-IP>:3000/setup`.
- Sau khi wizard hoàn tất **và** TLS đã kích hoạt, panel sẽ chỉ lắng nghe trên `127.0.0.1`; nginx sẽ proxy `https://<domain>` tới panel.
- Trong trường hợp khẩn cấp (nginx bị lỗi, DNS cấu hình sai), bạn có thể mở cổng này trong thời gian giới hạn: `sudo nexcmp open-port 30` (30 phút, sau đó sẽ tự đóng) — hoặc dùng SSH tunnel: `ssh -L 3000:127.0.0.1:3000 <server>` và truy cập `http://127.0.0.1:3000/`.

::: warning HTTP không mã hóa
Cổng 3000 sử dụng HTTP không mã hóa. Bạn chỉ nên dùng cổng này cho setup wizard trong mạng đáng tin cậy hoặc thông qua SSH tunnel. Không để cổng mở liên tục.
:::

## Cài đặt không cần tên miền công khai (lab hoặc thử nghiệm) {#installing-without-a-public-domain-lab-or-test}

Bạn có thể cài đặt trên máy chủ chưa có DNS:

```bash
curl -fsSL https://nexcmp.com/install.sh | sudo bash -s -- \
  --license NXC-XXXXX-XXXXX-XXXXX-XXXXX --domain lab.example.com --no-nginx
```

Sau đó mở wizard qua SSH tunnel (`ssh -L 3000:127.0.0.1:3000 <server>`, truy cập `http://127.0.0.1:3000/setup`). Chạy lại trình cài đặt mà không có `--no-nginx` sau khi đã cấu hình DNS.

## Docker và Kubernetes {#docker-and-kubernetes}

Không có container image được phát hành. Trình cài đặt (cài đặt systemd gốc) là phương thức cài đặt được hỗ trợ.

## Kiểm tra {#verify}

```bash
sudo nexcmp status
```

Bạn sẽ thấy phiên bản, `nexcmp: active`, `nexcmp-vmd: active`, `healthz: ok` và — cho đến khi wizard hoàn tất — setup code. Tiếp tục với [setup wizard](https://nexcmp.com/vi/docs/getting-started/setup-wizard/).

Nếu gặp lỗi, vui lòng xem [Lỗi cài đặt](https://nexcmp.com/vi/docs/troubleshooting/installation-errors/).
