---
title: Instalar NexCMP
description: Instale NexCMP en Ubuntu con el instalador de una línea — parámetros, qué hace el instalador, TLS y nginx, y cómo acceder al asistente de configuración.
url: https://nexcmp.com/es/docs/getting-started/installation/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# Instalar NexCMP {#install-nexcmp}

El instalador es un único script servido por su servidor de licencias. Comprueba la máquina, activa su licencia, descarga y verifica el programa, instala los servicios y (opcionalmente) configura nginx con un certificado de Let's Encrypt.

## Antes de comenzar {#before-you-start}

- Un servidor que cumpla los [requisitos](https://nexcmp.com/es/docs/getting-started/requirements/) y acceso root.
- Su **clave de licencia** y **dominio principal** de su [página de licencia](https://nexcmp.com/licenses) — consulte [Licencia y compra](https://nexcmp.com/es/docs/getting-started/license-and-purchase/).
- Un registro DNS para el dominio — consulte [DNS y Cloudflare](https://nexcmp.com/es/docs/getting-started/dns-and-cloudflare/). También puede instalar primero y corregir el DNS más tarde; el instalador le indicará qué falta y simplemente puede ejecutarse de nuevo.

## Instalación {#install}

1. Inicie sesión en el servidor y acceda como root (o anteponga `sudo`).
2. Ejecute el comando de su página de licencia. Tiene este aspecto:

```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. Espere a que aparezcan las marcas de verificación. Una instalación limpia tarda unos minutos; el primer inicio crea el esquema de la base de datos y puede tardar hasta un minuto en discos lentos.
4. Lea el resumen al final. Muestra las URL del portal y de administración, el **código de configuración** y el siguiente paso.

![El instalador finalizando con la URL del portal, la URL de administración y el código de configuración de un solo uso](https://nexcmp.com/es/docs/images/getting-started/installation-01-finish.webp)

## Parámetros {#parameters}

| Parámetro | Predeterminado | Significado |
|---|---|---|
| `--license KEY` | obligatorio en la primera instalación | La clave de licencia. |
| `--domain NAME` | obligatorio en la primera instalación | Dominio principal. Debe coincidir con la licencia. Se eliminan `https://` y las rutas finales. |
| `--email ADDRESS` | ninguno | Correo electrónico de contacto para avisos de caducidad de Let's Encrypt. Sin él, el certificado se registra sin correo electrónico. |
| `--port N` | `3000` | Puerto local del panel (1–65535). |
| `--no-nginx` | desactivado | No instala ni configura nginx / TLS. Utilice esta opción si ejecuta su propio proxy inverso o desea probar NexCMP primero. |
| `--behind-cloudflare` | detectado automáticamente | Fuerza el modo "el dominio pasa por el proxy de Cloudflare". Normalmente se detecta a partir del DNS. |
| `--channel NAME` | `stable` | Canal de versiones. |

Ejecutar el instalador de nuevo **sin parámetros** reutiliza los guardados (`/etc/nexcmp/install.conf`) y actualiza de forma segura, manteniendo los datos, la configuración y las cuentas. Eso es exactamente lo que hace `sudo nexcmp update`.

## Qué hace el instalador {#what-the-installer-does}

1. **Comprueba la máquina** — Ubuntu 22.04/24.04, x86_64, al menos 2 GB de RAM, 8 GB de disco libre.
2. **Instala los paquetes** necesarios (`curl`, `zstd`, `openssl`, `python3`, `openssh-client` …).
3. **Crea el usuario de servicio** `nexcmp` y los directorios: `/opt/nexcmp` (programa, propiedad de root, solo lectura para el servicio), `/etc/nexcmp` (configuración), `/var/lib/nexcmp` (datos), `/var/log/nexcmp`.
4. **Activa la licencia** para el dominio y almacena un ID de instancia fijo para esta máquina.
5. **Descarga la versión más reciente a la que tiene derecho**, luego verifica su SHA-256 y su firma Ed25519. Se rechaza cualquier versión sin una firma válida. Nunca degrada una versión más reciente en ejecución.
6. **Escribe la configuración y las unidades de systemd** (`nexcmp`, `nexcmp-vmd`, `nexcmp-update`) e inicia los servicios; espera a que `/healthz` responda.
7. **Configura nginx y TLS** (a menos que `--no-nginx`): obtiene un certificado de Let's Encrypt con certbot (desafío webroot) para el dominio y para `admin.<domain>` / `partner.<domain>` cuando esos nombres también resuelven. Si el DNS aún no apunta a este servidor (o a Cloudflare), omite este paso y lo notifica.
8. **Muestra un resumen** con las URL y, si aún no existe un administrador, el **setup code**.

## El puerto del panel (3000) {#the-panel-port-3000}

- Durante la primera instalación, el panel escucha en `0.0.0.0:3000` para que pueda abrir el asistente de configuración en `http://<server-IP>:3000/setup`.
- Una vez finalizado el asistente **y** cuando TLS esté activo, el panel solo escucha en `127.0.0.1`; nginx actúa como proxy de `https://<domain>` hacia él.
- En caso de emergencia (nginx dañado, DNS incorrecto), puede abrir el puerto durante un tiempo limitado: `sudo nexcmp open-port 30` (30 minutos, luego se cierra automáticamente) — o usar un túnel SSH: `ssh -L 3000:127.0.0.1:3000 <server>` y navegar a `http://127.0.0.1:3000/`.

::: warning HTTP sin cifrar
El puerto 3000 es HTTP sin cifrar. Úselo únicamente para el asistente de configuración en una red de confianza o mediante un túnel SSH. No lo deje abierto.
:::

## Instalación sin un dominio público (laboratorio o pruebas) {#installing-without-a-public-domain-lab-or-test}

Puede realizar la instalación en una máquina que aún no tenga DNS:

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

A continuación, abra el asistente mediante un túnel SSH (`ssh -L 3000:127.0.0.1:3000 <server>`, acceda a `http://127.0.0.1:3000/setup`). Vuelva a ejecutar el instalador sin `--no-nginx` una vez que exista el DNS.

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

No existe una imagen de contenedor publicada. El instalador (una instalación nativa de systemd) es el método de instalación admitido.

## Verificación {#verify}

```bash
sudo nexcmp status
```

Debería ver la versión, `nexcmp: active`, `nexcmp-vmd: active`, `healthz: ok` y —hasta que finalice el asistente— el setup code. Continúe con el [asistente de configuración](https://nexcmp.com/es/docs/getting-started/setup-wizard/).

Si algo falla, consulte [Errores de instalación](https://nexcmp.com/es/docs/troubleshooting/installation-errors/).
