KoaVM
Pagine della guida

Guida · Per gli amministratori

Installazione

Un comando

Su un server Debian 12 o 13 o Ubuntu 22.04 o 24.04 pulito (x86_64), come root:

curl -fsSL https://koavm.com/install.sh | sudo bash -s -- --domain vm.tuodominio.it --email tu@tuodominio.it

Lo script:

  • scarica l'ultima versione stabile e controlla la firma di Prime Software e lo SHA-256 del binario (se non tornano si ferma);
  • crea l'utente di sistema koavm, la cartella dei dati /var/lib/koavm e il binario /usr/local/bin/koavm (tiene la versione precedente in koavm.prev);
  • crea il servizio koavm (con permessi ristretti: scrive solo nella sua cartella) e il servizio koavm-update, che installa gli aggiornamenti chiesti dal pannello;
  • alla prima installazione crea il primo amministratore con l'email indicata e stampa l'indirizzo del pannello e la password.

Con --domain il pannello chiede da solo il certificato HTTPS a Let's Encrypt: il nome deve già puntare al server e le porte 80 e 443 devono essere aperte. Si possono dare più nomi separati da virgola. Senza dominio il pannello ascolta in HTTP sulla porta 8080: va bene solo per le prove.

Entra su https://vm.tuodominio.it/admin e cambia la password da Account › Cambia password. Il pannello parte in prova gratuita (30 giorni, 1 nodo e 5 VPS, tutte le funzioni): vedi Licenza.

La chiave pubblica con cui lo script controlla le versioni è Qy8Qnz5WmH1yb5tL9KBB1Q0teUZI4eI3zWfnl3iULQ8= (ed25519, la stessa del pannello): prima di lanciarlo puoi scaricare lo script e controllare che RELEASE_PUB la contenga.

Rilanciare lo stesso comando aggiorna il pannello all'ultima versione senza toccare i dati (gli aggiornamenti si fanno di solito dal pannello, vedi Aggiornamenti).

A mano

curl -fsSL https://koavm.com/releases/koavm-latest-linux-amd64.gz | gunzip > koavm
curl -fsSLO https://koavm.com/releases/install.sh
sudo bash install.sh ./koavm vm.tuodominio.it
sudo -u koavm koavm user add --data /var/lib/koavm --email tu@esempio.it --name "Il tuo nome" --role admin

koavm-latest è sempre l'ultima versione stabile; ognuna resta scaricabile come koavm-VERSIONE-linux-amd64.gz. L'ultimo comando crea un amministratore e stampa la password.

Un pannello demo

koavm demo avvia un pannello di prova completo senza server: 4 nodi e 13 VPS simulati in memoria, con clienti, backup, snapshot, grafici delle ultime 24 ore e traffico dell'ultimo mese. Serve per far provare il pannello a chi non è ancora cliente (è la demo di demo.koavm.com).

koavm demo --data /var/lib/koavm-demo --accounts /etc/koavm-demo/accessi --listen 127.0.0.1:8098 --reset 3h --domain demo.tuodominio.it
  • Nel file degli accessi c'è una riga per account: admin email password Nome oppure client email password Nome. Il pannello mostra all'amministratore della demo l'accesso del primo cliente, per provare anche l'area clienti.
  • Nella demo si possono creare, accendere, spegnere, ridimensionare e spostare VPS fra nodi, fare backup e snapshot, usare reti private, firewall, load balancer, router, DNS e la console testuale. Restano bloccati impostazioni, licenza, aggiornamenti, aggiunta e rimozione dei nodi, password, chiavi API, team e fornitori; al massimo 60 VPS.
  • Dopo --reset (di base 3 ore) il programma esce e riparte da zero con il servizio (Restart=always): ogni visitatore trova la demo come all'inizio. La cartella --data si svuota a ogni avvio, quindi non usare mai quella di un pannello vero (il comando si ferma se non è vuota e non è di una demo).
  • La demo non apre connessioni verso l'esterno e non manda email: va dietro a nginx o Caddy con HTTPS, che passa l'indirizzo del visitatore in X-Real-IP.

Dove sono le cose

CosaDove
Binario/usr/local/bin/koavm (precedente: koavm.prev)
Dati e database/var/lib/koavm (koavm.db)
Opzioni di avvio/etc/default/koavm (KOAVM_ARGS=--domain vm.tuodominio.it)
Registrojournalctl -u koavm
Copie del database prima degli aggiornamenti/var/lib/koavm/koavm-prima-VERSIONE.db

Fai una copia di /var/lib/koavm insieme ai backup del server: contiene il database, il certificato con cui il pannello parla ai nodi e la chiave SSH del pannello.