Установить NexCMP
Инсталлятор представляет собой единый скрипт, предоставляемый вашим сервером лицензий. Он проверяет систему, активирует лицензию, скачивает и проверяет программу, устанавливает службы и (опционально) настраивает nginx с сертификатом Let's Encrypt.
Перед началом
- Сервер, соответствующий требованиям, и root-доступ.
- Ваш лицензионный ключ и основной домен со страницы лицензии — см. Лицензия и покупка.
- DNS-запись для домена — см. DNS и Cloudflare. Вы также можете сначала выполнить установку, а DNS настроить позже: инсталлятор сообщит, чего не хватает, и его можно будет просто запустить снова.
Установка
- Войдите на сервер и переключитесь на пользователя root (или используйте префикс
sudo). - Выполните команду со страницы вашей лицензии. Она выглядит следующим образом:
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- Дождитесь появления отметок об успешном выполнении. Чистая установка занимает несколько минут; при первом запуске создается схема базы данных, что на медленных дисках может занять до одной минуты.
- Ознакомьтесь с итоговыми данными в конце. Там выводятся URL-адреса портала и панели администратора, код настройки и дальнейшие действия.

Параметры
| Параметр | По умолчанию | Значение |
|---|---|---|
--license KEY | обязательно при первой установке | Лицензионный ключ. |
--domain NAME | обязательно при первой установке | Основной домен. Должен совпадать с указанным в лицензии. https:// и завершающие пути отсекаются. |
--email ADDRESS | нет | Контактный e-mail для уведомлений Let's Encrypt об истечении срока действия. Без него сертификат регистрируется без e-mail. |
--port N | 3000 | Локальный порт панели (1–65535). |
--no-nginx | отключено | Не устанавливать и не настраивать nginx / TLS. Используйте этот параметр, если вы настраиваете собственный reverse proxy или хотите сначала ознакомиться с NexCMP. |
--behind-cloudflare | определяется автоматически | Принудительно включить режим «домен проксируется через Cloudflare». Обычно определяется по DNS. |
--channel NAME | stable | Канал релизов. |
Повторный запуск инсталлятора без параметров использует сохраненные значения (/etc/nexcmp/install.conf) и безопасно обновляет систему, сохраняя данные, конфигурацию и учетные записи. Именно это и выполняет sudo nexcmp update.
Что делает инсталлятор
- Проверяет сервер — Ubuntu 22.04/24.04, x86_64, не менее 2 ГБ RAM, 8 ГБ свободного дискового пространства.
- Устанавливает необходимые пакеты (
curl,zstd,openssl,python3,openssh-client…). - Создает сервисного пользователя
nexcmpи каталоги:/opt/nexcmp(программа, владелец — root, доступ сервису только для чтения),/etc/nexcmp(конфигурация),/var/lib/nexcmp(данные),/var/log/nexcmp. - Активирует лицензию для домена и сохраняет фиксированный идентификатор экземпляра для этой машины.
- Загружает последний доступный вам релиз, затем проверяет его хэш SHA-256 и подпись Ed25519. Релиз без корректной подписи отклоняется. Установщик никогда не понижает версию запущенной системы.
- Записывает конфигурацию и юниты systemd (
nexcmp,nexcmp-vmd,nexcmp-update) и запускает службы; затем ожидает ответа от/healthz. - Настраивает nginx и TLS (если не указан флаг
--no-nginx): получает сертификат Let's Encrypt с помощью certbot (проверка webroot) для основного домена и дляadmin.<domain>/partner.<domain>, если эти имена также резолвятся. Если DNS еще не указывает на этот сервер (или Cloudflare), этот шаг пропускается с выводом уведомления. - Выводит сводку с URL-адресами и, если администратор еще не создан, код первоначальной настройки.
Порт панели (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/.
Обычный HTTP
Порт 3000 работает по обычному протоколу HTTP. Используйте его только для мастера первоначальной настройки в доверенной сети или через SSH-туннель. Не оставляйте его открытым.
Установка без публичного домена (лаборатория или тестирование)
Вы можете выполнить установку на сервере без настроенного 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
Готовые образы контейнеров не публикуются. Поддерживаемый способ установки — инсталлятор (нативная установка systemd).
Проверка
bash
sudo nexcmp statusНа экране должны отображаться версия, nexcmp: active, nexcmp-vmd: active, healthz: ok и — до завершения работы мастера — код первоначальной настройки. Перейдите к мастеру первоначальной настройки.
В случае сбоя см. раздел Ошибки при установке.