---
title: Installer NexCMP
description: Installez NexCMP sur Ubuntu via le script en une ligne : paramètres, actions réalisées, TLS, nginx et accès à l'assistant de configuration.
url: https://nexcmp.com/fr/docs/getting-started/installation/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# Installer NexCMP {#install-nexcmp}

Le programme d'installation est un script unique fourni par votre serveur de licences. Il vérifie la machine, active votre licence, télécharge et valide le programme, installe les services et configure (facultativement) nginx avec un certificat Let's Encrypt.

## Avant de commencer {#before-you-start}

- Un serveur répondant aux [prérequis](https://nexcmp.com/fr/docs/getting-started/requirements/), et un accès root.
- Votre **clé de licence** et votre **domaine principal** depuis votre [page de licence](https://nexcmp.com/licenses) — voir [Licence et achat](https://nexcmp.com/fr/docs/getting-started/license-and-purchase/).
- Un enregistrement DNS pour le domaine — voir [DNS et Cloudflare](https://nexcmp.com/fr/docs/getting-started/dns-and-cloudflare/). Vous pouvez également commencer par l'installation et corriger le DNS plus tard ; l'installateur vous indique ce qui manque et peut simplement être réexécuté.

## Installation {#install}

1. Connectez-vous au serveur et passez en root (ou préfixez par `sudo`).
2. Exécutez la commande depuis votre page de licence. Elle se présente ainsi :

```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. Attendez la fin des étapes de validation. Une nouvelle installation prend quelques minutes ; le premier démarrage crée le schéma de base de données et peut prendre jusqu'à une minute sur les disques lents.
4. Lisez le récapitulatif à la fin. Il affiche les URL du portail et d'administration, le **code de configuration**, ainsi que l'étape suivante.

![Fin de l'installation affichant l'URL du portail, l'URL d'administration et le code de configuration à usage unique](https://nexcmp.com/fr/docs/images/getting-started/installation-01-finish.webp)

## Paramètres {#parameters}

| Paramètre | Valeur par défaut | Description |
|---|---|---|
| `--license KEY` | requis lors de la première installation | La clé de licence. |
| `--domain NAME` | requis lors de la première installation | Domaine principal. Doit correspondre à la licence. `https://` et les chemins finaux sont supprimés. |
| `--email ADDRESS` | aucun | E-mail de contact pour les avis d'expiration Let's Encrypt. Sans lui, le certificat est enregistré sans e-mail. |
| `--port N` | `3000` | Port local du panneau (1–65535). |
| `--no-nginx` | désactivé | N'installez ni ne configurez nginx / TLS. Utilisez cette option si vous utilisez votre propre reverse proxy ou si vous souhaitez d'abord découvrir NexCMP. |
| `--behind-cloudflare` | détection automatique | Force le mode « le domaine passe par le proxy Cloudflare ». Normalement détecté via le DNS. |
| `--channel NAME` | `stable` | Canal de version. |

Réexécuter le programme d'installation **sans paramètres** réutilise ceux enregistrés (`/etc/nexcmp/install.conf`) et met à niveau en toute sécurité, en conservant les données, la configuration et les comptes. C'est exactement ce que fait `sudo nexcmp update`.

## Actions réalisées par l'installateur {#what-the-installer-does}

1. **Vérifie la machine** — Ubuntu 22.04/24.04, x86_64, au moins 2 Go de RAM, 8 Go d'espace disque disponible.
2. **Installe les paquets** nécessaires (`curl`, `zstd`, `openssl`, `python3`, `openssh-client` …).
3. **Crée l'utilisateur de service** `nexcmp` et les répertoires: `/opt/nexcmp` (programme, appartenant à root, en lecture seule pour le service), `/etc/nexcmp` (configuration), `/var/lib/nexcmp` (données), `/var/log/nexcmp`.
4. **Active la licence** pour le domaine et enregistre un ID d'instance fixe pour cette machine.
5. **Télécharge la version la plus récente à laquelle vous avez droit**, puis vérifie son empreinte SHA-256 et sa signature Ed25519. Une version sans signature valide est refusée. Il ne rétrograde jamais une version en cours d'exécution plus récente.
6. **Écrit la configuration et les unités systemd** (`nexcmp`, `nexcmp-vmd`, `nexcmp-update`) et démarre les services; il attend que `/healthz` réponde.
7. **Configure nginx et TLS** (sauf `--no-nginx`): obtient un certificat Let's Encrypt avec certbot (challenge webroot) pour le domaine et pour `admin.<domain>` / `partner.<domain>` lorsque ces noms sont également résolus. Si le DNS ne pointe pas encore vers ce serveur (ou Cloudflare), il ignore cette étape et le signale.
8. **Affiche un récapitulatif** avec les URL et, si aucun administrateur n'existe encore, le **code de configuration**.

## Le port du panel (3000) {#the-panel-port-3000}

- Lors de la première installation, le panel écoute sur `0.0.0.0:3000` pour que vous puissiez ouvrir l'assistant de configuration sur `http://<server-IP>:3000/setup`.
- Une fois l'assistant terminé **et** TLS actif, le panel écoute uniquement sur `127.0.0.1`; nginx relaie `https://<domain>` vers celui-ci.
- En cas d'urgence (nginx en panne, DNS incorrect), vous pouvez ouvrir le port pendant une durée limitée: `sudo nexcmp open-port 30` (30 minutes, puis il se referme de lui-même) — ou utiliser un tunnel SSH: `ssh -L 3000:127.0.0.1:3000 <server>` et ouvrir `http://127.0.0.1:3000/`.

::: warning HTTP en clair
Le port 3000 est en HTTP en clair. Utilisez-le uniquement pour l'assistant de configuration sur un réseau de confiance, ou via un tunnel SSH. Ne le laissez pas ouvert.
:::

## Installation sans domaine public (lab ou test) {#installing-without-a-public-domain-lab-or-test}

Vous pouvez effectuer l'installation sur une machine sans DNS pour le moment:

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

Ouvrez ensuite l'assistant via un tunnel SSH (`ssh -L 3000:127.0.0.1:3000 <server>`, accédez à `http://127.0.0.1:3000/setup`). Réexécutez l'installateur sans `--no-nginx` une fois le DNS configuré.

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

Aucune image de conteneur n'est publiée. L'installateur (une installation systemd native) est la méthode d'installation prise en charge.

## Vérification {#verify}

```bash
sudo nexcmp status
```

Vous devriez voir la version, `nexcmp: active`, `nexcmp-vmd: active`, `healthz: ok` et — jusqu'à ce que l'assistant soit terminé — le code de configuration. Poursuivez avec l'[assistant de configuration](https://nexcmp.com/fr/docs/getting-started/setup-wizard/).

Si un problème survient, consultez [Erreurs d'installation](https://nexcmp.com/fr/docs/troubleshooting/installation-errors/).
