Virtualizor is a commercial VPS control panel used by many hosting providers to sell KVM VPS. Compared with plain Proxmox VE, it adds what a VPS business needs out of the box: plans, IP pools, OS templates, a customer panel with console, reinstall and power buttons, bandwidth accounting and a WHMCS module for automatic provisioning. This guide covers preparing a dedicated server, installing Virtualizor with KVM, adding storage and an IP pool, downloading OS templates, creating plans and your first VPS, and the customer panel.
grep -cE 'vmx|svm' /proc/cpuinfo must return a number greater than 0.# Example: dedicate a second disk /dev/sdb to VPS storage as volume group "vg_vps"
pvcreate /dev/sdb
vgcreate vg_vps /dev/sdb
vgs
wget -N https://files.virtualizor.com/install.sh
chmod 0755 install.sh
./install.sh [email protected] kernel=kvm
The installer downloads the panel and its dependencies, configures KVM and networking, and prints the admin panel address and the location of its log file when it finishes. Reboot the server afterwards. If the installation stops with an error, read the log it names before trying again.
The admin panel listens on port 4085 (HTTPS) and the customer panel on port 4083 (HTTPS). Log in to https://SERVER_IP:4085 with the server's root username and password.
# firewalld (AlmaLinux / Rocky Linux)
firewall-cmd --permanent --add-port=4081-4085/tcp
firewall-cmd --reload
# ufw (Ubuntu)
ufw allow 4081:4085/tcp
Restrict the admin port to your own IP addresses once everything works, and keep the customer port open to the public.
In the admin panel open Storage → Add Storage, choose type LVM, enter the volume group path (for example /dev/vg_vps), give it a name and mark it as the primary storage. File-based storage (a directory with qcow2 images) is also possible, but LVM gives better and more predictable disk performance.
Open IP Pool → Create IP Pool and enter the block you will hand out to VPS: the gateway, the netmask, the nameservers (for example 1.1.1.1 and 8.8.8.8), and the first and last usable IPs. Exclude the network address, the gateway and the broadcast address. Add a separate IPv6 pool if you have an IPv6 subnet.
If your IPs are bound to the server's MAC address or routed to the main IP, the default bridged networking may not work for VPS; ask your provider which model applies and configure Virtualizor's network settings accordingly.
Go to Media → OS Templates, open the list of available templates and download the distributions you want to offer, such as AlmaLinux, Rocky Linux, Debian and Ubuntu. Downloads run in the background; the templates appear for VPS creation once they finish. Windows templates require you to supply your own installation media and licenses.
Customers log in at https://SERVER_IP:4083 with the user account you created. They can start, stop and restart their VPS, open the VNC console, reinstall the OS, change the root password, see bandwidth and resource graphs, and manage reverse DNS if you enable it. For a polished setup, put the panel behind your own hostname with a valid SSL certificate.
Virtualizor provides a WHMCS module. After uploading it to your WHMCS installation, add the Virtualizor server in WHMCS with the API credentials generated in the Virtualizor admin panel, then create products linked to your Virtualizor plans. New orders are then provisioned automatically, and suspensions, terminations and upgrades are passed to Virtualizor. Follow Virtualizor's WHMCS module documentation for the exact steps of your version.
Check that the IP pool's gateway and netmask match your provider's delivery information, that the IP is not used elsewhere, and whether your upstream binds IPs to MAC addresses. Also check the host firewall: rules that block forwarding on the bridge stop all VPS traffic.
Make sure the volume group has enough free space (vgs), that the storage path in the panel is correct, and that the OS template has finished downloading.
Yes. Install Virtualizor on each additional server as a slave and add it to the master panel; you then manage all nodes, plans and IP pools from one place.
Still stuck after following these steps? Open a support ticket and the IMIDC 24/7 technical team will help. Include the server IP, the OS version, the step where it failed and the relevant part of the Virtualizor log or the full error message so we can pinpoint the issue faster.