---
title: NexCMP installieren
description: NexCMP auf Ubuntu mit dem Einzeilen-Installer installieren — Parameter, Funktionsweise, TLS und nginx sowie das Aufrufen des Setup-Assistenten.
url: https://nexcmp.com/de/docs/getting-started/installation/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# NexCMP installieren {#install-nexcmp}

Der Installer ist ein einzelnes Skript, das von Ihrem Lizenzserver bereitgestellt wird. Er prüft das System, aktiviert Ihre Lizenz, lädt das Programm herunter und verifiziert es, installiert die Dienste und richtet (optional) nginx mit einem Let's Encrypt-Zertifikat ein.

## Bevor Sie beginnen {#before-you-start}

- Ein Server, der die [Anforderungen](https://nexcmp.com/de/docs/getting-started/requirements/) erfüllt, sowie Root-Zugriff.
- Ihr **Lizenzschlüssel** und Ihre **Hauptdomain** von Ihrer [Lizenzseite](https://nexcmp.com/licenses) — siehe [Lizenz und Kauf](https://nexcmp.com/de/docs/getting-started/license-and-purchase/).
- Ein DNS-Eintrag für die Domain — siehe [DNS und Cloudflare](https://nexcmp.com/de/docs/getting-started/dns-and-cloudflare/). Sie können die Software auch zuerst installieren und das DNS später einrichten; der Installer zeigt Ihnen an, was fehlt, und kann einfach erneut ausgeführt werden.

## Installation {#install}

1. Melden Sie sich am Server an und werden Sie Root (oder stellen Sie `sudo` voran).
2. Führen Sie den Befehl von Ihrer Lizenzseite aus. Er sieht folgendermaßen aus:

```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. Warten Sie auf die Häkchen. Eine Neuinstallation dauert wenige Minuten; der erste Start erstellt das Datenbankschema und kann auf langsamen Festplatten bis zu einer Minute dauern.
4. Lesen Sie die Zusammenfassung am Ende. Sie gibt die Portal- und Admin-URLs, den **Setup-Code** sowie den nächsten Schritt aus.

![Der Installer schließt mit der Portal-URL, der Admin-URL und dem Einmal-Setup-Code ab](https://nexcmp.com/de/docs/images/getting-started/installation-01-finish.webp)

## Parameter {#parameters}

| Parameter | Standard | Bedeutung |
|---|---|---|
| `--license KEY` | bei Erstinstallation erforderlich | Der Lizenzschlüssel. |
| `--domain NAME` | bei Erstinstallation erforderlich | Hauptdomain. Muss zur Lizenz passen. `https://` und angehängte Pfade werden entfernt. |
| `--email ADDRESS` | keine | Kontakt-E-Mail für Let's Encrypt-Ablaufhinweise. Ohne diese wird das Zertifikat ohne E-Mail registriert. |
| `--port N` | `3000` | Lokal Port des Panels (1–65535). |
| `--no-nginx` | aus | Nginx / TLS weder installieren noch konfigurieren. Verwenden Sie dies, wenn Sie einen eigenen Reverse Proxy betreiben oder NexCMP zunächst ansehen möchten. |
| `--behind-cloudflare` | automatisch erkannt | Modus „Die Domain wird von Cloudflare proxied“ erzwingen. Wird normalerweise aus dem DNS erkannt. |
| `--channel NAME` | `stable` | Release-Kanal. |

Das erneute Ausführen des Installers **ohne Parameter** verwendet die gespeicherten Einstellungen (`/etc/nexcmp/install.conf`) wieder und führt ein sicheres Upgrade durch, wobei Daten, Konfiguration und Konten erhalten bleiben. Genau das tut `sudo nexcmp update`.

## Was der Installer tut {#what-the-installer-does}

1. **Überprüft das System** — Ubuntu 22.04/24.04, x86_64, mindestens 2 GB RAM, 8 GB freier Festplattenspeicher.
2. **Installiert Pakete**, die benötigt werden (`curl`, `zstd`, `openssl`, `python3`, `openssh-client` …).
3. **Erstellt den Service-User** `nexcmp` sowie die Verzeichnisse: `/opt/nexcmp` (Programm, im Besitz von root, für den Dienst schreibgeschützt), `/etc/nexcmp` (Konfiguration), `/var/lib/nexcmp` (Daten), `/var/log/nexcmp`.
4. **Aktiviert die Lizenz** für die Domain und speichert eine feste Instanz-ID für diese Maschine.
5. **Lädt das neueste Release herunter, für das Sie berechtigt sind**, und prüft anschließend dessen SHA-256-Prüfsumme sowie die Ed25519-Signatur. Ein Release ohne gültige Signatur wird abgelehnt. Eine bereits laufende, neuere Version wird niemals herabgestuft.
6. **Schreibt Konfiguration und systemd-Units** (`nexcmp`, `nexcmp-vmd`, `nexcmp-update`) und startet die Dienste; wartet, bis `/healthz` antwortet.
7. **Richtet nginx und TLS ein** (sofern nicht `--no-nginx`): Ruft ein Let's-Encrypt-Zertifikat mittels certbot (webroot-Challenge) für die Domain sowie für `admin.<domain>` / `partner.<domain>` ab, falls diese Namen ebenfalls aufgelöst werden. Wenn das DNS noch nicht auf diesen Server (oder Cloudflare) verweist, wird dieser Schritt übersprungen und entsprechend ausgegeben.
8. **Gibt eine Zusammenfassung aus** mit den URLs und — falls noch kein Administrator existiert — dem **Einrichtungscode**.

## Der Port des Panels (3000) {#the-panel-port-3000}

- Während der Erstinstallation lauscht das Panel auf `0.0.0.0:3000`, damit Sie den Einrichtungsassistenten unter `http://<server-IP>:3000/setup` öffnen können.
- Sobald der Assistent abgeschlossen **und** TLS aktiv ist, lauscht das Panel nur noch auf `127.0.0.1`; nginx leitet `https://<domain>` an dieses weiter.
- Für Notfälle (nginx beschädigt, DNS falsch) können Sie den Port für eine begrenzte Zeit öffnen: `sudo nexcmp open-port 30` (30 Minuten, danach schließt er sich selbst) — oder nutzen Sie einen SSH-Tunnel: `ssh -L 3000:127.0.0.1:3000 <server>` und rufen Sie `http://127.0.0.1:3000/` auf.

::: warning Klares HTTP
Port 3000 verwendet unverschlüsseltes HTTP. Verwenden Sie ihn nur für den Einrichtungsassistenten in einem vertrauenswürdigen Netzwerk oder über einen SSH-Tunnel. Lassen Sie ihn nicht offen.
:::

## Installation ohne öffentliche Domain (Test- oder Laborumgebung) {#installing-without-a-public-domain-lab-or-test}

Sie können die Installation auf einer Maschine durchführen, die noch über keinen DNS-Eintrag verfügt:

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

Öffnen Sie den Assistenten anschließend über einen SSH-Tunnel (`ssh -L 3000:127.0.0.1:3000 <server>`, rufen Sie `http://127.0.0.1:3000/setup` auf). Führen Sie den Installer nach dem Einrichten des DNS erneut ohne `--no-nginx` aus.

## Docker und Kubernetes {#docker-and-kubernetes}

Es gibt kein veröffentlichtes Container-Image. Der Installer (eine native systemd-Installation) ist die unterstützte Installationsmethode.

## Verifizierung {#verify}

```bash
sudo nexcmp status
```

Sie sollten die Version, `nexcmp: active`, `nexcmp-vmd: active`, `healthz: ok` und — bis zum Abschluss des Assistenten — den Einrichtungscode sehen. Fahren Sie mit dem [setup wizard](https://nexcmp.com/de/docs/getting-started/setup-wizard/) fort.

Sollte ein Fehler auftreten, lesen Sie unter [Installation errors](https://nexcmp.com/de/docs/troubleshooting/installation-errors/) nach.
