Instalar 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
- Un servidor que cumpla los requisitos y acceso root.
- Su clave de licencia y dominio principal de su página de licencia — consulte Licencia y compra.
- Un registro DNS para el dominio — consulte DNS y 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
- Inicie sesión en el servidor y acceda como root (o anteponga
sudo). - 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- 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.
- Lea el resumen al final. Muestra las URL del portal y de administración, el código de configuración y el siguiente paso.

Parámetros
| 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
- Comprueba la máquina — Ubuntu 22.04/24.04, x86_64, al menos 2 GB de RAM, 8 GB de disco libre.
- Instala los paquetes necesarios (
curl,zstd,openssl,python3,openssh-client…). - Crea el usuario de servicio
nexcmpy los directorios:/opt/nexcmp(programa, propiedad de root, solo lectura para el servicio),/etc/nexcmp(configuración),/var/lib/nexcmp(datos),/var/log/nexcmp. - Activa la licencia para el dominio y almacena un ID de instancia fijo para esta máquina.
- 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.
- Escribe la configuración y las unidades de systemd (
nexcmp,nexcmp-vmd,nexcmp-update) e inicia los servicios; espera a que/healthzresponda. - 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 paraadmin.<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. - Muestra un resumen con las URL y, si aún no existe un administrador, el setup code.
El puerto del panel (3000)
- Durante la primera instalación, el panel escucha en
0.0.0.0:3000para que pueda abrir el asistente de configuración enhttp://<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 dehttps://<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 ahttp://127.0.0.1:3000/.
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)
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-nginxA 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
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
bash
sudo nexcmp statusDeberí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.
Si algo falla, consulte Errores de instalación.