NexCMP のインストール
インストーラーは、ライセンスサーバーから提供される単一のスクリプトです。マシンのチェック、ライセンスのアクティベーション、プログラムのダウンロードと検証、サービスのインストール、および(オプションで)Let's Encrypt 証明書を使用した nginx のセットアップを行います。
始める前に
- requirements を満たすサーバーと root アクセス権限。
- license page からのライセンスキーとメインドメイン — License and purchase を参照してください。
- ドメインの DNS レコード — DNS and 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- チェックマークが表示されるまで待ちます。クリーンインストールには数分かかります。初回起動時にはデータベーススキーマが作成されるため、低速なディスクでは最大 1 分ほどかかることがあります。
- 最後にまとめをお読みください。ポータルおよび管理画面の URL、セットアップコード、および次の手順が表示されます。

パラメータ
| パラメータ | デフォルト | 意味 |
|---|---|---|
--license KEY | 初回インストール時に必須 | ライセンスキー。 |
--domain NAME | 初回インストール時に必須 | メインドメイン。ライセンスと一致している必要があります。https:// および末尾のパスは削除されます。 |
--email ADDRESS | なし | Let's Encrypt の有効期限通知用の連絡先メールアドレス。指定しない場合、証明書はメールアドレスなしで登録されます。 |
--port N | 3000 | パネルのローカルポート(1~65535)。 |
--no-nginx | オフ | nginx / TLS のインストールや設定を行いません。独自ののリバースプロキシを実行している場合や、まず NexCMP を確認したい場合に使用します。 |
--behind-cloudflare | 自動検出 | 「ドメインが Cloudflare でプロキシされている」モードを強制します。通常は DNS から検出されます。 |
--channel NAME | stable | リリースチャネル。 |
パラメータを指定せずにインストーラーを再度実行すると、保存された設定(/etc/nexcmp/install.conf)が再利用され、データ、設定、アカウントを維持したまま安全にアップグレードされます。それこそが sudo nexcmp update が行っていることです。
インストーラーの動作
- マシンのチェック — Ubuntu 22.04/24.04、x86_64、2 GB 以上の RAM、8 GB 以上の空きディスク。
- 必要なパッケージをインストールします(
curl、zstd、openssl、python3、openssh-clientなど)。 - サービスユーザー
nexcmpおよび以下のディレクトリを作成します:/opt/nexcmp(プログラム、root所有、サービスからは読み取り専用)、/etc/nexcmp(設定)、/var/lib/nexcmp(データ)、/var/log/nexcmp。 - ドメインのライセンスを有効化し、このマシンの固定インスタンスIDを保存します。
- 利用可能な最新のリリースをダウンロードし、SHA-256およびEd25519署名を検証します。有効な署名がないリリースは拒否されます。新しく実行中のバージョンをダウングレードすることはありません。
- 設定とsystemdユニット(
nexcmp、nexcmp-vmd、nexcmp-update)を書き込んでサービスを起動し、/healthzからの応答を待ちます。 - nginxとTLSをセットアップします(
--no-nginxでない限り):certbot(webrootチャレンジ)を使用して、ドメインおよびその名前も名前解決する場合はadmin.<domain>/partner.<domain>用のLet's Encrypt証明書を取得します。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にアクセス)。DNSが設定されたら、--no-nginxなしでインストーラーを再実行します。
DockerおよびKubernetes
公開されたコンテナイメージはありません。インストーラー(ネイティブなsystemdインストール)がサポート対象のインストール方法です。
確認
bash
sudo nexcmp statusバージョン、nexcmp: active、nexcmp-vmd: active、healthz: ok、およびウィザードが完了するまではセットアップコードが表示されるはずです。setup wizardに進みます。
何らかの問題が発生した場合は、Installation errorsを参照してください。