KVM / libvirt VPS control panel

Get your dedicated server
ready for VM Panel

Everything you need to prepare a fresh dedicated server — OS & partition requirements, supported storage, and the one-line installer.

root@your-server:~#
curl -fsSL https://vmpanel.cpanelseller.xyz/install.sh | bash -s -- key=YOUR-LICENSE-KEY
01

OS & Hardware Requirements

Operating System

  • 64-bit Linux, fresh minimal install, with root / sudo access
  • Enterprise Linux family: AlmaLinux / Rocky / RHEL / CentOS Stream 9–10
  • Debian family: Debian 11–13, Ubuntu 20.04 / 22.04 / 24.04 LTS
  • PHP 8.3+, MariaDB, nginx, qemu-kvm & libvirt are installed automatically
AlmaLinux 9/10Rocky 9/10Debian 12/13Ubuntu 22/24

Hardware / Virtualization

  • Hardware virtualization required — Intel VT-x or AMD-V enabled in BIOS
  • Bare-metal / dedicated server, or a VM with nested virtualization
  • Minimum 2 vCPU / 4 GB RAM — 8 GB+ recommended for real workloads
  • Verify: egrep -c '(vmx|svm)' /proc/cpuinfo must be > 0
02

Partition Requirements & Scheme

Recommended Partition Scheme

Create these partitions when you install the OS on the dedicated server (single-disk example):

Mount pointSizeFilesystemPurpose
/boot/efi512 MBFAT32 (vfat)EFI system partition — UEFI servers only
/boot1 GBext4Kernel & initramfs
swap2–8 GBswapSwap (≈ RAM, capped at 8 GB)
/40 GBxfs or ext4OS, VM Panel, PHP, nginx, MariaDB
/varRemaining diskxfsVM disks, OS templates, backups & logs — put your largest, fastest storage here
ℹ️VM Panel writes guest disks to /var/www/vmpanel/storage/vms and OS templates to /var/lib/vmpanel/templates — both live under /var, so one large /var partition holds all heavy VM data. Prefer simplicity? Skip the separate /var and give / the whole disk instead.

Sizing & Notes

  • Minimum: 2 vCPU, 4 GB RAM, ~60 GB disk — but VM storage is what you'll actually fill, so size /var generously
  • Use xfs for /var — it handles large sparse qcow2 images better than ext4
  • BIOS / legacy (non-UEFI) servers: drop /boot/efi and add a small bios_grub partition instead
  • NVMe / SSD RAID under /var is ideal for guest disk I/O
03

Supported Storage Types

Storage Backend

  • Local disk, qcow2 image files (default backend)
  • VM disks are copy-on-write overlays on a shared cached OS base — new VMs & reinstalls are near-instant
  • Thin-provisioned: guests only consume the space they actually write
  • SSD / NVMe strongly recommended for guest I/O

Filesystems & Layout

  • OS template cache: /var/lib/vmpanel/templates
  • Per-VM overlay disks provisioned as sparse .qcow2
  • Supported: xfs, ext4 local filesystems
  • Not yet supported: LVM / Ceph / ZFS volume backends
04

Installation

One-line install

Run as root on the prepared server. The installer sets up qemu-kvm/libvirt, PHP, MariaDB & nginx, opens HTTP/HTTPS, downloads the panel, runs migrations and activates your license.

install.sh
curl -fsSL https://vmpanel.cpanelseller.xyz/install.sh | bash -s -- key=YOUR-LICENSE-KEY network=bridge bridge_name=br0
📄Full installer output is logged to /var/log/vmpanel-install.log. Your license key locks to this server's public IP on first activation.
05

Installation Parameters

ParameterRequiredDefaultDescription
key=REQUIREDYour VM Panel license key
network=optionalnatGuest networking mode: nat or bridge
bridge_name=optionalvmbr0Bridge interface, used when network=bridge (e.g. br0)
app_dir=optional/var/www/vmpanelInstall directory for the panel
06

Troubleshoot

KVM not available / “no acceleration”
Enable Intel VT-x / AMD-V in BIOS. Confirm egrep -c '(vmx|svm)' /proc/cpuinfo > 0 and that /dev/kvm exists.
License activation failed
The key is likely bound to another server's IP. Use Reset binding on the license in this panel, and ensure the server can reach vmpanel.cpanelseller.xyz over HTTPS.
Install failed midway
Read the last lines of /var/log/vmpanel-install.log — the installer prints the failing step there.
Panel shows HTTP 500
Check storage/logs/laravel.log, and that php-fpm and libvirtd are running. On RHEL family, check SELinux denials in /var/log/audit/audit.log.
VMs won't start / no networking
systemctl status libvirtd must be active. For bridge mode, make sure the bridge you named actually exists on the host.
Slow first VM create
The OS template downloads once, then caches. Pre-warm images from OS Templates → Download to node so later builds are instant.