Installation of WHMCS ResellerWorld VPS module
This guide walks through installing and configuring the Virtualizor Cloud module in WHMCS. You will upload module files, add your Virtualizor master as a server, assign it to products, and verify HTTPS and callback settings so VPS orders provision automatically.
Upload the Virtualizor Cloud/Reseller module directory (virtualizor_cloud) into your WHMCS modules/servers/ path, then add your Virtualizor master in WHMCS and assign the module to your product. Test the connection, save the product settings so plans load, and check HTTPS and callbacks. This is about your own WHMCS billing system and your own Virtualizor master, the pair you run to resell VPSes, and not about the Hostworld client area at portal.hostworld.uk.
Before you start
- Admin access to your own WHMCS, and file access to the server it runs on. If that server and your Virtualizor master are Hostworld machines, our VPS guides cover the host side.
- Your Virtualizor master or reseller API key and API password.
- Network access from your WHMCS host to your Virtualizor master on the ports your Virtualizor panel listens on. Check the port numbers in your own Virtualizor panel configuration before you open anything on the firewall.
Step 1: Upload the Virtualizor Cloud/Reseller module to WHMCS
This places the module where WHMCS loads server modules. Upload the directory named virtualizor_cloud into <whmcs_root>/modules/servers/ so that <whmcs_root>/modules/servers/virtualizor_cloud exists. If you also use the standard Virtualizor server module, upload its directory as <whmcs_root>/modules/servers/virtualizor.
Set the directory ownership so the web server user can read it.
AlmaLinux 9
This sets ownership to Apache and applies typical safe permissions. Change the path to your WHMCS install if needed.
chown -R apache:apache /path/to/whmcs/modules/servers/virtualizor_cloud
find /path/to/whmcs/modules/servers/virtualizor_cloud -type d -exec chmod 755 {} \;
find /path/to/whmcs/modules/servers/virtualizor_cloud -type f -exec chmod 644 {} \;
Ubuntu 24.04
This sets ownership to www-data and applies typical safe permissions. Change the path to your WHMCS install if needed.
chown -R www-data:www-data /path/to/whmcs/modules/servers/virtualizor_cloud
find /path/to/whmcs/modules/servers/virtualizor_cloud -type d -exec chmod 755 {} \;
find /path/to/whmcs/modules/servers/virtualizor_cloud -type f -exec chmod 644 {} \;
Step 2: Empty WHMCS’s template cache
This clears stale cached templates so new module UI loads correctly. In WHMCS go to Utilities: System: System Cleanup, then click Empty Template Cache.
Step 3: Add your Virtualizor master in WHMCS and test it
This creates the server entry WHMCS will use. In your own WHMCS admin area, go to Configuration: System Settings: Servers, click Add New Server. Choose the Virtualizor Cloud/Reseller module, enter your Virtualizor master hostname, API key and API password, then click Test Connection. Only the Virtualizor master needs to be added, not slave nodes.
Confirm the WHMCS server can reach the Virtualizor panel.
AlmaLinux 9
This installs curl if needed and performs a HEAD request to the Virtualizor UI on ports 4085 and 4083. Replace the hostname with the same one you used in WHMCS.
dnf -y install curl
curl -Ik https://virt-master.example.com:4085/
curl -Ik https://virt-master.example.com:4083/
Ubuntu 24.04
This installs curl if needed and performs a HEAD request to the Virtualizor UI on ports 4085 and 4083. Replace the hostname with the same one you used in WHMCS.
apt update && apt -y install curl
curl -Ik https://virt-master.example.com:4085/
curl -Ik https://virt-master.example.com:4083/
Step 4: Assign the module to your WHMCS product
This links a product to Virtualizor so orders can provision. Edit the product in WHMCS, open Module Settings, select the Virtualizor Cloud/Reseller module and choose the virtualisation type. Click Save Changes before expecting the Plan list to load. If plans still do not load, make sure the server hostname you added in WHMCS resolves from the WHMCS server and avoid apostrophes in the server name.
Step 5: Match HTTPS and configure callbacks
This prevents embedded consoles breaking and ensures status sync. If your WHMCS runs over HTTPS, configure your Virtualizor panel with HTTPS and a valid hostname to avoid VNC or embed issues in your client area. For callbacks, follow the callback setup in Virtualizor’s own documentation for the module version you have installed, because the file and method differ between the Virtualizor modules.
Step 6: Review automation safety before going live
This avoids deleting live VPSes during testing. In WHMCS go to Configuration: System Settings: Automation Settings and check Enable Termination and Termination Days. WHMCS will run the module’s Terminate command, which deletes the VPS in Virtualizor. Test with a non-production product first.
If it does not work
- Test Connection fails: check that your WHMCS server can reach the Virtualizor master on the ports the panel listens on, use a hostname that resolves from the WHMCS server, and retest. You can verify with curl to https://your-virt-master:4085 and :4083 and expect an HTTP 302. Hosting that blocks outbound ports will cause the test to fail.
- Plans will not load in Module Settings: Click Save Changes after selecting the server and virtualisation type. Ensure the server “hostname/domain” you entered in WHMCS resolves and avoid apostrophes in the server name.
- “Invalid response” or blank actions on orders: Regenerate or adjust the Virtualizor API key so it has all required permissions. Also confirm the module directory is readable by the web server user and empty the WHMCS template cache again.
If the failure is on a Hostworld VPS, for example an outbound port or a hostname that will not resolve, please open a support ticket and tell us the exact error from WHMCS and the time you tested.
What next
If you want the wider picture on mapping plans, product options and callbacks with Virtualizor and WHMCS, start with our VPS guides. If you are building out a new range and need capacity for the master or the nodes, our UK Linux VPSes run in a UK data centre in Maidenhead, Berkshire, and US VPSes run in New York. Both are managed through Virtualizor from your Hostworld client area, and you can ask us for current specifications in a support ticket.
Common questions
Where do I upload the Virtualizor module files?
Upload the virtualizor_cloud directory into your WHMCS installation at modules/servers/virtualizor_cloud. Set ownership to your web server user and apply 755 permissions to directories and 644 to files.
What firewall ports does WHMCS need to reach Virtualizor?
WHMCS must have access to TCP ports 4081 to 4085 on your Virtualizor master for API communication and console access.
Why are plans not loading after I select the module?
Click Save Changes after selecting the server and virtualisation type. Ensure the server hostname resolves from the WHMCS host and contains no apostrophes in the name.
Do I need to add Virtualizor slave nodes in WHMCS?
No, add only your Virtualizor master. WHMCS communicates with the master, which distributes provisioning to slaves.
What should I check before enabling automated termination?
Test with a non-production product first. Enable termination in WHMCS Automation Settings only after confirming the module works correctly, as it will delete VPSes in Virtualizor.