---
title: ติดตั้ง NexCMP
description: ติดตั้ง NexCMP บน Ubuntu ด้วยตัวติดตั้งคำสั่งเดียว — พารามิเตอร์ สิ่งที่ตัวติดตั้งทำ TLS และ nginx และวิธีเข้าถึงตัวช่วยตั้งค่า
url: https://nexcmp.com/th/docs/getting-started/installation/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# ติดตั้ง NexCMP {#install-nexcmp}

ตัวติดตั้งคือสคริปต์เดี่ยวที่ให้บริการโดยเซิร์ฟเวอร์ไลเซนส์ของคุณ โดยจะตรวจสอบเครื่อง เปิดใช้งานไลเซนส์ ดาวน์โหลดและตรวจสอบความถูกต้องของโปรแกรม ติดตั้งบริการ และ (เลือกได้) ตั้งค่า nginx พร้อมใบรับรองจาก Let's Encrypt

## ก่อนที่คุณจะเริ่มต้น {#before-you-start}

- เซิร์ฟเวอร์ที่เป็นไปตาม [requirements](https://nexcmp.com/th/docs/getting-started/requirements/) และสิทธิ์ root
- **ไลเซนส์คีย์**และ**โดเมนหลัก**ของคุณจาก [license page](https://nexcmp.com/licenses) — ดู [License and purchase](https://nexcmp.com/th/docs/getting-started/license-and-purchase/)
- เรคคอร์ด DNS สำหรับโดเมน — ดู [DNS and Cloudflare](https://nexcmp.com/th/docs/getting-started/dns-and-cloudflare/) คุณยังสามารถติดตั้งก่อนแล้วค่อยแก้ไข DNS ทีหลังได้ โดยตัวติดตั้งจะบอกคุณว่ามีอะไรขาดหายไปและสามารถรันซ้ำอีกครั้งได้ง่ายๆ

## การติดตั้ง {#install}

1. เข้าสู่ระบบเซิร์ฟเวอร์และสลับเป็นสิทธิ์ root (หรือใส่ `sudo` นำหน้า)
2. รันคำสั่งจากหน้าไลเซนส์ของคุณ โดยจะมีลักษณะดังนี้:

```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. รอเครื่องหมายถูก การติดตั้งใหม่จะใช้เวลาเพียงไม่กี่นาที การเริ่มทำงานครั้งแรกจะสร้างสีมาฐานข้อมูลและอาจใช้เวลาถึงหนึ่งนาทีบนดิสก์ที่ช้า
4. อ่านสรุปที่ด้านท้าย ซึ่งจะแสดง URL พอร์ทัลและผู้ดูแลระบบ **รหัสตั้งค่า** และขั้นตอนถัดไป

![หน้าจอการติดตั้งเสร็จสมบูรณ์พร้อมแสดง URL พอร์ทัล URL ผู้ดูแลระบบ และรหัสตั้งค่าแบบใช้ครั้งเดียว](https://nexcmp.com/th/docs/images/getting-started/installation-01-finish.webp)

## พารามิเตอร์ {#parameters}

| พารามิเตอร์ | ค่าเริ่มต้น | ความหมาย |
|---|---|---|
| `--license KEY` | จำเป็นสำหรับการติดตั้งครั้งแรก | ไลเซนส์คีย์ |
| `--domain NAME` | จำเป็นสำหรับการติดตั้งครั้งแรก | โดเมนหลัก ต้องตรงกับไลเซนส์ `https://` และเส้นทางต่อท้ายจะถูกตัดออก |
| `--email ADDRESS` | ไม่มี | อีเมลติดต่อสำหรับประกาศการหมดอายุของ Let's Encrypt หากไม่มี ใบรับรองจะถูกลงทะเบียนโดยไม่มีอีเมล |
| `--port N` | `3000` | พอร์ตภายในของแผงควบคุม (1–65535) |
| `--no-nginx` | ปิด | ไม่ต้องติดตั้งหรือกำหนดค่า nginx / TLS ใช้สิ่งนี้เมื่อคุณรันรีเวอร์สพร็อกซีของคุณเองหรือต้องการตรวจสอบ NexCMP ก่อน |
| `--behind-cloudflare` | ตรวจหาอัตโนมัติ | บังคับใช้โหมด "โดเมนถูกพร็อกซีโดย Cloudflare" โดยปกติจะตรวจพบจาก DNS |
| `--channel NAME` | `stable` | แชนแนลรีลีส |

การรันตัวติดตั้งอีกครั้ง**โดยไม่มีพารามิเตอร์**จะนำค่าที่บันทึกไว้กลับมาใช้ใหม่ (`/etc/nexcmp/install.conf`) และอัปเกรดได้อย่างปลอดภัย โดยคงข้อมูล การกำหนดค่า และบัญชีไว้ ซึ่งนั่นคือสิ่งที่จะเกิดขึ้นเมื่อทำ `sudo nexcmp update`

## สิ่งที่ตัวติดตั้งทำ {#what-the-installer-does}

1. **ตรวจสอบเครื่อง** — Ubuntu 22.04/24.04, x86_64, RAM อย่างน้อย 2 GB, พื้นที่ดิสก์ว่าง 8 GB
2. **ติดตั้งแพ็กเกจ** ที่จำเป็น (`curl`, `zstd`, `openssl`, `python3`, `openssh-client` …)
3. **สร้างผู้ใช้สำหรับบริการ** `nexcmp` และไดเรกทอรี: `/opt/nexcmp` (โปรแกรม, เป็นของ root, เซอร์วิสอ่านได้อย่างเดียว), `/etc/nexcmp` (การกำหนดค่า), `/var/lib/nexcmp` (ข้อมูล), `/var/log/nexcmp`
4. **เปิดใช้งานไลเซนส์** สำหรับโดเมน และจัดเก็บ ID อินสแตนซ์ที่กำหนดไว้สำหรับเครื่องนี้
5. **ดาวน์โหลดรีลีสใหม่ล่าสุดที่คุณมีสิทธิ์ได้รับ** จากนั้นตรวจสอบ SHA-256 และลายเซ็น Ed25519 รีลีสที่ไม่มีลายเซ็นถูกต้องจะถูกปฏิเสธ โดยจะไม่ทำการดาวน์เกรดเวอร์ชันปัจจุบันที่ใหม่กว่า
6. **เขียนการตั้งค่าและยูนิต systemd** (`nexcmp`, `nexcmp-vmd`, `nexcmp-update`) และเริ่มบริการต่างๆ โดยจะรอให้ `/healthz` ตอบสนอง
7. **ตั้งค่า nginx และ TLS** (เว้นแต่จะระบุ `--no-nginx`): รับใบรับรอง Let's Encrypt ด้วย certbot (แบบเว็บรูทชาเลนจ์) สำหรับโดเมน และสำหรับ `admin.<domain>` / `partner.<domain>` เมื่อชื่อเหล่านั้นชี้มาด้วย หาก DNS ยังไม่ชี้มาที่เซิร์ฟเวอร์นี้ (หรือ Cloudflare) ขั้นตอนนี้จะถูกข้ามและแสดงข้อความแจ้ง
8. **แสดงสรุป** พร้อม URL และรหัสติดตั้ง (**setup code**) หากยังไม่มีผู้ดูแลระบบ

## พอร์ตของพาเนล (3000) {#the-panel-port-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/`

::: warning HTTP แบบไม่เข้ารหัส
พอร์ต 3000 เป็น HTTP แบบไม่เข้ารหัส โปรดใช้เฉพาะสำหรับการตั้งค่าบนเครือข่ายที่เชื่อถือได้ หรือผ่าน SSH ทันเนลเท่านั้น อย่าเปิดทิ้งไว้
:::

## การติดตั้งโดยไม่มีโดเมนสาธารณะ (สำหรับห้องทดลองหรือทดสอบ) {#installing-without-a-public-domain-lab-or-test}

คุณสามารถติดตั้งบนเครื่องที่ยังไม่มี 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`) รันตัวติดตั้งใหม่อีกครั้งโดยไม่ใช้ `--no-nginx` เมื่อมี DNS แล้ว

## Docker และ Kubernetes {#docker-and-kubernetes}

ไม่มีการเผยแพร่ container image โดยตัวติดตั้ง (การติดตั้ง systemd แบบเนทีฟ) เป็นวิธีการติดตั้งเดียวที่รองรับ

## ตรวจสอบ {#verify}

```bash
sudo nexcmp status
```

คุณควรเห็นเวอร์ชัน, `nexcmp: active`, `nexcmp-vmd: active`, `healthz: ok` และรหัสติดตั้ง (จนกว่าตัวช่วยตั้งค่าจะเสร็จสิ้น) ดำเนินการต่อด้วย [ตัวช่วยตั้งค่า](https://nexcmp.com/th/docs/getting-started/setup-wizard/)

หากมีข้อผิดพลาดเกิดขึ้น โปรดดู [ข้อผิดพลาดในการติดตั้ง](https://nexcmp.com/th/docs/troubleshooting/installation-errors/)
