Skip to content

Install the management server

The management server runs the VirtConsole panel, its database and the APIs. Install it once, on a clean server you own.

Run the command as root. Debian images log you in as root and do not ship sudo. On a host where you are not root and sudo is available, pipe to sudo bash instead of bash.

Terminal window
curl -fsSL https://packages.virtconsole.com/master/install.sh | bash

The installer detects your OS automatically. It supports:

  • Debian 11, 12, 13
  • Ubuntu 22.04, 24.04, 26.04 LTS
  • RHEL-family 9 and 10 (CentOS Stream, Rocky Linux, AlmaLinux)

On anything else it exits with an “Unsupported distro” message.

The installer installs nginx, PHP-FPM, MariaDB, Redis, supervisor and cron, downloads and verifies the signed release archive, then serves the panel on port 443 with a self-signed certificate.

The old per-OS scripts (install.debian.sh, install.ubuntu.sh, install.rhel.sh) still exist and run install.sh under the hood, so earlier bookmarks and scripts keep working.

Terminal window
vcli admin:create-user

The command asks for a name, email and password, then prints the credentials. Use them to log in to the panel.

The installer serves the panel on port 443 with a self-signed certificate. Replace it with a trusted one using acme.sh:

Terminal window
wget https://raw.githubusercontent.com/acmesh-official/acme.sh/refs/heads/master/acme.sh -O /opt/virtconsole/storage/acme.sh
chmod +x /opt/virtconsole/storage/acme.sh
cd /opt/virtconsole/storage
./acme.sh --register-account -m "you@example.com" --home /etc/nginx/ssl
./acme.sh --issue -d panel.example.com -w /opt/virtconsole/public --home /etc/nginx/ssl
./acme.sh --installcert -d panel.example.com --home /etc/nginx/ssl \
--keypath /opt/virtconsole/storage/ssl/hypervisor.key \
--fullchainpath /opt/virtconsole/storage/ssl/hypervisor.crt \
--reloadcmd "systemctl restart nginx"

Add a daily renewal cron:

Terminal window
echo "root 0 0 * * * /opt/virtconsole/storage/acme.sh --cron --home /etc/nginx/ssl\n\n" > /etc/cron.d/acme.cron
  1. Open https://panel.example.com in a browser. The VirtConsole login page loads without certificate warnings.
  2. On the server, run systemctl status nginx. The service is active (running).
  3. Log in with the admin account you created. The dashboard opens.

Activate your license and connect your first hypervisor: follow the quick setup.

  • The installer stops on a package error. Make sure the server is clean. Existing PHP, nginx or Redis installs conflict with the installer.
  • The login page loads but login fails. Confirm you created the admin user on the right server and that the queue worker is running (systemctl status shows the VirtConsole services).