Personal tools
Namespaces

Variants
Actions

Vultr VPS For WHMCS

From ModulesGarden Wiki
(Difference between revisions)
Jump to: navigation, search
(Configuration of Server)
 
(175 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
<meta name="keywords" content="vultr vps for whmcs, vultr vps configuration, whmcs vultr vps management, whmcs vultr vps installation, whmcs vultr vps common problems, about whmcs vultr vps, whmcs vultr vps documentation, whmcs vultr vps faq, whmcs vultr vps help, whmcs vultr vps guide, whmcs vultr vps wiki, whmcs vultr vps tutorial, whmcs vultr vps tips, whmcs vultr vps wiki"></meta>
 
<meta name="keywords" content="vultr vps for whmcs, vultr vps configuration, whmcs vultr vps management, whmcs vultr vps installation, whmcs vultr vps common problems, about whmcs vultr vps, whmcs vultr vps documentation, whmcs vultr vps faq, whmcs vultr vps help, whmcs vultr vps guide, whmcs vultr vps wiki, whmcs vultr vps tutorial, whmcs vultr vps tips, whmcs vultr vps wiki"></meta>
 
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The Vultr VPS For WHMCS Module."></meta>
 
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The Vultr VPS For WHMCS Module."></meta>
 +
 +
<h4 style="color: #ff0000; font-weight:bold; text-align:center;">Updating your Vultr VPS For WHMCS module to version 2.0.0?<br/> Make sure to follow the [[#Update_Instructions|update instruction]].
 +
</h4>
  
 
=About [https://www.modulesgarden.com/products/whmcs/vultr-vps Vultr VPS For WHMCS]=
 
=About [https://www.modulesgarden.com/products/whmcs/vultr-vps Vultr VPS For WHMCS]=
 
{|
 
{|
|style="padding: 10px 0px 10px 0px;"|'''Vultr VPS For WHMCS''' is a module which allows automatic management of Vultr VPS servers. <br/>
+
|style="padding: 10px 0px 10px 0px;"|'''Vultr VPS For WHMCS''' is a module that allows fully automated management of Vultr VPS servers. <br/>
The module will allow your clients to remotely control the status of a server, access the console, and rebuild the VPS.<br/>
+
The module will allow your clients to remotely control the status of a server, access the console, rebuild the VPS and many others.<br/>
Furthermore, you will be allowed to personalize and adjust your offer to even the most demanding needs of your clients.
+
You will be also allowed to adjust your offer to even the most demanding needs of your clients with a wide range of configurable options.
 
|}
 
|}
<!--a comment maybe? -->
 
 
*'''Admin Area Features:'''
 
*'''Admin Area Features:'''
 
{|
 
{|
Line 14: Line 16:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Change Package - Supports Configurable Options And Volume Resizing
+
|style="padding: 0px 0px 0px 30px;"|✔ Change Package
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Change Password
+
|style="padding: 0px 0px 0px 30px;"|✔ Start/Stop/Reboot Server
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Start/Stop/Pause/Unpause/Resume/Rebuild Server
+
|style="padding: 0px 0px 0px 30px;"|✔ Access noVNC Console
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Soft/Hard Reboot Server
+
|style="padding: 0px 0px 0px 30px;"|✔ View Instance Status And Details
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Reset Network
+
|style="padding: 0px 0px 0px 30px;"|✔ View Assigned Public IPv4 And IPv6 Network Details
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Rescue/Unrescue Server
+
|style="padding: 0px 0px 0px 30px;"|✔ Reinstall Server With App Templates:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Toggle VM Protection From WHMCS Termination And Rebuilding
+
|style="padding: 0px 0px 0px 45px;"|✔ Applications
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View Instance Status And Details
+
|style="padding: 0px 0px 0px 45px;"|✔ ISO Images
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View Interfaces Details
+
|style="padding: 0px 0px 0px 45px;"|✔ Operating Systems
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View Volumes Information
+
|style="padding: 0px 0px 0px 45px;"|✔ Snapshots
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View List Of Scheduled Tasks
+
|style="padding: 0px 0px 0px 30px;"|✔ View/Schedule/Restore Automatic Backups
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Provide Product Configurations:
+
|style="padding: 0px 0px 0px 30px;"|✔ Mount Custom ISO
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Project Settings:
+
|style="padding: 0px 0px 0px 30px;"|✔ View/Create Firewall Rules
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Choose Default VM Image/Flavor/Region
+
|style="padding: 0px 0px 0px 30px;"|✔ View Assigned Reserved IP Addresses
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Provide Random Domain Prefix
+
|style="padding: 0px 0px 0px 30px;"|✔ View/Create/Manage Reverse DNS Records
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Toggle Debug Mode
+
|style="padding: 0px 0px 0px 30px;"|✔ View/Create/Restore Snapshots
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Network Settings:
+
|style="padding: 0px 0px 0px 30px;"|✔ Provide Cloud-Init User-Data Initiation Script
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Choose Fixed/Floating Networks
+
|style="padding: 0px 0px 0px 30px;"|✔ View Scheduled Tasks
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Define Default Number Of IP Addresses
+
|style="padding: 0px 0px 0px 30px;"|✔ Configure Product Details:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Backup Settings:
+
|style="padding: 0px 0px 0px 45px;"|✔ Choose Region
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Enable Backups Rotation
+
|style="padding: 0px 0px 0px 45px;"|✔ Choose Plan
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Enable Scheduled Backups
+
|style="padding: 0px 0px 0px 45px;"|✔ Provide Default Reverse DNS Template
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Define Backups Quantity Limit
+
|style="padding: 0px 0px 0px 45px;"|✔ Toggle DDOS Protection
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Define Backups Minimum Time Interval
+
|style="padding: 0px 0px 0px 45px;"|✔ Toggle Automatic Backups
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Virtual Machines Settings:
+
|style="padding: 0px 0px 0px 45px;"|✔ Toggle IPv6 Address
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Enable Auto-generation SSH Key
+
|style="padding: 0px 0px 0px 45px;"|✔ Use Hostname In Label Field
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Define Default Volume Size
+
|style="padding: 0px 0px 0px 45px;"|✔ Enable White Label noVNC Console
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Set Security Groups
+
|style="padding: 0px 0px 0px 45px;"|✔ Select Default Application Group And Default Application
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Enable Password Management
+
|style="padding: 0px 0px 0px 45px;"|✔ Choose Features Available In Client Area:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Choose RDP/Serial/SPICE/VNC Console Type
+
|style="padding: 0px 0px 0px 60px;"|✔ App Template
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Select Rescue Image
+
|style="padding: 0px 0px 0px 60px;"|✔ Backups
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Toggle VM Protection After Creation
+
|style="padding: 0px 0px 0px 60px;"|✔ Console
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Firewall Settings:
+
|style="padding: 0px 0px 0px 60px;"|✔ Firewall
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Apply Custom Rules
+
|style="padding: 0px 0px 0px 60px;"|✔ Graphs
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Define Inbound/Outbound/Total Firewall Rules Limits
+
|style="padding: 0px 0px 0px 60px;"|✔ Snapshots
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Configure Client Area Features Per Product
+
|style="padding: 0px 0px 0px 60px;"|✔ Reverse DNS
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Execute Custom Scripts On Boot
+
|style="padding: 0px 0px 0px 60px;"|✔ Reserved IP Addresses
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Choose Welcome Email For VM Creation
+
|style="padding: 0px 0px 0px 60px;"|✔ User Data
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 45px;"|✔ Generate Configurable Options
+
|style="padding: 0px 0px 0px 60px;"|✔ Custom ISO
 
|}
 
|}
*'''Client Area Features:'''
 
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ View Server Status And Details
+
|style="padding: 0px 0px 0px 45px;"|✔ Enable Instance Block Storage With Defined Type And Size
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Start/Stop/Pause/Unpause/Resume/Rebuild Server
+
|style="padding: 0px 0px 0px 45px;"|✔ Set Snapshots Limit
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Soft/Hard Reboot Server
+
|style="padding: 0px 0px 0px 45px;"|✔ Enable Reserved IPv4 And IPv6 Addresses Within Defined Limits
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Reset Network
+
|style="padding: 0px 0px 0px 45px;"|✔ Generate Configurable Options
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Rescue/Unrescue Server
+
|style="padding: 0px 0px 10px 30px;"|✔ Run API Connection Test
 +
|}
 +
*'''Addon Module Features:'''
 +
{|
 +
|style="padding: 10px 0px 0px 30px;"|✔ Configure App Templates:
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Applications
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ ISO Images
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Operating Systems
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Snapshots
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Create Application Groups And Assign App Templates
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Manage Media Library With Logotypes For App Templates
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ View Queue Of Scheduled Tasks
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Customize Module Language Files With "Translations" Tool
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 30px;"|✔ View And Manage Logs
 +
|}
 +
*'''Client Area Features:'''
 +
{|
 +
|style="padding: 10px 0px 0px 30px;"|✔ Start/Stop/Reboot Server
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Access noVNC Console
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ View Instance Status And Details
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Change Server Protection Status
+
|style="padding: 0px 0px 0px 30px;"|✔ View Assigned Public IPv4 And IPv6 Network Details
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Toggle VM Protection From WHMCS Termination And Rebuilding
+
|style="padding: 0px 0px 0px 30px;"|✔ View Scheduled Tasks
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Change Password
+
|style="padding: 0px 0px 0px 30px;"|✔ Reinstall Server With App Templates:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Create/Restore/Delete Backups
+
|style="padding: 0px 0px 0px 45px;"|✔ Applications
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Toggle Scheduled Backups And Define Time Interval
+
|style="padding: 0px 0px 0px 45px;"|✔ ISO Images
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Access RDP, Serial, SPICE, Or VNC Console
+
|style="padding: 0px 0px 0px 45px;"|✔ Operating Systems
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View/Add/Delete Custom Firewall Rules:
+
|style="padding: 0px 0px 0px 45px;"|✔ Snapshots
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ TCP
+
|style="padding: 0px 0px 0px 30px;"|✔ View/Schedule/Restore Automatic Backups
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ UDP
+
|style="padding: 0px 0px 0px 30px;"|✔ Mount Custom ISO Images
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ ICMP
+
|style="padding: 0px 0px 0px 30px;"|✔ View/Create Firewall Rules
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Other Protocols
+
|style="padding: 0px 0px 0px 30px;"|✔ View Bandwidth Usage Graph
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Download Public & Private SSH Keys
+
|style="padding: 0px 0px 0px 30px;"|✔ View Assigned Reserved IP Addresses
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View Volumes Information
+
|style="padding: 0px 0px 0px 30px;"|✔ View/Create/Manage Reverse DNS Records
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View List Of Scheduled Tasks
+
|style="padding: 0px 0px 0px 30px;"|✔ View/Create/Restore/Delete Snapshots
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ Receive Email Notification After VM Creation
+
|style="padding: 0px 0px 10px 30px;"|✔ Provide Cloud-Init User-Data Initiation Script
 
|}
 
|}
  
 
*'''Configurable Options:'''
 
*'''Configurable Options:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Flavor
+
|style="padding: 10px 0px 0px 30px;"|✔ Application
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ VM Image
+
|style="padding: 0px 0px 0px 30px;"|✔ Backups
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ IP Addresses
+
|style="padding: 0px 0px 0px 30px;"|✔ Block Storage
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Backups Files Limit
+
|style="padding: 0px 0px 0px 30px;"|✔ Block Storage Size
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Disk
+
|style="padding: 0px 0px 0px 30px;"|✔ Block Storage Type
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ RAM
+
|style="padding: 0px 0px 0px 30px;"|✔ DDOS Protection
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ VCPUs
+
|style="padding: 0px 0px 0px 30px;"|✔ IPv6 Support
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Total Firewall Rules Limit
+
|style="padding: 0px 0px 0px 30px;"|✔ Reserved IPv4 Addresses
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Inbound Firewall Rules Limit
+
|style="padding: 0px 0px 0px 30px;"|✔ Reserved IPv6 Addresses
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Outbound Firewall Rules Limit
+
|style="padding: 0px 0px 0px 30px;"|✔ Plan
 
|}
 
|}
 
{|
 
{|
Line 227: Line 269:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ Custom Script Files
+
|style="padding: 0px 0px 10px 30px;"|✔ Snapshot Limit
 
|}
 
|}
*'''Supported Providers:'''
+
 
 +
*'''Available Images And Applications:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Bluvalt
+
|style="padding: 10px 0px 0px 30px;"|✔ Linux OS:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ City Cloud
+
|style="padding: 0px 0px 0px 45px;"|✔ AlmaLinux
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ CT Cloud Platform
+
|style="padding: 0px 0px 0px 45px;"|✔ Arch Linux
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ DS Public
+
|style="padding: 0px 0px 0px 45px;"|✔ Alpine Linux
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ ELASTX OpenStack
+
|style="padding: 0px 0px 0px 45px;"|✔ CentOS
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ INAP Bare Metal
+
|style="padding: 0px 0px 0px 45px;"|✔ Debian
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ INAP Cloud
+
|style="padding: 0px 0px 0px 45px;"|✔ Fedora
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Limestone Networks
+
|style="padding: 0px 0px 0px 45px;"|✔ Fedora CoreOS
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Linaro Developer Cloud
+
|style="padding: 0px 0px 0px 45px;"|✔ Flatcar Container Linux
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Open Telekom Cloud
+
|style="padding: 0px 0px 0px 45px;"|✔ FreeBSD
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ OVH Public Cloud
+
|style="padding: 0px 0px 0px 45px;"|✔ OpenBSD
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Rackspace Public Cloud
+
|style="padding: 0px 0px 0px 45px;"|✔ openSUSE
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ ScaleUp Cloud
+
|style="padding: 0px 0px 0px 45px;"|✔ Rocky Linux
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ STC Cloud
+
|style="padding: 0px 0px 0px 45px;"|✔ Ubuntu
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ UOS Cloud
+
|style="padding: 0px 0px 0px 30px;"|✔ Microsoft Windows:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ VEXXHOST
+
|style="padding: 0px 0px 0px 45px;"|✔ Windows Core 2022
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ vScaler Public Cloud
+
|style="padding: 0px 0px 0px 45px;"|✔ Windows Core 2019
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ warescale Public Cloud
+
|style="padding: 0px 0px 0px 45px;"|✔ Windows Core 2016
 
|}
 
|}
 
*'''Required Components:'''
 
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Keystone
+
|style="padding: 0px 0px 0px 45px;"|✔ Windows Server 2022
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Glance
+
|style="padding: 0px 0px 0px 45px;"|✔ Windows Server 2019
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Nova
+
|style="padding: 0px 0px 0px 45px;"|✔ Windows Server 2016
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Neutron
+
|style="padding: 0px 0px 0px 45px;"|✔ Windows Server 2012 RS
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ Gnocchi (Required For Billing)
+
|style="padding: 0px 0px 0px 30px;"|✔ Marketplace Apps:
 
|}
 
|}
*'''General Info:'''
 
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Automated Generation Of SSH Keys - Public SSH Key Is Injected To VM Automatically
+
|style="padding: 0px 0px 0px 45px;"|✔ 3CX Phone System
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Integrated With <u>Advanced Billing For WHMCS</u> - Actual Server Resource Usage Billing [https://www.modulesgarden.com/products/whmcs/advanced-billing#features (read more)]
+
|style="padding: 0px 0px 0px 45px;"|✔ 3DKit
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Integrated With <u>Server Allocator For WHMCS</u> - Automatic Assignment Of Most Suitable Servers To Products [https://www.modulesgarden.com/products/whmcs/server-allocator#features (read more)]
+
|style="padding: 0px 0px 0px 45px;"|✔ aaPanel
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Multi-Language Support
+
|style="padding: 0px 0px 0px 45px;"|✔ AIDungeon2
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports Cloud-Init Scripts With WHMCS Variables
+
|style="padding: 0px 0px 0px 45px;"|✔ Anaconda
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports OpenStack Victoria and Previous
+
|style="padding: 0px 0px 0px 45px;"|✔ Ant Media Server (Community Edition/Enterprise Edition)
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports OpenStack Gnocchi
+
|style="padding: 0px 0px 0px 45px;"|✔ Asp.net
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports Virtuozzo Hybrid Infrastructure (VHI)
+
|style="padding: 0px 0px 0px 45px;"|✔ AzuraCast
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports Limestone Networks Cloud Hosting Solutions
+
|style="padding: 0px 0px 0px 45px;"|✔ Bitnami via Vultr (Jenkins/Magento/PrestaShop)
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 7.2 Up To PHP 7.4
+
|style="padding: 0px 0px 0px 45px;"|✔ BotGuard Ingress Controller
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ BrowserBox
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Bun
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Chevereto
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Clever VPN Server
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ CloudHub
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ CloudPanel 2
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Cloudron
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ ClusterControl
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Colyseus
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ ComfyUI
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Coolify
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Coder
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ cPanel
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ CyberPanel
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Debian 12 with Automatic Updates
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Docker
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Drupal
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Easypanel
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Elasticsearch
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ FASTPANEL
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Fauxpilot
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ FileCloud
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Forgejo
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ GitLab
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Grafana
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Haltdos
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Helpy Pro
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ InvokeAI
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Ispmanager
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Jamulus
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Jitsi
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Joomla
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ k3s
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Keitaro
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ KobaltAI
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ LAMP
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Laravel
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ LEMP
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ LibreChat
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Librum Server
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ LinuxPatch Appliance
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Mediawiki
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Microweber Website Builder
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Minecraft (Bedrock/Forge/PaperSpigot/Vanilla)
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Miniconda
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Mist Community Edition
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ MLDev
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ MongoDB Community Edition
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Nextcloud
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ NirvaShare
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ NodeJS
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ ONLYOFFICE (Docs/Workspace)
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ OpenLiteSpeed (Django/Drupal/Joomla/NodeJS/Rails/WordPress)
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ OpenVPN Access Server
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Palworld
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ PasswordLab
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Plesk (Web Admin SE/Web Host/Web Pro)
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ PrestaShop
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Pritunl
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Prometheus
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Restyaboard
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Roxy-WI
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ SeaTable
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ ServerWand
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Squidex
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Statusnook
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Steam
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Strapi
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Supabase
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Talos Linux
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Ubuntu Desktop (Gnome/KDE/XFCE)
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Uptime
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ UTunnel VPN
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ VDev
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Video2x
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Virtuozzo Multi-cloud App Platform
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ VitalPBX
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Vodia Phone System
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Vultr Broadcaster
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Vultr GPU Stack
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Vultr WebApp
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ WarpSpeed VPN
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Webmin
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Wireguard
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ WooCommerce
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ WordPress
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ WP Squared
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ xrDebug
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Yeastar P-Series Phone System
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ ISO Images:
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Finnix
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ GParted
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Hiren's BootCD PE
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ SystemRescue
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Snapshots
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 30px;"|✔ Any Other OS Platforms And Solutions When Made Available By Vultr
 +
|}
 +
 
 +
*'''General Info:'''
 +
{|
 +
|style="padding: 10px 0px 0px 30px;"|✔ Fully Integrated With [https://lagom.rsstudio.net/extensions/whmcs-modules-integration/vultr-vps-by-modulesgarden Lagom WHMCS Client Theme]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Multi-Language Support With Custom Translations Tool
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 8.2 Back To PHP 8.1
 
|}
 
|}
 
{|
 
{|
Line 336: Line 675:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS V8.0 And Later
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS V8.12 Back To WHMCS V8.9
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Requires ionCube Loader V14 Or Later
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 30px;"|✔ Easy Module Upgrade To [https://www.modulesgarden.com/products/whmcs/vultr-vps#open-source-version Open Source Version]
+
|style="padding: 0px 0px 30px 30px;"|✔ Easy [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module Module Upgrade] To [https://www.modulesgarden.com/products/whmcs/vultr-vps#open-source-version Open Source Version]
 
|}
 
|}
  
Line 352: Line 694:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT1.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_1.png]]
 
|}
 
|}
 
{|
 
{|
Line 359: Line 701:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:hjghjh.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_2.png]]
 
|}
 
|}
 
{|
 
{|
 
|style="padding: 0px 0px 15px 15px;"|'''4. When you install Vultr VPS For WHMCS for the first time you have to rename the '' 'license_RENAME.php' '' file.'''<br />
 
|style="padding: 0px 0px 15px 15px;"|'''4. When you install Vultr VPS For WHMCS for the first time you have to rename the '' 'license_RENAME.php' '' file.'''<br />
The file is located in '' 'modules/servers/VultrVps/license_RENAME.php' ''. Rename it from '' 'license_RENAME.php' '' to '' 'license.php' ''.
+
The file is located in '' 'modules/servers/VultrVps/license_RENAME.php'.'' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT3.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_3.png]]
 
|}
 
|}
 
{|
 
{|
 
|style="padding: 0px 0px 15px 15px;"|'''5. In order to configure your license key, you have to edit the previously renamed '' 'license.php' '' file.'''<br />
 
|style="padding: 0px 0px 15px 15px;"|'''5. In order to configure your license key, you have to edit the previously renamed '' 'license.php' '' file.'''<br />
 
Enter your license key between quotation marks as presented on the following screen.<br />
 
Enter your license key between quotation marks as presented on the following screen.<br />
You can find your license key in our client area → '' 'My Products' ''.
+
You can find your license key in our client area → '' 'My Products'.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT4.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_3_1.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|'''6. The last step is setting up a cron job (every 5 minutes suggested).'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''6. Now, set up the  '' 'storage' '' folder as recursively writable.'''<br />
Use cron job below but switch the '' 'your_whmcs' '' with your root WHMCS path.<br />
+
This folder is available at '' '/yourWHMCS/modules/servers/VultrVps/'. ''
php -q /yourWHMCS/modules/servers/VultrVps/cron/cron.php queue
+
 
|}
 
|}
 
==Configuration of Server==
 
 
{|
 
{|
|style="padding: 10px 0px 20px 0px;"|'''Before you can go on, you must generate your Vultr API Token. You will need it to connect with the server successfully.'''<br/>
+
|style="padding: 0px 0px 30px 25px;"|[[File:VT_4.png]]
Underneath you will find instructions where to find your API details.
+
 
|}
 
|}
 +
 +
==Activating Addon Module==
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''7. Firstly, log into your Vultr account and enter this site: ''https://my.vultr.com/''.  
+
|style="padding: 10px 0px 15px 15px;"|'''7. Now, you have to activate the module in your WHMCS system.'''<br />
 +
Log in to your WHMCS admin area. Go to '' 'System Settings' '' → '' 'Addon Modules'. '' Afterward, find '' 'Vultr VPS' '' and press the '' 'Activate' '' button.<br />
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT7_7_1.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_4_1.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''8. Move to the '' 'API' '' details section under your account.''
+
|style="padding: 0px 0px 15px 15px;"|'''8. In the next step, you need to grant access to this module.'''<br />
 +
To do so, click on the '' 'Configure' '' button, go to the '' 'Access Control' '' area, and check the required admin role groups. Press '' 'Save Changes'.''<br />
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT7_7_2.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_4_2.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''9. Under'' 'API','' find the '' 'Personal Access Token' '' section and generate your API Key.''' <br/>
+
|style="padding: 0px 0px 15px 15px;"|'''9. The final step of the module installation is setting up a cron command that is required for several module features to work properly.'''<br/>
You must previously enable API to be able to generate the API key. Copy the key as you will need in the next steps of the serever
+
'''''Note:''' The cron execution is required for products in version 1.1.0 and later.''<br/>
 +
 
 +
php -q /yourWHMCS/modules/servers/VultrVps/cron/cron.php queue
 +
 
 +
Remember to replace "yourWHMCS" with a proper directory. <br/>
 +
The suggested time interval for cron execution is 5 minutes.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT7_7_3.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:VT_4_3.png]]
 
|}
 
|}
  
 +
==Configuration of Server==
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''12. Now, log in to your WHMCS and proceed to '' 'Setup' '' '' 'Products/Services' '' '' 'Servers' '' and press '' 'Add New Server' ''.<br/>
+
|style="padding: 10px 0px 15px 0px;"|'''Before you can go on, you must generate your Vultr API Token. You will need it to connect with the server successfully.'''<br/>
 
+
Underneath you will find instructions on where to find your API details.
'' '''Note:''' If you have WHMCS V7.8.X or later, we recommend using your 'previous experience' of server configuration instead of the new wizard tool.''
+
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|'''10. Firstly, log into your Vultr account at: ''https://my.vultr.com/''.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:VT_5.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|'''11. Move to the '' 'API' '' details section under your account.'''
 +
There find the '' 'Personal Access Token' '' section and generate your API Key.''' <br/>
 +
You must previously enable API to be able to generate the API key. Copy the key as you will need in the next steps of the server configuration.  
 
|}
 
|}
 
{|
 
{|
 
|style="padding: 0px 0px 20px 25px;"|[[File:VT_6.png]]
 
|style="padding: 0px 0px 20px 25px;"|[[File:VT_6.png]]
 
|}
 
|}
 +
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''13. Next, enter your server name and select '' 'Vultr VPS' '' from the '' 'Type' '' field.<br/>
+
|style="padding: 0px 0px 20px 15px;"|'''12. Now, log in to your WHMCS and proceed to '' 'System Settings' '' '' 'Servers' '' and press '' 'Add New Server'.''
Now, provide the previously generated API token in the '' 'Password' '' field. Then check the connection, if successful, save the changes.
+
 
|}
 
|}
 
{|
 
{|
Line 423: Line 781:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''14. It is time to create a server group. To do so, click on '' 'Create Server Group' ''.'''
+
|style="padding: 0px 0px 15px 15px;"|'''13. Next, enter your server name and a hostname or an IP address. Then select '' 'Vultr VPS' '' from the '' 'Type' '' field.<br/>
 +
Now, provide the previously generated API token in the '' 'Password' '' field. Then check the connection, if successful, save the changes.
 
|}
 
|}
 
{|
 
{|
Line 429: Line 788:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''15. Enter a name, click on your previously created server, press '' 'Add' '' and afterward '' 'Save Changes' ''.'''
+
|style="padding: 0px 0px 20px 15px;"|'''14. It is time to create a server group. To do so, click on '' 'Create Server Group'.'' '''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:VT_9.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_9.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|'''15. Enter a name, click on your previously created server, press '' 'Add' '' and afterward '' 'Save Changes'.'' '''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:VT_10.png]]
 
|}
 
|}
  
 
==Configuration of Product==
 
==Configuration of Product==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|'''12. In order to create and configure a product, go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products/Services'.'' '''<br />
+
|style="padding: 10px 0px 15px 15px;"|'''16. In order to create and configure a product, go to '' 'System Settings' '' → '' 'Products/Services'.'' '''<br />
 
Click on '' 'Create a New Group' ''.
 
Click on '' 'Create a New Group' ''.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT10.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_11.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''13. Enter a product group name and press '' 'Save Changes'.'''''
+
|style="padding: 0px 0px 20px 15px;"|'''17. Enter a product group name and press '' 'Save Changes'.'''''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT11.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_12.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''14. When you have a product group, you can create your product.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''18. When you have a product group, you can create your product.'''<br />
 
To create a product click on '' 'Create a New Product' ''.  
 
To create a product click on '' 'Create a New Product' ''.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT12.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_13.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''15. Afterward, choose your product group and type from the dropdown menus, enter your product name and press '' 'Continue'. '' '''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''19. Afterward, choose your product group and type from the dropdown menus, enter your product name and press '' 'Continue'. '' '''<br />
 
'' 'Product Type' '' should be set to '' 'Shared Hosting'. ''
 
'' 'Product Type' '' should be set to '' 'Shared Hosting'. ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT13.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_14.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''16. Now, go to the '' 'Module Settings' '' section, choose both '' 'OpenStack VPS Cloud' '' and your previously created server group from the dropdown menus.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''20. Now, go to the '' 'Module Settings' '' section, choose both '' 'Vultr VPS' '' and your previously created server group from the dropdown menus.'''<br />
 
The module should automatically save and reload settings. If not, click on '' 'Save Changes' '' manually.'''
 
The module should automatically save and reload settings. If not, click on '' 'Save Changes' '' manually.'''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT14.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_15.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''17. Start from defining '' 'Project Settings' ''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''21. Proceed to '' 'Configuration'.''<br/>
 +
* '''Region''' - choose one of the geographical areas with the preferred predefined set of resources for your VPS.<br/>
 +
* '''Plan''' - choose a plan to install the virtual machine.
 +
* '''Default Reverse DNS Template''' - define the default format for reverse DNS entries using supported Smarty variables to represent parts of the IP address.
 +
* '''Random Domain Prefix''' - enter the domain prefix that will be used when a domain is not provided.
 +
* '''Automatic Backups''' - turn on automatic backups creation.
 +
* '''IPv6 Support''' - enable to use the IPv6 addresses type for the VPS.
 +
* '''Use Hostname in Label Field''' - enable this option to be allowed to provide the hostname into the Label field.
 +
* '''DDOS Protection''' - add an extra layer of security by enabling DDOS protection.
 +
* '''Enable White Label noVNC Console''' - toggle this option to enable the noVNC console '''without any Vultr labels.'''<br/> '''''Important:''' To use a white-label console, please contact the Vultr support first!''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT15.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_16.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''18. Afterward, set up a network. Choose '' 'Fixed Network' '', '' 'Floating Network' '' and '' 'Default Number Of IP Addresses'.'' '''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''22. Proceed with '' 'App Template Configuration'.''<div id="ATC"></div>
You can set up a network in two ways. You can find more information about the configuration [[#Network Configuration Cases|here]].<br />
+
* '''Default Application Group''' - group of applications allowed for reinstalls, see the [[#Groups|groups]] section.
We will create the network without a floating IP address as presented on the following screen.<br />
+
* '''Default Application''' - default application to be installed on the VPS, see the [[#Applications|applications]] section.
Additionally, choose a quantity of IP addresses assigned to a product by typing it into '' 'Default Number Of IP Addresses'.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT16.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_16_1.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''19. At this step you can configure the backup settings.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''23. Next, select features available at the client area.'''<br /><div id="CAF"></div>
 
+
You can also decide which images used to rebuild the server will be available to your customers.
Mark the '' 'Backups Rotation ' '' checkbox if you want to allow replacing the oldest backup with a new one when the backup files limit has been reached.<br/>Afterward, enter a number of allowed backups that can be created into the '' 'Default Backups Files Limit' '' field. Enter '' '-1' '' for unlimited.<br/>
+
 
+
You may also let your clients define the backups tasks, they will be then created automatically according to the defined time interval.<br/> Select the '' 'Scheduled Backups' '' option and then set the minimum time interval which your clients will have to obey when defining their task schedule at  '' 'Backups Time Interval'. '' <br/>
+
'''''Note:''' The number of backups created manually and those scheduled and created automatically is counted together and their overall sum cannot be higher than the defined limit.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT17.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_17.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''20. Define the virtual machine settings.'''
+
|style="padding: 0px 0px 15px 15px;"|'''24. Enable additional options and set up configuration per each one of them:'''<br />
*Mark a security group from '' 'Use Security Groups' '' and select '' 'Console Type'. ''<br /> Apart from the selected here groups you may also apply custom rules to the VM. You can learn more about them at [[#Custom Security Group|Custom Security Group]] section.
+
* '''Block Storage''' - Enable Block Storage.<br/> '''''Important:''' It is impossible to successfully downgrade block storage.''
 +
* '''Storage Type''' - Select Block Storage type.
 +
* '''Storage Size''' - define the storage size between 10 and 10 000 GB, note that if you also decide to enable this configurable option, it will overwrite the general product settings.
 +
* '''Snapshot Limit''' - define the snapshot limit that the client is allowed to create.
 +
* '''Reserved IP Addresses''' - enable reserved IP addresses feature.
 +
* '''IPv4 Addresses Limit''' - enter the limit of addresses for IPv4.
 +
* '''IPv4 Addresses Limit''' - enter the limit of addresses for IPv6.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:VT_17_1.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|'''25. At the end of the configuration process, you can decide whether you want to generate configurable options for the product.'''<br/>
 +
Configurable options can be used by your clients to select each virtual machine parameter individually during order placement.<br/>Otherwise, if configurable options are not defined, then the fixed parameters specified in the earlier configuration will be used instead.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:VT_18.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|If you decide to use configurable options, press the '' 'Create' '' button and select which options you want to generate.<br/>
 +
We recommend using either <code>block_storage</code> or a combination of <code>block_storage_size</code> and <code>block_storage_type</code>, but not both at the same time, as they serve the same purpose in different ways.<br/>
 +
Note that the configuration for disabled options will still be taken from the configuration of the main product.<br/> More information about how to use configurable options can be found [https://www.docs.modulesgarden.com/General#How_To_Use_Configurable_Options here] or in the official WHMCS [https://docs.whmcs.com/Addons_and_Configurable_Options documentation].
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:VT_19.png]]
 +
|}
  
*If you wish to use SSH keys, leave '' 'Generate SSH Key' '' marked (virtualization has to support the '' 'Inject File' '' feature).<br />
+
=Management=
*In order to use passwords for your VM, leave '' 'Password Management' '' marked (virtualization has to support the '' 'Set Admin Pass' '' feature).<br />Please make sure that virtualization used by you supports mentioned actions.<br />Full list of supported  features can be found [https://wiki.openstack.org/wiki/HypervisorSupportMatrix here].<br />
+
{|
'' '''Important:''' It is recommended to leave '' 'Delete SSH Private Key' '' marked.''<br/>
+
|style="padding: 10px 0px 5px 15px;"|'''This guide is divided into three main sections to provide a clear and comprehensive understanding of the module's functionality.'''<br/>
 +
The first section, '' '[[#Addon|Addon]]','' covers the basic configuration and management of the module addon.<br/>
 +
The second section, '' '[[#Admin_Area|Admin Area]]' '' focuses on VPS management from the admin area.<br/>
 +
Finally, the third section, '' '[[#Client_Area|Client Area]]' '' delves into the client area, explaining how users can manage their VPS.<br/>
  
*The following types of console can be chosen: '' 'VNC', 'RDP', 'SPICE' '' and '' 'Serial'. ''
+
Each part is designed to give you an easy-to-understand overview of the module's features.
 
|}
 
|}
 +
==Addon==
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT17_1.png]]
+
|style="padding: 10px 0px 5px 15px;"|The addon provides administrators with the tools to efficiently monitor and manage the module's functionality, while also offering customization options tailored to client needs.<br/>
 +
It includes a task 'Queue' for managing pending actions, a 'Logs' section for tracking activity, and 'App Templates' for preparing applications for clients.<br/>
 +
Additionally, the media library allows for the easy upload of images to be used within the module.
 
|}
 
|}
 +
===Queue===
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''21. You can also take advantage of the dedicated Volume and set it as the location of your Virtual Machine Disk''',
+
|style="padding: 10px 0px 15px 15px;"|In this section, you will find a list of all the tasks issued by the module.<br/>
To do so, make sure to tick the '' 'Use Volumes' '' checkbox and enter the desired number into the '' 'Default Volume Size' '' field.<br />
+
You can filter tasks by type with the '' 'Show More' '' buttons.
Note that once this option is enabled, your clients will no longer have access to the '' 'Backup' '' and '' 'Rescue' '' functions, so you may as well leave the respective fields empty.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT17_2.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_1.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''22. In the next step you may define the firewall rules settings.'''<br/>
+
|style="padding: 0px 0px 15px 15px;"|The information on each task includes:
Enter the firewall inbound, outbound and total rules limits. When the limit is reached, the client will not be able to create a new rule until one of the existing rules has been removed.  
+
*'''Task ID'''
 +
*'''Related item'''
 +
*'''Task status'''
 +
*'''Task type'''
 +
*'''Attempts taken'''
 +
*'''Date of creation'''
 +
*'''Date of the last status update'''
 +
You may also use the action buttons to:
 +
*'''See task details'''
 +
*'''Manually run the task'''
 +
*'''Delete the task'''
 +
To find specific tasks use the search and sorting functions.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT17_0.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_2.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''23. Next, select features available at the client area.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|Task details include:
You can also decide which images used to rebuild the server will be available to your customers.
+
*'''Task ID'''
 +
*'''Job'''
 +
*'''Queue'''
 +
*'''Retry Count'''
 +
*'''Parent ID'''
 +
*'''Type'''
 +
*'''Related Item'''
 +
*'''Custom Relation'''
 +
*'''Status'''
 +
*'''Retry After Date'''
 +
*'''Created At Date'''
 +
*'''Updated At Date'''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT18.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_3.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''24. In addition, you can also choose whether you want to send a welcome email after the VM has been successfully created by cron.'''<br />
+
|style="padding: 0px 0px 20px 15px;"|Related log entries can be found in a separate tab.
This feature can prove useful if you want clients to receive the notification once their VM is ready rather than immediately after product activation.<br/>If you decide on this option, we suggest that you also set the standard WHMCS configuration of the 'Welcome Email' to 'None' in the '' 'Details' '' tab of a product.<br/>Otherwise, the customer will receive both emails - after the product has been activated and after the VM has been successfully created on OpenStack.
+
<br/><br/>
+
Press '' 'Save Changes' '' when you are done.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:VT18_2.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_4.png]]
 
|}
 
|}
 
===VPS With Predefined Resources===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Our module allows you to offer OpenStack VPS & Cloud to your clients in two ways, with either predefined or configurable resources.<br />
+
|style="padding: 0px 0px 20px 15px;"|Tasks can also be deleted with the mass action function.
In this section we will show you configuration of VPS with predefined resources.<br />
+
Detailed information about configuration of VPS with resources chosen by a client can be found [[#VPS With Configurable Resources|here]].
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''25. Select a '' 'Default Flavor' '' and '' 'Default VM Image' ''.'''<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_5.png]]
'' 'Default Flavour' '' defined resources assigned to a VM while '' 'Default VM Image' '' allows you to choose the VM image used to create a new VM.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT19.png]]
+
|style="padding: 0px 0px 20px 15px;"|Additional actions include the '' 'Auto Prune' '' system, which will automatically delete tasks after a predefined number of days and an option to disable cron job information.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|'''Congratulations! You have just finished the installation and configuration of the module with predefined resources.'''
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_6.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|The options are in order:
 +
*'''Auto Prune''' - enable or disable the auto prune system, which will automatically delete tasks after a specified time.
 +
*'''Auto Prune Older Than''' - specify the time period for auto prune system, tasks older than provided number of days will be deleted.
 +
*'''Display 'Cron Job Configuration' Hint''' - display or hide the '' 'Cron Job Configuration' '' hint at the top of the page.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:VT_19_6_1.png]]
 
|}
 
|}
  
===VPS With Configurable Resources===
+
===App Templates===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|'''26. Preparing VPS with configurable options consists of pressing '' 'Create Configurable Options' '' as shown on the following screen.'''<br />
+
|style="padding: 10px 0px 5px 15px;"|'App Templates' allow you to manage and ultimately provide applications, ISO images, operating systems, and snapshots to your clients.<br/>
It will prepare default configurable options which can be afterward easily edited as described in [https://www.docs.modulesgarden.com/General#How_To_Use_Configurable_Options this article].<br />
+
Prepare templates in the '' 'Applications' '' tab and gather them into groups in the '' 'Groups' '' tab.<br/>
'''''Important:''' Configurable option '' 'flavor|Flavor' will be overwritten by 'disc|Disc', 'ram|RAM' and 'vcpus|VCPUs'.''<br />
+
For clients to be able to install templates on their VPS, their product has to include an '' '[[#ATC|Application Group]]' '' and allow '' '[[#CAF|App Templates]]' '' in the client area.
Therefore, you can solve this in three ways:
+
*Remove '' 'disc|Disc' '', '' 'ram|RAM' '' and '' 'vcpus|VCPUs' '' configurable option and rely completely on '' 'flavor|Flavor' ''.
+
*Remove '' 'disc|Disc' '' and '' 'vcpus|VCPUs' '', and allow '' 'flavor|Flavor' '' being overwritten by '' 'ram|RAM' '' (multiple combinations are allowed here).
+
*Remove '' 'flavor|Flavor' '' and rely completely on '' 'disc|Disc' '', '' 'ram|RAM' '' and '' 'vcpus|VCPUs' ''.
+
''Note: The second and the third options results in the creation of a new flavor on your server each time a new order is made.''
+
 
|}
 
|}
 +
====Applications====
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT20.png]]
+
|style="padding: 10px 0px 15px 15px;"|Read the guide carefully, as it contains crucial information on how to use 'App Templates'.<br/>
 +
You can change the settings and have the guide collapsed by default. Clicking on the '' 'Additional Actions' '' button, select '' 'Options' '' and '' 'Collapse Guide'.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"| You can now decide which options should be included in configurable options.  
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_8.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:VT20_1.png]]
+
|style="padding: 0px 0px 20px 15px;"|You can switch between Applications, ISO Images, Operating Systems, and Snapshots by clicking on relevant tabs.
 
|}
 
|}
 
===Custom Security Group===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|'''27. Optionally, you may create a custom security group with customised rules that will be added while creating the virtual machine.'''<br/>
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_9.png]]
Select '' 'Apply Custom Rules' '' option at Virtual Machine Settings and enable '' 'Firewall' '' option in the client area.  
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT20_3.png]]
+
|style="padding: 0px 0px 20px 15px;"|You can use the refresh button to download and later refresh templates from the server.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Edit the ''additionalRules.json'' file content located at ''modules/servers/OpenStackVpsCloud/app/Config/additionalRules.json'' directory.<br/>
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_10.png]]
That is what a default content of the ''additionalRules.json'' file looks like:
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT20_2.png]]
+
|style="padding: 0px 0px 15px 15px;"|Once the items are loaded, you can use the action buttons to edit, duplicate or delete them from the list.<br/>
 +
You can also use the mass action buttons to manage multiple templates at once.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Customize the rules according to your needs by providing:
+
|style="padding: 0px 0px 30px 25px;"|[[File:VT_19_11.png]]
*'''direction''' - '' "egress" '' or '' "ingress" ''
+
|}
  
*'''ethertype''' - '' "IPv4" '' or '' "IPv6" ''
+
====Groups====
 
+
{|
*'''description''' - '' "your rule description" '' - visible in the panel only
+
|style="padding: 10px 0px 15px 15px;"|With the templates ready, all that is left is to gather them into groups and include said groups into products.<br/>
 
+
Navigate to '' 'App Templates' '' '' 'Groups' '' and click on the '' 'Create' '' button.
*'''remote_ip_prefix''' - IP address, format bound to the ethertype field, e.g.: '' "::/0" ''
+
 
+
*'''port_range_min''' - value between 1 and 63535, eg: '' "101" ''
+
 
+
*'''port_range_max''' - value between 1 and 63535, e.g.: '' "200" ''<br/> In case you enter the same value in the '' 'port_range_min' '' and '' 'port_range_max','' then one port will be set, not a range of ports.
+
 
+
*'''protocol''' - enter one of the following: '' "tcp", "udp", "icmp", "custom" ''<br/> '''''Important:''' 'Protocol' must be provided if 'port_range' has been defined.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|Now, that your file is ready, a new security group will be created in your OpenStack panel and visible in the product's Module Settings under '' 'Use Security Groups' '' on the product creation.<br/> The rules are visible for the client in the '' 'Firewall' '' section. If you terminate the product, this group will be deleted as well.
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_15.png]]
 
|}
 
|}
 
===Custom Config Scripts===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|'''28. In this area, you can write a custom script using [https://raymii.org/s/tutorials/Automating_Openstack_with_Cloud_init_run_a_script_on_VMs_first_boot.html Cloud-Init] and arrange it to be executed on newly created VMs.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|Read the information, then provide the group with:
This way you can automate your work instead of making all kinds of specific images for specific tasks manually. <br /><br />
+
*Name
'''Important notes:'''
+
*Description
*Scripts can be written in standards like '''Bash''' or '''[https://yaml.org/about.html YAML]'''.
+
*Items to include
*You can find examplary clout-init config scripts [https://cloudinit.readthedocs.io/en/latest/topics/examples.html here].
+
'''''Note:''' Keep in mind that Vultr includes Windows licenses (Core and Standard) in their Plans and charges a monthly fee for them.''<br/>''Since this will affect the Plan price, we recommend not including Windows with other systems in one product.''
*Initial scripts have to be supported by VPS operating system to be executed properly.
+
*Scripts should be used only by advanced users. The incorrect usage of the scripts may damage your system!
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT44.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_16.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|On the example below, we will show an exemplary script responsible for setting the password to '' 'newpass01' '' for the Ubuntu root user.<br />
+
|style="padding: 0px 0px 15px 15px;"|You can use the action button and the mass action function to edit and delete groups.
You can achieve it by writing:
+
chpasswd:
+
  list: |
+
  ubuntu:newpass01
+
  expire:False
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT45.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_17.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|You can configure scripts in the same format, but for clients' individual choice when ordering the product.<br />
+
|style="padding: 0px 0px 15px 15px;"|For the client to take advantage of the application templates, the product [[#ATC|module settings]] have to include the group.<br/>
All you need to do is add a new configurable option and assign it to the OpenStack VPS & Cloud product.<br />
+
Find the '' 'App Templates Configuration' '' section and '' 'Default Application Group' '' field.<br/>
'''''Note:''' These scripts are executed regardless of the script specified in the module settings.''<br />
+
Include a chosen group for the product.
The easiest way is through the edition of existing 'Configurable options for the OpenStack VPS & Cloud' group, and adding the new configurable option there.<br />
+
For example, if you want to offer the pre-installed PHP version depending on a client's choice, you can add a new option named '''script_PHP|PHP version''' and then define multiple options, like on the screenshot below:
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT46.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_18.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Afterward, your clients can choose during the ordering process:
+
|style="padding: 0px 0px 15px 15px;"|Make sure '' 'App Templates' '' section is enabled under '' 'Client Area Features'.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT47.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:VT_19_19.png]]
 
|}
 
|}
 +
====Advanced Configuration====
 +
<!---
 
{|
 
{|
|style="padding: 0px 0px 0px 15px;"|
+
|style="padding: 0px 0px 15px 15px;"|'''This section is still under construction. We apologize for any inconvenience. If you need more details about the App Templates configuration, please [https://www.modulesgarden.com/support/ticket contact] our support team directly.'''
Using this method, you can perform assorted actions on newly created machines, e.g.: modifying files, preinstalling & preconfiguring software, executing any statements that would normally be executed via the terminal.<br /><br />
+
More details regarding manually creating and editing templates will be included soon.
The general rule is that configurable option names should begin with '''script_prefix''' to be recognized as containing a custom script.<br />
+
Then, choices under the option have their own names which are matched with a name of existing file with the corresponding script under the
+
'''yourWHMCS/modules/servers/OpenStackVpsCloud/scripts''' path.<br />
+
Note that files with scripts have to have '''exactly''' extension corresponding to the given entries in the configurable options.<br /><br />
+
In the example above, there are two options: '''php5.yml''' and '''php7.yml''', therefore it makes the module read corresponding files:<br />
+
*modules/servers/OpenStackVpsCloud/scripts/php5.yml
+
or
+
*modules/servers/OpenStackVpsCloud/scripts/php7.yml
+
You can add many scripts in the exact way.
+
 
|}
 
|}
 +
--->
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''From the version 1.9.0 you can also use the WHMCS variables of ordered products in your scripts.''' <br />
+
|style="padding: 0px 0px 5px 15px;"|App templates allow for even more in-depth management with the ability to create and edit custom applications.
 
+
See the examples below to learn about the most important options.
These variables can be managed in the same way as [https://docs.whmcs.com/Email_Templates#Merge_Fields merge fields] in email templates.<br/>
+
 
+
The exemplary execution of the clout-init test script is presented below:
+
 
+
<pre>
+
#cloud-config
+
 
+
runcmd:
+
    - sudo echo "account id: {$accountid}" >> /tmp/whmcs_info.txt
+
    - sudo echo "service id: {$serviceid}" >> /root/whmcs_info.txt
+
    - sudo echo "addon id: {$addonId}" >> /var/log/whmcs_info.txt
+
    - sudo echo "user id: {$userid}" >> ~/whmcs_info.txt
+
</pre>
+
 
+
You will save IDs of the WHMCS '' 'account', 'service', 'addon' '' and '' 'client' '' into the '' 'whmcs_info.txt' '' files in various directories on the created instance. <br/>Of course, you can use the variables in any custom script according to your needs.<br/>
+
 
+
Below you can find a complete list of supported variables that can be managed in your custom scripts:
+
 
|}
 
|}
 
+
=====Adding Applications Manually=====
{| class="wikitable" style="margin-left: 15px; margin-bottom: 30px; margin-top: 0px;"
+
{|
! Variable
+
|style="padding: 0px 0px 15px 15px;"|Manually add a single application, instead of loading all your applications at once.<br/>
! Variable
+
1. Navigate to '' 'App Templates' '' '' 'Applications' '' and click on '' 'Create'.''
! Variable
+
! Variable
+
! Variable
+
|-
+
| {$accountid}
+
| {$configoption12}
+
| {$server}
+
| {$clientsdetails['password']}
+
| {$clientsdetails['allowSingleSignOn']}
+
|-
+
| {$serviceid}
+
| {$configoption13}
+
| {$serverip}
+
| {$clientsdetails['statecode']}
+
| {$clientsdetails['language']}
+
|-
+
| {$addonId}
+
| {$configoption14}
+
| {$serverhostname}
+
| {$clientsdetails['countryname']}
+
| {$clientsdetails['isOptedInToMarketingEmails']}
+
|-
+
| {$userid}
+
| {$configoption15}
+
| {$serverusername}
+
| {$clientsdetails['phonecc']}
+
| {$clientsdetails['lastlogin']}
+
|-
+
| {$domain}
+
| {$configoption16}
+
| {$serverpassword}
+
| {$clientsdetails['phonenumberformatted']}
+
| {$clientsdetails['authmodule']}
+
|-
+
| {$username}
+
| {$configoption17}
+
| {$serveraccesshash}
+
| {$clientsdetails['telephoneNumber']}
+
| {$clientsdetails['authdata']}
+
|-
+
| {$password}
+
| {$configoption18}
+
| {$serversecure}
+
| {$clientsdetails['billingcid']}
+
| {$clientsdetails['datecreated']}
+
|-
+
| {$sld}
+
| {$configoption19}
+
| {$serverhttpprefix}
+
| {$clientsdetails['notes']}
+
| {$clientsdetails['cardtype']}
+
|-
+
| {$tld}
+
| {$configoption20}
+
| {$serverport}
+
| {$clientsdetails['twofaenabled']}
+
| {$clientsdetails['cardlastfour']}
+
|-
+
| {$packageid}
+
| {$configoption21}
+
| {$clientsdetails['userid']}
+
| {$clientsdetails['currency']}
+
| {$clientsdetails['cardnum']}
+
|-
+
| {$pid}
+
| {$configoption22}
+
| {$clientsdetails['id']}
+
| {$clientsdetails['defaultgateway']}
+
| {$clientsdetails['startdate']}
+
|-
+
| {$serverid}
+
| {$configoption23}
+
| {$clientsdetails['uuid']}
+
| {$clientsdetails['cctype']}
+
| {$clientsdetails['expdate']}
+
|-
+
| {$status}
+
| {$configoption24}
+
| {$clientsdetails['firstname']}
+
| {$clientsdetails['cclastfour']}
+
| {$clientsdetails['issuenumber']}
+
|-
+
| {$type}
+
| {$customfields['vmID']}
+
| {$clientsdetails['lastname']}
+
| {$clientsdetails['gatewayid']}
+
| {$clientsdetails['bankname']}
+
|-
+
| {$producttype}
+
| {$customfields['privateFlavor']}
+
| {$clientsdetails['fullname']}
+
| {$clientsdetails['securityqid']}
+
| {$clientsdetails['banktype']}
+
|-
+
| {$moduletype}
+
| {$configoptions['flavor']}
+
| {$clientsdetails['companyname']}
+
| {$clientsdetails['securityqans']}
+
| {$clientsdetails['bankcode']}
+
|-
+
| {$configoption1}
+
| {$configoptions['isoImage']}
+
| {$clientsdetails['email']}
+
| {$clientsdetails['groupid']}
+
| {$clientsdetails['bankacct']}
+
|-
+
| {$configoption2}
+
| {$configoptions['ipAddresses']}
+
| {$clientsdetails['address1']}
+
| {$clientsdetails['status']}
+
| {$clientsdetails['ip']}
+
|-
+
| {$configoption3}
+
| {$configoptions['backupsFilesLimit']}
+
| {$clientsdetails['address2']}
+
| {$clientsdetails['credit']}
+
| {$clientsdetails['host']}
+
|-
+
| {$configoption4}
+
| {$configoptions['disk']}
+
| {$clientsdetails['city']}
+
| {$clientsdetails['taxexempt']}
+
| {$clientsdetails['pwresetkey']}
+
|-
+
| {$configoption5}
+
| {$configoptions['ram']}
+
| {$clientsdetails['fullstate']}
+
| {$clientsdetails['latefeeoveride']}
+
| {$clientsdetails['allow_sso']}
+
|-
+
| {$configoption6}
+
| {$configoptions['vcpus']}
+
| {$clientsdetails['state']}
+
| {$clientsdetails['overideduenotices']}
+
| {$clientsdetails['email_verified']}
+
|-
+
| {$configoption7}
+
| {$configoptions['totalRulesLimit']}
+
| {$clientsdetails['postcode']}
+
| {$clientsdetails['separateinvoices']}
+
| {$clientsdetails['created_at']}
+
|-
+
| {$configoption8}
+
| {$configoptions['inboundRulesLimit']}
+
| {$clientsdetails['countrycode']}
+
| {$clientsdetails['disableautocc']}
+
| {$clientsdetails['updated_at']}
+
|-
+
| {$configoption9}
+
| {$configoptions['outboundRulesLimit']}
+
| {$clientsdetails['country']}
+
| {$clientsdetails['emailoptout']}
+
| {$clientsdetails['pwresetexpiry']}
+
|-
+
| {$configoption10}
+
| {$configoptions['region']}
+
| {$clientsdetails['phonenumber']}
+
| {$clientsdetails['marketing_emails_opt_in']}
+
|
+
|-
+
| {$configoption11}
+
| {$configoptions['script_test']}
+
| {$clientsdetails['tax_id']}
+
| {$clientsdetails['overrideautoclose']}
+
|
+
 
|}
 
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_14_1.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 5px 15px;"|2. Download the list of applications from you panel's API.
 +
See the official  [https://www.vultr.com/api/#tag/application/operation/list-applications official Vultr documentation] too learn how.<br/>
 +
Make sure to include your API Key, the request looks like this:
 +
curl "https://api.vultr.com/v2/applications" \
 +
  -X GET \
 +
  -H "Authorization: Bearer ${VULTR_API_KEY}"
 +
Example result:
  
=Management=
+
{
 +
"applications": [
 +
{
 +
"id": 1,
 +
"name": "LEMP",
 +
"short_name": "lemp",
 +
"deploy_name": "LEMP on CentOS 6 x64",
 +
"type": "one-click",
 +
"vendor": "vultr",
 +
"image_id": ""
 +
}
 +
|}
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|''' OpenStack VPS & Cloud For WHMCS allows your customers to manage their servers via the client area in your WHMCS system.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|3. In the '' 'Name' '' field we recommend including the value of the '' '"name": "$name"' '' field.
You can monitor and manage each product from your WHMCS admin area.<br />
+
For example '' 'LEMP' '' from:
1. Configurable options which enable you to view current resources and change specifications through changing configurable options and pressing '' 'Change Package' ''<br />
+
"name": "LEMP",
2. Module commands (Create, Suspend/Unsuspend, Change Package)<br />
+
'''''Note:''' If you include a '' 'name' '' setting detail (see step 4) with the name from the request as its value, you can safely rename the application to something else here.''
3. Service actions (Stop VM, Pause VM, Soft/Hard Reboot, Reset Network, Rescue, Change Protection)<br />
+
4. Instance details along with Interfaces, Scheduled Tasks, and Volumes (you will see the '' 'Volumes' '' section if you enabled the '' 'Use Volumes' '' feature)<br/>
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:VT24.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_14_2.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|4. Edit your newly added application, and under '' 'Settings Details' ''  edit/create application details outputted by the panel's API.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_14_3.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|Carefully look at the API output and fill out the '' 'Name' '' and '' 'Default Value' '' fields with you application details.
 +
In our case it is:
 +
"id": 1,
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_14_5.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|Add the remaining settings following the same pattern of filling the '' 'Name' '' and '' 'Default Value' '' fields.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_14_6.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|The application will be available on the list and ready to be included in a group.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:VT_19_14_4.png]]
 
|}
 
|}
  
==Ordering==
+
=====Including Cloud-Init / User-Data Scripts=====
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Owing to configurable options, you are able to offer a product which your clients can tailor according to their needs.<br />
+
|style="padding: 0px 0px 15px 15px;"|Enter the user data to run common configuration tasks when the instance starts. You can run cloud-init directives or shell scripts for Linux images. You may use smarty variables, e.g. ''{$password}.''<br/> '''''Note:''' Please refer to the following article to find a '''list of supported [https://developers.whmcs.com/provisioning-modules/module-parameters/ module parameters]''' and their descriptions.''<br/>
Additionally, you are able to set up pricing for each configurable option, which make your offer even more competitive.<br />
+
If an application supports scripts, the responsible setting will always be added automatically.<br/>
'''Important: VPS is not created immediately after ordering '' 'Create' ''. Therefore, it is wise to inform your clients about the delay.'''
+
To include a script, edit the setting by clicking on the '' 'Edit' '' button next to it.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:VT25.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_14_7.png]]
 
|}
 
|}
===Importing Existing Instance===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|In this section, you can find short instruction on how to connect one of your clients to your already existing instance in the OpenStack panel. <br/> Take the following steps to make sure that the process will be carried out properly. <br/>
+
|style="padding: 0px 0px 15px 15px;"|See the list below to learn how to set up the setting.
1. Firstly, manually create an order for your customer in WHMCS. Choose a client and in the summary, view click on the '' ' Add New Order' '' button. Next, select a '' 'Product/Service' '' and press '' 'Submit Order' ''. <br/> '''What is important, do not perform the '' 'Create' '' action.''' The status has to remain as '' 'Pending' ''. <br/> More info about placing orders can be found [https://docs.whmcs.com/Order_Management#Placing_an_Order here]<br/>
+
*'''Name''' - do not change this value, this is the setting identifier.
2. Proceed to the newly created product's card in your admin area. Find the following empty fields:
+
*'''Field Type''' - if the '' 'Visibility' '' setting is toggled on, this field decides the type of field, we recommend leaving it as is.
*'''VM ID'''
+
*'''Default Value''' - this is where you include your script. If '' 'Visibility' '' is toggled on, this will be the default value that clients can modify.<br/>'''''Note:''' Use the merge field list on the right for reference.''
The above-mentioned information has to be consistent with the data from your OpenStack panel. Now, complete these fields as presented below. <br/> '''Important!''' Remember to make sure that the format of the provided data is compatible with the format supported by the module. You can preview it for another product of the module you have already created and enter it in a similar way. <br/> If you completed the required data, now change the status from '' 'Pending' '' to '' 'Active' '' and '' 'Save Changes' ''.  
+
*'''Validation''' - optionally, provide [https://laravel.com/docs/11.x/validation#available-validation-rules Laravel validation rules] like '' 'required'.''
 +
*'''Visibility''' - this will allow the client to modify the script before installation.
 +
 
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:OpenStackVC_import.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_14_8.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|3. If the completed data is correct, after refreshing the page, you will see the attached instance from OpenStack. <br/> '''Important!''' Remember to manually add other missing parameters of the instance such as domains, credentials, IP Addresses, configurable options, SSH Key, billing cycle, etc. so they match the parameters of the attached instance from OpenStack.  
+
|style="padding: 0px 0px 20px 15px;"|If the '' 'Visibility' '' toggle is on, the script will be accessible before the installation, if not, the script will just be performed as normal.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:VT_19_14_9.png]]
 
|}
 
|}
  
==Client Area==
+
===Media Library===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Client area interface of OpenStack VPS & Cloud should look like the one on the screen below. As you can see, the control panel contains useful options needed for managing a virtual machine.<br />
+
|style="padding: 10px 0px 15px 15px;"|The media library allows you to upload images for use elsewhere in the module by admins and clients.<br/>
The module allows your customers to easily start/stop, pause/unpause, resume, soft reboot, hard reboot, and reset network of their servers by pressing the specific button.<br />
+
To upload a new picture, click on the '' 'Upload Image' '' button.
Clients can also rebuild the server, access the VNC console, create a backup, manage firewalls, and view scheduled tasks.<br />
+
At '' 'Scheduled Tasks' '' your customers can view all requested tasks that were not yet completed.<br />
+
Each task has additional information bounded to them, like a type of task, attempts to perform tasks, or a last returned response.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:VT26.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_20.png]]
 
|}
 
|}
===Volumes===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|In case your OpenStack VPS & Cloud is running with the '' 'Use Volumes' '' option, the client area may look a bit different. It will now include an additional section named ''Volumes''.
+
|style="padding: 0px 0px 15px 15px;"|You can delete images one by one by clicking on them.<br/>
 +
To delete all images at once, use the additional action button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:VT26_1.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:VT_19_21.png]]
 
|}
 
|}
  
===Rebuild===
+
===Other===
 +
====[https://www.docs.modulesgarden.com/Translations_Tool Translations]====
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|The rebuild feature allows your clients to change a server image.<br />
+
|style="padding: 10px 0px 15px 15px;"|Customizing language files is now extremely easy with the '' "Translations" '' tool that is now available directly in the addon.<br.> Its user-friendly design makes managing various language file tweaks a smooth and efficient process. <br/>
To reinstall your server, choose an image and confirm through pressing the '' 'Rebuild' '' button.
+
Prepare translations for the original English files with this handy built-in tool. For specific instructions on how to use this tool please refer to its dedicated article, you will find it [https://www.docs.modulesgarden.com/Translations_Tool here].
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:VT28.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:VT_19_22.png]]
 
|}
 
|}
  
===Rescue Mode===
+
====Logs====
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|The rescue mode provides a mechanism for a VM access even in case the VM's image renders the instance inaccessible - e.g. if instance's filesystem becomes corrupted. <br />
+
|style="padding: 10px 0px 15px 15px;"|The '' 'Logs' '' section under the '' 'Other' '' tab is where the module logs are stored.<br/>
The rescue VM will be launched to permit the user to fix their VM.
+
You can filter the module logs by type with the '' 'Show' '' buttons:
 +
*'''Critical'''
 +
*'''Error'''
 +
*'''Notice'''
 +
*'''All (Total)'''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT48.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_23.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|
+
|style="padding: 0px 0px 20px 15px;"|You can delete logs either one by one or with the mass delete function.
Before you continue, please note that the rescue VM will be set up with the same network configuration as the real VM. <br />
+
Moreover, a new root password will be generated and the VM status will change to 'RESCUE'.<br />
+
The new VM will also have a rescue image as the primary filesystem and the secondary filesystem would be the original VM's primary file system.'' <br />
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT49.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_24.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|When you want to disable the rescue mode, click the 'Unrescue' button. The VM status will then also return to 'ACTIVE'.
+
|style="padding: 0px 0px 15px 15px;"|Additional actions include:
 +
*'''Logging Settings'''
 +
*'''Log Export'''
 +
*'''Rule Based Deletion'''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:VT50.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_25.png]]
 
|}
 
|}
 
===Backups===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Your customers can also create backups of their resources. To do so, press the '' 'Create Backup' '' button.<br/>
+
|style="padding: 0px 0px 15px 15px;"|In the settings you may decide:
In this section, you will find three different categories related to backups and their management. <br/>
+
*'''Log Types''' - Specify which types of logs should be recorded.
At the very top, you will find a current list of existing and available backups with details on their status, creation date, and action button.<br/>
+
*'''Clear Automatically''' - Choose whether to automatically delete logs older than a defined number of days.
Underneath, you may create backups manually at any moment you need. From the 1.9.0 module version, volume backups on demand are also supported.<br/>
+
*'''Delete Logs Older Than''' -  Define the number of days after which logs will be automatically deleted.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT31.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_26.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Simply, type in a custom name of your backup and press the'' 'Backup Now' '' button.<br/>
+
|style="padding: 0px 0px 15px 15px;"|While exporting you will have to specify which logs to export:
 
+
*'''From''' - Define the starting date for logs to export.
'''''Note 1:''' Sometimes it may take up to several dozen minutes to finish creating the backup. Please wait until the process is complete.<br/>
+
*'''To''' - Define the ending date for logs to export.
'''''Note 2:''' If there has been a limit set on the number of allowed backups and you have just reached that restriction, then a backup with the earliest creation date will be removed to make room for the new on.''
+
*'''Log Types''' - Includes '' 'Notice', 'Error' '' and '' 'Critical' '' log types.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT32.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_19_27.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Clients are also given the opportunity to create backups automatically by enabling the option: '' 'Schedule Backups'. ''<br/>
+
|style="padding: 0px 0px 15px 15px;"|You can also delete specific logs without finding them manually.<br/> Simply define:
 
+
*'''Log Types''' - Specify which log types should be considered for removal.
When enabled, provide a time interval to wait until the next backup will be created to define the tasks routine. The entered time interval must be higher or equal to the limit defined by your administrator.<br/>
+
*'''Delete Logs Older Than''' - Define the number of days after the log occurrence for automatic deletion.
'''''Note:''' The number of backups created manually and those scheduled and created automatically is counted together and their overall sum cannot be higher than the defined limit.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT32_1.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:VT_19_28.png]]
 
|}
 
|}
 +
 +
==Admin Area==
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|To restore a VPS from backup, simply press the '' 'Restore' '' button next to it.<br />
+
|style="padding: 10px 0px 15px 15px;"|'''Vultr VPS For WHMCS allows your customers to manage their servers via the client area in your WHMCS system.'''<br />
If selected backups are no longer needed, you may easily delete them.  
+
You can monitor and manage each product from your WHMCS admin area.
 +
# Configurable options that enable you to view current resources and change specifications through changing configurable options and pressing '' 'Change Package'.''
 +
# Module commands ''(Create, Suspend/Unsuspend, Change Package)''.
 +
# Scheduled tasks - list of tasks to be performed with the cron execution.
 +
# Service actions ''(Start/Stop VM, Reboot)''.
 +
# Instance details along with Public Network IPv4 and IPv6 details ''(the latter one is available only if you enable it in the product's configuration)''.
 +
# Backups, firewall rules, snapshots management sections.
 +
# Reverse DNS management and a preview of reserved IP addresses.
 +
# Applications list allowing for machine reinstallation with included applications or systems.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:VT32_2.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:VT_21.png]]
 
|}
 
|}
  
===VNC Console===
+
==Ordering==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|One of the most interesting functionality is a VNC console where your clients can remotely manage their servers.<br />  
+
|style="padding: 10px 0px 15px 15px;"|Owing to configurable options, you are able to offer a product that your clients can tailor according to their needs.<br />
To access it, simply click on the '' 'Console' '' button.
+
Additionally, you are able to set up pricing for each configurable option, which makes your offer even more competitive.<br />
 +
'''''Important:''' VPS is not created immediately after pressing '' 'Create' ''. Therefore, it is wise to inform your clients about the delay.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT29.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:VT_22.png]]
 
|}
 
|}
 +
===Importing Existing Instance===
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|VNC is a browser based VNC client. It was implemented using HTML5 Canvas and WebSockets.
+
|style="padding: 10px 0px 15px 15px;"|In this section, you can find short instructions on how to connect one of your clients to your already existing instance in the Vultr panel. <br/> Take the following steps to make sure that the process will be carried out properly. <br/>
 +
1. Firstly, manually create an order for your customer in WHMCS. Choose a client and in the summary, view click on the '' ' Add New Order' '' button. Next, select a '' 'Product/Service' '' and press '' 'Submit Order' ''. <br/> '''What is important, do not perform the '' 'Create' '' action.''' The status has to remain as '' 'Pending' ''. <br/> More info about placing orders can be found [https://docs.whmcs.com/Order_Management#Placing_an_Order here]<br/>
 +
2. Proceed to the newly created product's card in your admin area. Find the following empty field:
 +
*'''Instance ID'''
 +
The above-mentioned information has to be consistent with the data from your Vultr panel. Now, complete this field as presented below. <br/> '''Important!''' Remember to make sure that the format of the provided data is compatible with the format supported by the module. You can preview it for another product of the module you have already created and enter it in a similar way. <br/> If you completed the required data, now change the status from '' 'Pending' '' to '' 'Active' '' and '' 'Save Changes'.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:VT30.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:Vultr_import.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 15px;"|3. If the completed data is correct, after refreshing the page, you will see the attached instance from Vultr. <br/> '''Important!'''  Remember to manually add other missing parameters of the instance such as domains, credentials, IP Addresses, configurable options, etc. so they match the parameters of the attached instance from Vultr panel.
 
|}
 
|}
  
===VM Protection===
+
==Client Area==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|In the product configuration page you can enable the '' 'Protect VM After Creation' '' option which prevents the termination or rebuilt of VM.<br/>
+
|style="padding: 10px 0px 15px 15px;"|Client area interface of Vultr VPS should look like the one on the screen below. As you can see, the control panel contains useful options needed for managing a virtual machine.<br />
The selected status of this protection will be applied to both admin area and client area.
+
The module allows your customers to easily start, stop, and reboot their servers by pressing a specific button.<br />
 +
Clients can also access the VNC console, manage backups, view bandwidth graphs, and many others.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT51.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:VT_23.png]]
 
|}
 
|}
 +
===App Templates===
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Moreover, if the '' 'Protect VM' '' option is enabled in the client area, the client will be empowered to toggle the current protection status.
+
|style="padding: 10px 0px 15px 15px;"|The 'App Templates' allows you to easily install applications, ISO images, operating systems and snapshots on your VPS.<br/>
 +
'''''Important:''' Installations will wipe all existing data from the machine.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:VT52.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:VT_23_1.png]]
 
|}
 
|}
  
===Firewall===
+
===Backups===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|The firewall management page allows your customers to view, add or delete existing rules on a security group assigned to the product.<br/>
+
|style="padding: 10px 0px 15px 15px;"|The first section available for clients grants the ability to view the list of existing '' 'Backups' '' of your server. <br/> Please remember that '' 'Backups' '' are assigned to a particular server and will be removed once the server is deleted. <br/>  
To add a new firewall rule, use the button marked on the following screen.  
+
'''''Note:''' There is a limit of a maximum of two backups per server. Once a new backup is created, the oldest one is automatically removed.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT53.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_24.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Next, choose the rule type (TCP, UDP, ICMP or Other Protocols), direction (inbound or outbound) and ether type (IPv4 or IPv6).<br/>Depending on the port you choose, you will be able to add a rule for a single port only, a range of ports or all ports at once. You can also select one of the predefined ports or use a custom one.<br/>Finally, provide a single IP address or specify the range of addresses using the CIDR format (e.g. 10.10.10.1/24).<br/>
+
|style="padding: 0px 0px 15px 15px;"|Clients are also given the opportunity to schedule incoming backups by pressing the '' 'Schedule Backups' '' button.<br/>
Press '' 'Add' '' when ready.
+
Provide a time details to wait until the next backup is created.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:VT54.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_25.png]]
 
|}
 
|}
 
==Network Configuration Cases==
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"| OpenStack VPS & Cloud For WHMCS allows you to set up two types of network.<br />
+
|style="padding: 0px 0px 15px 15px;"|To restore a VPS from backup, simply press the '' 'Restore' '' button next to it.<br />
The first one is a network without a floating IP address.<br />
+
If selected backups are no longer needed, you may easily delete them.  
To set up this type of network, choose '' 'Public' '' as '' 'Fixed Network' '' and '' 'Disabled' '' as '' 'Floating Network' ''.<br />
+
On the following screen you can view an exemplary topology of such a network.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT36.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:VT_26.png]]
 
|}
 
|}
 +
 +
===Console===
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|The second type of network is the network with a floating IP address.<br />
+
|style="padding: 10px 0px 15px 15px;"|One of the most interesting functionality is a noVNC console where your clients can remotely manage their servers.<br /> To access it, simply click on the '' 'Console' '' button.<br/>
Select '' 'Shared Network' '' as '' 'Fixed Network' '' and '' 'Public' '' as '' 'Floating Network' ''.
+
'''''Note:''' Vultr offers a generic VNC URL that serves as a white-label URL. If you wish to use a white-label console with the Vulr VPS For WHMCS module, please contact the '''Vultr support''' via their official ticketing system.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:VT37.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:VT_33.png]]
 
|}
 
|}
  
==Configurable Options==
+
===Custom ISO===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|In case that standard configuration does not meet your needs, you can adjust it through configurable options.<br />
+
|style="padding: 10px 0px 15px 15px;"|"Custom ISO" feature allows clients to pick a single ISO and mount it to the machine. <br/>
To do so, go to '' 'Setup' '' '' 'Products/Services' '' → '' 'Configurable Option' '' and press the edit button next to a configurable option used by your product.<br />
+
'''''Note:''' Mounting a custom ISO requires rebooting the machine.''
Its name is '' 'Configurable options for your_product_name' ''.
+
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:VT_36.png]]
 
|}
 
|}
 +
 +
===Firewall===
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT38.png]]
+
|style="padding: 10px 0px 15px 15px;"|The firewall management page allows your customers to view, add, or delete existing rules on a security group assigned to the product.<br/>
 +
To add a new firewall rule, use the button marked on the following screen.<br/>
 +
'''''Note:''' Please remember that there is a limit of 50 firewall rules. If you reach this limit, you will not be allowed to create new ones before removing any existing ones.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Here you can view the products that this configurable option group is assigned to.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_27.png]]
Now we will show you how to edit options. Let's say that you want to add an option to order VPS with 8GB (8192 MB) RAM.<br />
+
To do so, edit '' 'ram|RAM' '' by pressing the edit button as shown on the screen below.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT39.png]]
+
|style="padding: 0px 0px 15px 15px;"|Next, fill out the rule details to create it:
 +
*'''Type'''- choose between '' 'IPv4' '' and '' 'IPv6'.''
 +
*'''Protocol''' - select among ''TCP, UDP, ICMP, GRE, ESP'' and ''AH''.
 +
*'''Port''' - you may specify a port number or a port range (TCP/UDP only).
 +
*'''Source''' - specify a custom source or Cloudflare.
 +
*'''Subnet''' - enter the source IP address.
 +
*'''Subnet Size''' - define the size of the subnet.
 +
*'''Notes''' - include custom notes if needed.
 +
 
 +
Press '' 'Confirm' '' when ready.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|You will see a popup window, so make sure that your browser will not block it.<br />
+
|style="padding: 0px 0px 30px 25px;"|[[File:VT_28.png]]
To add a new option, enter it in a textbox under all other options. If you want to replace it with an option you currently have, simply edit its text box.<br />
+
Next, press '' 'Save Changes' ''.
+
 
|}
 
|}
 +
 +
===Graphs===
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT40.png]]
+
|style="padding: 10px 0px 20px 15px;"|Once entering the '' 'Graphs' '' section, clients will be moved to the page with the generated graphs showing the '' 'Bandwidth' '' usage.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Please remember that names of '' 'Options' '' for configurable options such as '' 'Flavor' '', '' 'Network' '' as well as '' 'Image' '' '''should NOT''' be modified in WHMCS. <br/> These names should remain the same as in your OpenStack panel.
+
|style="padding: 0px 0px 30px 25px;"|[[File:VT_29.png]]
 +
|}
 +
 
 +
===Reserved IP Addresses===
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|This section includes a list of all existing in the panel reserved IP addresses. <br/>
 +
*on the account creations the IP addresses are automatically added to the group
 +
*on the change package action ''(downgrade/upgrade)'' the IPs are added or removed accordingly
 +
*on termination, all IPs are removed
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:VT40_1.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:VT_34.png]]
 
|}
 
|}
  
==Management of Billing==
+
===Reverse DNS===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|When you combine  OpenStack VPS & Cloud For WHMCS with [https://www.docs.modulesgarden.com/Advanced_Billing_For_WHMCS Advanced Billing For WHMCS], you will be able to set up additional billing options.<br />
+
|style="padding: 10px 0px 15px 15px;"|Reverse DNS option allows your clients to manage reverseDNS of the IP addresses assigned to the machine.<br/>
Module allows you to charge your customers based on the server resources used by them.<br />
+
You can change the hostname that will appear when getting the hostname belonging to the primary IPs (IPv4 and IPv6) of your server.<br/> To do so, just click on the button presented below.<br/>
''Note: Advanced Billing currently supports only API prior V3 (OpenStack Ocata). A new compatibility will be added soon.''
+
'''''Note:''' IPv4 addresses are already added on the list and cannot be deleted''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:VT42.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_33_1.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|With Advanced Billing module, you can also display your customers the current server resource usage, their cost, usage history and charts.
+
|style="padding: 0px 0px 15px 15px;"|When '' 'IP' '' and '' 'Reverse DNS' '' are provided, just confirm the action.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:VT43.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_33_2.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:VT_33_3.png]]
 
|}
 
|}
  
=Tips=
+
===Snapshots===
 
{|
 
{|
|style="padding: 10px 0px 5px 15px;"|1. Due to some requests may take time to be completed, we implemented '' 'Scheduled Tasks' ''.<br />
+
|style="padding: 10px 0px 15px 15px;"|Creating snapshots allows customers to quickly restore any changes to a virtual machine in case of any problems.<br/>
Tasks visible at '' 'Scheduled Tasks' '' are subsequently performed by a cron job.<br />
+
Once the shutter has been created, the customer can restore it (1), change its description (2) or delete it (3).
Full list of tasks supported by '' 'Scheduled Tasks' '' are: create, terminate, change package, remove IP address and remove backup.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 5px 15px;"|2. '''Important:''' module has to use admin endpoints instead of public endpoints.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:VT_31.png]]
In a properly configured OpenStack server, wget from WHMCS server should be able to get any data from any '''admin''' endpoint.<br />
+
Sample successful requests:
+
wget openstack:9292
+
--2014-03-31 09:35:24-- http://openstack:9292/
+
Resolving openstack(openstack)... 192.168.1.222
+
Connecting to openstack(openstack)|192.168.1.222|:9292... connected.
+
HTTP request sent, awaiting response... 300 Multiple Choices
+
Length: 520 [application/json]
+
Saving to: `index.html'
+
+
100%[==========================================================>] 520 --.-K/s in 0s
+
+
2014-03-31 09:35:24 (118 MB/s) - `index.html' saved [520/520]
+
 
+
 
+
wget openstack:8777
+
--2014-03-31 09:41:05-- http://openstack:8777/
+
Resolving openstack(openstack)... 192.168.1.222
+
Connecting to openstack(openstack)|192.168.1.222|:8777... connected.
+
HTTP request sent, awaiting response... 401 Unauthorized
+
Authorization failed.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 5px 15px;"|3. A primary IP address is always assigned by the OpenStack server when a VM is created. Therefore, if you decide to order 2 IP addresses, then 3 addresses will be assigned.<br> The primary one and the two additionally ordered. If you wish only one IP address to be assigned to a single product, please set the filed '' 'Default Number Of IP Addresses' '' to '0'<br/> or leave it empty in the product's '' 'Module Settings'. ''
+
|style="padding: 0px 0px 15px 15px;"|After pressing the '' 'Create Snapshot' '' button, the new window will pop up along with the possibility to specify the snapshot description.<br/>
 +
Please note that taking a new snapshot may take a while to process.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|4. '' 'Scheduled Backups' '' functionality is available also for VPS using volumens since 2.0.0 module version and later.
+
|style="padding: 0px 0px 30px 25px;"|[[File:VT_32.png]]
 
|}
 
|}
  
=Update Instructions=
+
===User Data===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|An essential guidance through the process of updating the module is offered '''[https://www.docs.modulesgarden.com/How_To_Update_WHMCS_Module here]'''.<br/>
+
|style="padding: 10px 0px 20px 15px;"|User data can be freely altered in the client area. Remember that after introducing any changes, the machine restart is required to apply the changes.<br/>
 +
'''''Note:''' User data supports smarty variables, such as '{$password}'.  Follow to this article to find a full '''list of supported [https://developers.whmcs.com/provisioning-modules/module-parameters/ module parameters]''' and their descriptions.  
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:VT_35.png]]
 +
|}
  
When you upgrade the module from the version older than 1.8.1 to '''1.8.1 or newer''', please remember to update the new server's hostname to the new address format, as described in step 8. of the [[#Configuration_of_Server|configuration of server]] guide.<br/><br/>
+
=Tips=
 
+
{|
Keep in mind that there is a quick and easy option in our client area that will let you upgrade the license of your module to an open source version at any time - and at a lower price!<br/>
+
|style="padding: 10px 0px 10px 15px;"| 1. Vultr offers a generic VNC URL that serves as a white-label URL. If you wish to use a white-label console with the Vulr VPS For WHMCS module, please contact the Vultr support team via their official ticketing system.
To take advantage of it, simply use the '''License Upgrade''' button located on the product page and a discounted invoice will be generated automatically.<br/>
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"| To upgrade '''OpenStack VPS & Cloud''' from '''v1.X.X''' to '''v2.X.X''' correctly, please follow these steps: <br/>
+
|style="padding: 0px 0px 30px 15px;"| 2. If you may choose among all four configurable options to configure your VPS when placing an order, they will be prioritized in the following manner:
*Firstly, make a backup copy of your server and database.
+
'' 'Operating System' 'Snapshot' 'ISO' '' and '' 'Application' '' as the least one on the list.
*When you successfully performed a backup, now stop cron tasks that are running.
+
*Delete these folders:
+
<pre>yourWHMCS/includes/OpenStack </pre>
+
<pre>yourWHMCS/modules/servers/OpenStackVPS </pre>
+
*Delete these two files '''openstackvps.js''' and  '''openstackvps.php''' that are placed in this folder:
+
<pre>yourWHMCS/includes/hooks</pre>
+
*Now, upload new files to your '''main WHMCS directory'''. <br/>
+
'''Important!''' Please remember to reissue the license in the client area after uploading new files to the main WHMCS directory.<br/>
+
If you do not do this, you will get a notification about the wrong license, and the upgrade process will not succeed.<br/>
+
Please follow our [[#Installation|documentation]] to make sure that you reissue the license properly.
+
*Run the migration cron job:
+
<pre>php -q /yourWHMCS/modules/servers/OpenStackVpsCloud/cron/cron.php migration:v1_v2 </pre>
+
*Set the cron task once again:
+
<pre>php -q /yourWHMCS/modules/servers/OpenStackVpsCloud/cron/cron.php queue </pre>
+
*Finally, proceed to the configuration of your server and check if the module type is changed to OpenStack VPS Cloud <br/> and the 'Module Name' to OpenStack VPS Cloud in the 'Module Settings' tab of your product configuration.
+
 
|}
 
|}
  
=Common Problems=
+
=Update Instructions=
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.'''
+
|style="padding: 10px 0px 15px 15px;"|An essential guidance through the process of updating the module is offered '''[https://www.docs.modulesgarden.com/How_To_Update_WHMCS_Module here]'''.<br/>
 +
Ensure successful completion of the module update by carefully following each step, thereby preventing data loss or any unforeseen issues.<br/> Additionally, you will find a current list of supplementary actions necessary for a smooth update process there.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 15px;"|2. In case of persisting connection problems, please make sure you have the following ports open:
+
|style="padding: 0px 0px 30px 15px;"|While upgrading to '''version 2.x''' make sure to follow those guidelines:<br/>
  8774, 35357, 9292, 5000, 8777, 9696, 8776
+
1. Make sure '''all tasks are finished''', as the migration process will delete them.<br/>
 +
2. Optionally, back up your '''customized language files'''.<br/>
 +
3. '''Delete all files''' from the previous version of the module.<br/>
 +
4. Upload the '''new module files'''.<br/>
 +
5. Manually initiate the version upgrade with the '''cron command''':  
 +
  php -q /YOUR_WHMCS/modules/servers/VultrVps/cron/cron.php upgrade run 2.0.0
 +
6. Optionally, restore changes made to the language files.
 
|}
 
|}
 +
 +
=Upgrade Guide=
 +
{|
 +
|style="padding: 10px 0px 30px 15px;"|Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability?<br/> There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment.<br/>
 +
 +
Opt for the [https://www.modulesgarden.com/products/whmcs/vultr-vps#open-source-version Open Source version] of your Vultr VPS For WHMCS module to unlock these benefits.<br/> Simply click on either the '''Get Source Code''' or '''Upgrade To Lifetime''' button found on the product's page in our client area to complete the one-step upgrade process, with a '''dedicated discount''' already applied.<br/>
 +
 +
Follow a [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module comprehensive guide] covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized.
 +
|}
 +
 +
=Common Problems=
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|3. If you come across an error with downloading endpoints during the server configuration process, please save the incomplete configuration, refresh a page and then try to finish your server configuration again.
+
|style="padding: 10px 0px 10px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.'''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 15px;"|4. In case you encounter any issues with the cloud-int script or it seems not to be working please follow the below steps:
+
|style="padding: 0px 0px 5px 15px;"|2. Downgrading virtual machines with block storage is impossible. Move to the official [https://www.vultr.com/docs/block-storage#How_to_Downgrade_Block_Storage Vultr documentation] to find out more.
* Log in to virtual machine via FTP or noVNC
+
* Check content of the directory: ''/var/lib/cloud/instance/user-data.txt''
+
* If content is the same as you have defined it in the module, it means that the problem is not connected with the module itself
+
* In order to verify if the script includes any errors, please run the below command from the console and analyze the results searching for any errors:
+
  cloud-init --debug init
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 15px;"|5. If you come across the "This flavor - flavor_name_or_id - is not available in the region region_name." error when creating a VM, you should refresh the server configuration page and update Configurable Options.<br/> If this error is still occurring, please make sure that you have the same flavor names set for all regions.
+
|style="padding: 0px 0px 30px 15px;"|3. Due to restrictions of Vultr itself, applications of the '' 'once-click' '' type can only be installed on fresh installations (during the '' 'CreateAccount' '' action).<br/>They can also only be reinstalled into operating systems, but not different applications.
 
|}
 
|}

Latest revision as of 11:43, 17 April 2025

Updating your Vultr VPS For WHMCS module to version 2.0.0?
Make sure to follow the update instruction.

Contents

[edit] About Vultr VPS For WHMCS

Vultr VPS For WHMCS is a module that allows fully automated management of Vultr VPS servers.

The module will allow your clients to remotely control the status of a server, access the console, rebuild the VPS and many others.
You will be also allowed to adjust your offer to even the most demanding needs of your clients with a wide range of configurable options.

  • Admin Area Features:
✔ Create/Suspend/Unsuspend/Terminate Server
✔ Change Package
✔ Start/Stop/Reboot Server
✔ Access noVNC Console
✔ View Instance Status And Details
✔ View Assigned Public IPv4 And IPv6 Network Details
✔ Reinstall Server With App Templates:
✔ Applications
✔ ISO Images
✔ Operating Systems
✔ Snapshots
✔ View/Schedule/Restore Automatic Backups
✔ Mount Custom ISO
✔ View/Create Firewall Rules
✔ View Assigned Reserved IP Addresses
✔ View/Create/Manage Reverse DNS Records
✔ View/Create/Restore Snapshots
✔ Provide Cloud-Init User-Data Initiation Script
✔ View Scheduled Tasks
✔ Configure Product Details:
✔ Choose Region
✔ Choose Plan
✔ Provide Default Reverse DNS Template
✔ Toggle DDOS Protection
✔ Toggle Automatic Backups
✔ Toggle IPv6 Address
✔ Use Hostname In Label Field
✔ Enable White Label noVNC Console
✔ Select Default Application Group And Default Application
✔ Choose Features Available In Client Area:
✔ App Template
✔ Backups
✔ Console
✔ Firewall
✔ Graphs
✔ Snapshots
✔ Reverse DNS
✔ Reserved IP Addresses
✔ User Data
✔ Custom ISO
✔ Enable Instance Block Storage With Defined Type And Size
✔ Set Snapshots Limit
✔ Enable Reserved IPv4 And IPv6 Addresses Within Defined Limits
✔ Generate Configurable Options
✔ Run API Connection Test
  • Addon Module Features:
✔ Configure App Templates:
✔ Applications
✔ ISO Images
✔ Operating Systems
✔ Snapshots
✔ Create Application Groups And Assign App Templates
✔ Manage Media Library With Logotypes For App Templates
✔ View Queue Of Scheduled Tasks
✔ Customize Module Language Files With "Translations" Tool
✔ View And Manage Logs
  • Client Area Features:
✔ Start/Stop/Reboot Server
✔ Access noVNC Console
✔ View Instance Status And Details
✔ View Assigned Public IPv4 And IPv6 Network Details
✔ View Scheduled Tasks
✔ Reinstall Server With App Templates:
✔ Applications
✔ ISO Images
✔ Operating Systems
✔ Snapshots
✔ View/Schedule/Restore Automatic Backups
✔ Mount Custom ISO Images
✔ View/Create Firewall Rules
✔ View Bandwidth Usage Graph
✔ View Assigned Reserved IP Addresses
✔ View/Create/Manage Reverse DNS Records
✔ View/Create/Restore/Delete Snapshots
✔ Provide Cloud-Init User-Data Initiation Script
  • Configurable Options:
✔ Application
✔ Backups
✔ Block Storage
✔ Block Storage Size
✔ Block Storage Type
✔ DDOS Protection
✔ IPv6 Support
✔ Reserved IPv4 Addresses
✔ Reserved IPv6 Addresses
✔ Plan
✔ Region
✔ Snapshot Limit
  • Available Images And Applications:
✔ Linux OS:
✔ AlmaLinux
✔ Arch Linux
✔ Alpine Linux
✔ CentOS
✔ Debian
✔ Fedora
✔ Fedora CoreOS
✔ Flatcar Container Linux
✔ FreeBSD
✔ OpenBSD
✔ openSUSE
✔ Rocky Linux
✔ Ubuntu
✔ Microsoft Windows:
✔ Windows Core 2022
✔ Windows Core 2019
✔ Windows Core 2016
✔ Windows Server 2022
✔ Windows Server 2019
✔ Windows Server 2016
✔ Windows Server 2012 RS
✔ Marketplace Apps:
✔ 3CX Phone System
✔ 3DKit
✔ aaPanel
✔ AIDungeon2
✔ Anaconda
✔ Ant Media Server (Community Edition/Enterprise Edition)
✔ Asp.net
✔ AzuraCast
✔ Bitnami via Vultr (Jenkins/Magento/PrestaShop)
✔ BotGuard Ingress Controller
✔ BrowserBox
✔ Bun
✔ Chevereto
✔ Clever VPN Server
✔ CloudHub
✔ CloudPanel 2
✔ Cloudron
✔ ClusterControl
✔ Colyseus
✔ ComfyUI
✔ Coolify
✔ Coder
✔ cPanel
✔ CyberPanel
✔ Debian 12 with Automatic Updates
✔ Docker
✔ Drupal
✔ Easypanel
✔ Elasticsearch
✔ FASTPANEL
✔ Fauxpilot
✔ FileCloud
✔ Forgejo
✔ GitLab
✔ Grafana
✔ Haltdos
✔ Helpy Pro
✔ InvokeAI
✔ Ispmanager
✔ Jamulus
✔ Jitsi
✔ Joomla
✔ k3s
✔ Keitaro
✔ KobaltAI
✔ LAMP
✔ Laravel
✔ LEMP
✔ LibreChat
✔ Librum Server
✔ LinuxPatch Appliance
✔ Mediawiki
✔ Microweber Website Builder
✔ Minecraft (Bedrock/Forge/PaperSpigot/Vanilla)
✔ Miniconda
✔ Mist Community Edition
✔ MLDev
✔ MongoDB Community Edition
✔ Nextcloud
✔ NirvaShare
✔ NodeJS
✔ ONLYOFFICE (Docs/Workspace)
✔ OpenLiteSpeed (Django/Drupal/Joomla/NodeJS/Rails/WordPress)
✔ OpenVPN Access Server
✔ Palworld
✔ PasswordLab
✔ Plesk (Web Admin SE/Web Host/Web Pro)
✔ PrestaShop
✔ Pritunl
✔ Prometheus
✔ Restyaboard
✔ Roxy-WI
✔ SeaTable
✔ ServerWand
✔ Squidex
✔ Statusnook
✔ Steam
✔ Strapi
✔ Supabase
✔ Talos Linux
✔ Ubuntu Desktop (Gnome/KDE/XFCE)
✔ Uptime
✔ UTunnel VPN
✔ VDev
✔ Video2x
✔ Virtuozzo Multi-cloud App Platform
✔ VitalPBX
✔ Vodia Phone System
✔ Vultr Broadcaster
✔ Vultr GPU Stack
✔ Vultr WebApp
✔ WarpSpeed VPN
✔ Webmin
✔ Wireguard
✔ WooCommerce
✔ WordPress
✔ WP Squared
✔ xrDebug
✔ Yeastar P-Series Phone System
✔ ISO Images:
✔ Finnix
✔ GParted
✔ Hiren's BootCD PE
✔ SystemRescue
✔ Snapshots
✔ Any Other OS Platforms And Solutions When Made Available By Vultr
  • General Info:
✔ Fully Integrated With Lagom WHMCS Client Theme
✔ Multi-Language Support With Custom Translations Tool
✔ Supports PHP 8.2 Back To PHP 8.1
✔ Supports WHMCS Themes "Six" And "Twenty-One"
✔ Supports WHMCS V8.12 Back To WHMCS V8.9
✔ Requires ionCube Loader V14 Or Later
✔ Easy Module Upgrade To Open Source Version

[edit] Installation and Configuration

This tutorial will show you how to successfully install and configure Vultr VPS For WHMCS.

We will guide you step by step through the whole installation and configuration process.

[edit] Installation

1. Log in to our client area and download the module.
VT 1.png
2. Extract the package and upload its content into the main WHMCS directory.

The content of the package to upload should look like this.

VT 2.png
4. When you install Vultr VPS For WHMCS for the first time you have to rename the 'license_RENAME.php' file.

The file is located in 'modules/servers/VultrVps/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

VT 3.png
5. In order to configure your license key, you have to edit the previously renamed 'license.php' file.

Enter your license key between quotation marks as presented on the following screen.
You can find your license key in our client area → 'My Products'.

VT 3 1.png
6. Now, set up the 'storage' folder as recursively writable.

This folder is available at '/yourWHMCS/modules/servers/VultrVps/'.

VT 4.png

[edit] Activating Addon Module

7. Now, you have to activate the module in your WHMCS system.

Log in to your WHMCS admin area. Go to 'System Settings' 'Addon Modules'. Afterward, find 'Vultr VPS' and press the 'Activate' button.

VT 4 1.png
8. In the next step, you need to grant access to this module.

To do so, click on the 'Configure' button, go to the 'Access Control' area, and check the required admin role groups. Press 'Save Changes'.

VT 4 2.png
9. The final step of the module installation is setting up a cron command that is required for several module features to work properly.

Note: The cron execution is required for products in version 1.1.0 and later.

php -q /yourWHMCS/modules/servers/VultrVps/cron/cron.php queue

Remember to replace "yourWHMCS" with a proper directory.
The suggested time interval for cron execution is 5 minutes.

VT 4 3.png

[edit] Configuration of Server

Before you can go on, you must generate your Vultr API Token. You will need it to connect with the server successfully.

Underneath you will find instructions on where to find your API details.

10. Firstly, log into your Vultr account at: https://my.vultr.com/.
VT 5.png
11. Move to the 'API' details section under your account.

There find the 'Personal Access Token' section and generate your API Key.
You must previously enable API to be able to generate the API key. Copy the key as you will need in the next steps of the server configuration.

VT 6.png
12. Now, log in to your WHMCS and proceed to 'System Settings' 'Servers' and press 'Add New Server'.
VT 7.png
13. Next, enter your server name and a hostname or an IP address. Then select 'Vultr VPS' from the 'Type' field.

Now, provide the previously generated API token in the 'Password' field. Then check the connection, if successful, save the changes.

VT 8.png
14. It is time to create a server group. To do so, click on 'Create Server Group'.
VT 9.png
15. Enter a name, click on your previously created server, press 'Add' and afterward 'Save Changes'.
VT 10.png

[edit] Configuration of Product

16. In order to create and configure a product, go to 'System Settings' 'Products/Services'.

Click on 'Create a New Group' .

VT 11.png
17. Enter a product group name and press 'Save Changes'.
VT 12.png
18. When you have a product group, you can create your product.

To create a product click on 'Create a New Product' .

VT 13.png
19. Afterward, choose your product group and type from the dropdown menus, enter your product name and press 'Continue'.

'Product Type' should be set to 'Shared Hosting'.

VT 14.png
20. Now, go to the 'Module Settings' section, choose both 'Vultr VPS' and your previously created server group from the dropdown menus.

The module should automatically save and reload settings. If not, click on 'Save Changes' manually.

VT 15.png
21. Proceed to 'Configuration'.
  • Region - choose one of the geographical areas with the preferred predefined set of resources for your VPS.
  • Plan - choose a plan to install the virtual machine.
  • Default Reverse DNS Template - define the default format for reverse DNS entries using supported Smarty variables to represent parts of the IP address.
  • Random Domain Prefix - enter the domain prefix that will be used when a domain is not provided.
  • Automatic Backups - turn on automatic backups creation.
  • IPv6 Support - enable to use the IPv6 addresses type for the VPS.
  • Use Hostname in Label Field - enable this option to be allowed to provide the hostname into the Label field.
  • DDOS Protection - add an extra layer of security by enabling DDOS protection.
  • Enable White Label noVNC Console - toggle this option to enable the noVNC console without any Vultr labels.
    Important: To use a white-label console, please contact the Vultr support first!
VT 16.png
22. Proceed with 'App Template Configuration'.
  • Default Application Group - group of applications allowed for reinstalls, see the groups section.
  • Default Application - default application to be installed on the VPS, see the applications section.
VT 16 1.png
23. Next, select features available at the client area.

You can also decide which images used to rebuild the server will be available to your customers.

VT 17.png
24. Enable additional options and set up configuration per each one of them:
  • Block Storage - Enable Block Storage.
    Important: It is impossible to successfully downgrade block storage.
  • Storage Type - Select Block Storage type.
  • Storage Size - define the storage size between 10 and 10 000 GB, note that if you also decide to enable this configurable option, it will overwrite the general product settings.
  • Snapshot Limit - define the snapshot limit that the client is allowed to create.
  • Reserved IP Addresses - enable reserved IP addresses feature.
  • IPv4 Addresses Limit - enter the limit of addresses for IPv4.
  • IPv4 Addresses Limit - enter the limit of addresses for IPv6.
VT 17 1.png
25. At the end of the configuration process, you can decide whether you want to generate configurable options for the product.

Configurable options can be used by your clients to select each virtual machine parameter individually during order placement.
Otherwise, if configurable options are not defined, then the fixed parameters specified in the earlier configuration will be used instead.

VT 18.png
If you decide to use configurable options, press the 'Create' button and select which options you want to generate.

We recommend using either block_storage or a combination of block_storage_size and block_storage_type, but not both at the same time, as they serve the same purpose in different ways.
Note that the configuration for disabled options will still be taken from the configuration of the main product.
More information about how to use configurable options can be found here or in the official WHMCS documentation.

VT 19.png

[edit] Management

This guide is divided into three main sections to provide a clear and comprehensive understanding of the module's functionality.

The first section, 'Addon', covers the basic configuration and management of the module addon.
The second section, 'Admin Area' focuses on VPS management from the admin area.
Finally, the third section, 'Client Area' delves into the client area, explaining how users can manage their VPS.

Each part is designed to give you an easy-to-understand overview of the module's features.

[edit] Addon

The addon provides administrators with the tools to efficiently monitor and manage the module's functionality, while also offering customization options tailored to client needs.

It includes a task 'Queue' for managing pending actions, a 'Logs' section for tracking activity, and 'App Templates' for preparing applications for clients.
Additionally, the media library allows for the easy upload of images to be used within the module.

[edit] Queue

In this section, you will find a list of all the tasks issued by the module.

You can filter tasks by type with the 'Show More' buttons.

VT 19 1.png
The information on each task includes:
  • Task ID
  • Related item
  • Task status
  • Task type
  • Attempts taken
  • Date of creation
  • Date of the last status update

You may also use the action buttons to:

  • See task details
  • Manually run the task
  • Delete the task

To find specific tasks use the search and sorting functions.

VT 19 2.png
Task details include:
  • Task ID
  • Job
  • Queue
  • Retry Count
  • Parent ID
  • Type
  • Related Item
  • Custom Relation
  • Status
  • Retry After Date
  • Created At Date
  • Updated At Date
VT 19 3.png
Related log entries can be found in a separate tab.
VT 19 4.png
Tasks can also be deleted with the mass action function.
VT 19 5.png
Additional actions include the 'Auto Prune' system, which will automatically delete tasks after a predefined number of days and an option to disable cron job information.
VT 19 6.png
The options are in order:
  • Auto Prune - enable or disable the auto prune system, which will automatically delete tasks after a specified time.
  • Auto Prune Older Than - specify the time period for auto prune system, tasks older than provided number of days will be deleted.
  • Display 'Cron Job Configuration' Hint - display or hide the 'Cron Job Configuration' hint at the top of the page.
VT 19 6 1.png

[edit] App Templates

'App Templates' allow you to manage and ultimately provide applications, ISO images, operating systems, and snapshots to your clients.

Prepare templates in the 'Applications' tab and gather them into groups in the 'Groups' tab.
For clients to be able to install templates on their VPS, their product has to include an 'Application Group' and allow 'App Templates' in the client area.

[edit] Applications

Read the guide carefully, as it contains crucial information on how to use 'App Templates'.

You can change the settings and have the guide collapsed by default. Clicking on the 'Additional Actions' button, select 'Options' and 'Collapse Guide'.

VT 19 8.png
You can switch between Applications, ISO Images, Operating Systems, and Snapshots by clicking on relevant tabs.
VT 19 9.png
You can use the refresh button to download and later refresh templates from the server.
VT 19 10.png
Once the items are loaded, you can use the action buttons to edit, duplicate or delete them from the list.

You can also use the mass action buttons to manage multiple templates at once.

VT 19 11.png

[edit] Groups

With the templates ready, all that is left is to gather them into groups and include said groups into products.

Navigate to 'App Templates' 'Groups' and click on the 'Create' button.

VT 19 15.png
Read the information, then provide the group with:
  • Name
  • Description
  • Items to include

Note: Keep in mind that Vultr includes Windows licenses (Core and Standard) in their Plans and charges a monthly fee for them.
Since this will affect the Plan price, we recommend not including Windows with other systems in one product.

VT 19 16.png
You can use the action button and the mass action function to edit and delete groups.
VT 19 17.png
For the client to take advantage of the application templates, the product module settings have to include the group.

Find the 'App Templates Configuration' section and 'Default Application Group' field.
Include a chosen group for the product.

VT 19 18.png
Make sure 'App Templates' section is enabled under 'Client Area Features'.
VT 19 19.png

[edit] Advanced Configuration

App templates allow for even more in-depth management with the ability to create and edit custom applications.

See the examples below to learn about the most important options.

[edit] Adding Applications Manually
Manually add a single application, instead of loading all your applications at once.

1. Navigate to 'App Templates' 'Applications' and click on 'Create'.

VT 19 14 1.png
2. Download the list of applications from you panel's API.

See the official official Vultr documentation too learn how.
Make sure to include your API Key, the request looks like this:

curl "https://api.vultr.com/v2/applications" \
 -X GET \
 -H "Authorization: Bearer ${VULTR_API_KEY}"

Example result:

{
"applications": [
{
"id": 1,
"name": "LEMP",
"short_name": "lemp",
"deploy_name": "LEMP on CentOS 6 x64",
"type": "one-click",
"vendor": "vultr",
"image_id": ""
}
3. In the 'Name' field we recommend including the value of the '"name": "$name"' field.

For example 'LEMP' from:

"name": "LEMP",

Note: If you include a 'name' setting detail (see step 4) with the name from the request as its value, you can safely rename the application to something else here.

VT 19 14 2.png
4. Edit your newly added application, and under 'Settings Details' edit/create application details outputted by the panel's API.
VT 19 14 3.png
Carefully look at the API output and fill out the 'Name' and 'Default Value' fields with you application details.

In our case it is:

"id": 1,
VT 19 14 5.png
Add the remaining settings following the same pattern of filling the 'Name' and 'Default Value' fields.
VT 19 14 6.png
The application will be available on the list and ready to be included in a group.
VT 19 14 4.png
[edit] Including Cloud-Init / User-Data Scripts
Enter the user data to run common configuration tasks when the instance starts. You can run cloud-init directives or shell scripts for Linux images. You may use smarty variables, e.g. {$password}.
Note: Please refer to the following article to find a list of supported module parameters and their descriptions.

If an application supports scripts, the responsible setting will always be added automatically.
To include a script, edit the setting by clicking on the 'Edit' button next to it.

VT 19 14 7.png
See the list below to learn how to set up the setting.
  • Name - do not change this value, this is the setting identifier.
  • Field Type - if the 'Visibility' setting is toggled on, this field decides the type of field, we recommend leaving it as is.
  • Default Value - this is where you include your script. If 'Visibility' is toggled on, this will be the default value that clients can modify.
    Note: Use the merge field list on the right for reference.
  • Validation - optionally, provide Laravel validation rules like 'required'.
  • Visibility - this will allow the client to modify the script before installation.
VT 19 14 8.png
If the 'Visibility' toggle is on, the script will be accessible before the installation, if not, the script will just be performed as normal.
VT 19 14 9.png

[edit] Media Library

The media library allows you to upload images for use elsewhere in the module by admins and clients.

To upload a new picture, click on the 'Upload Image' button.

VT 19 20.png
You can delete images one by one by clicking on them.

To delete all images at once, use the additional action button.

VT 19 21.png

[edit] Other

[edit] Translations

Customizing language files is now extremely easy with the "Translations" tool that is now available directly in the addon.
Its user-friendly design makes managing various language file tweaks a smooth and efficient process.

Prepare translations for the original English files with this handy built-in tool. For specific instructions on how to use this tool please refer to its dedicated article, you will find it here.

VT 19 22.png

[edit] Logs

The 'Logs' section under the 'Other' tab is where the module logs are stored.

You can filter the module logs by type with the 'Show' buttons:

  • Critical
  • Error
  • Notice
  • All (Total)
VT 19 23.png
You can delete logs either one by one or with the mass delete function.
VT 19 24.png
Additional actions include:
  • Logging Settings
  • Log Export
  • Rule Based Deletion
VT 19 25.png
In the settings you may decide:
  • Log Types - Specify which types of logs should be recorded.
  • Clear Automatically - Choose whether to automatically delete logs older than a defined number of days.
  • Delete Logs Older Than - Define the number of days after which logs will be automatically deleted.
VT 19 26.png
While exporting you will have to specify which logs to export:
  • From - Define the starting date for logs to export.
  • To - Define the ending date for logs to export.
  • Log Types - Includes 'Notice', 'Error' and 'Critical' log types.
VT 19 27.png
You can also delete specific logs without finding them manually.
Simply define:
  • Log Types - Specify which log types should be considered for removal.
  • Delete Logs Older Than - Define the number of days after the log occurrence for automatic deletion.
VT 19 28.png

[edit] Admin Area

Vultr VPS For WHMCS allows your customers to manage their servers via the client area in your WHMCS system.

You can monitor and manage each product from your WHMCS admin area.

  1. Configurable options that enable you to view current resources and change specifications through changing configurable options and pressing 'Change Package'.
  2. Module commands (Create, Suspend/Unsuspend, Change Package).
  3. Scheduled tasks - list of tasks to be performed with the cron execution.
  4. Service actions (Start/Stop VM, Reboot).
  5. Instance details along with Public Network IPv4 and IPv6 details (the latter one is available only if you enable it in the product's configuration).
  6. Backups, firewall rules, snapshots management sections.
  7. Reverse DNS management and a preview of reserved IP addresses.
  8. Applications list allowing for machine reinstallation with included applications or systems.
VT 21.png

[edit] Ordering

Owing to configurable options, you are able to offer a product that your clients can tailor according to their needs.

Additionally, you are able to set up pricing for each configurable option, which makes your offer even more competitive.
Important: VPS is not created immediately after pressing 'Create' . Therefore, it is wise to inform your clients about the delay.

VT 22.png

[edit] Importing Existing Instance

In this section, you can find short instructions on how to connect one of your clients to your already existing instance in the Vultr panel.
Take the following steps to make sure that the process will be carried out properly.

1. Firstly, manually create an order for your customer in WHMCS. Choose a client and in the summary, view click on the ' Add New Order' button. Next, select a 'Product/Service' and press 'Submit Order' .
What is important, do not perform the 'Create' action. The status has to remain as 'Pending' .
More info about placing orders can be found here
2. Proceed to the newly created product's card in your admin area. Find the following empty field:

  • Instance ID

The above-mentioned information has to be consistent with the data from your Vultr panel. Now, complete this field as presented below.
Important! Remember to make sure that the format of the provided data is compatible with the format supported by the module. You can preview it for another product of the module you have already created and enter it in a similar way.
If you completed the required data, now change the status from 'Pending' to 'Active' and 'Save Changes'.

Vultr import.png
3. If the completed data is correct, after refreshing the page, you will see the attached instance from Vultr.
Important! Remember to manually add other missing parameters of the instance such as domains, credentials, IP Addresses, configurable options, etc. so they match the parameters of the attached instance from Vultr panel.

[edit] Client Area

Client area interface of Vultr VPS should look like the one on the screen below. As you can see, the control panel contains useful options needed for managing a virtual machine.

The module allows your customers to easily start, stop, and reboot their servers by pressing a specific button.
Clients can also access the VNC console, manage backups, view bandwidth graphs, and many others.

VT 23.png

[edit] App Templates

The 'App Templates' allows you to easily install applications, ISO images, operating systems and snapshots on your VPS.

Important: Installations will wipe all existing data from the machine.

VT 23 1.png

[edit] Backups

The first section available for clients grants the ability to view the list of existing 'Backups' of your server.
Please remember that 'Backups' are assigned to a particular server and will be removed once the server is deleted.

Note: There is a limit of a maximum of two backups per server. Once a new backup is created, the oldest one is automatically removed.

VT 24.png
Clients are also given the opportunity to schedule incoming backups by pressing the 'Schedule Backups' button.

Provide a time details to wait until the next backup is created.

VT 25.png
To restore a VPS from backup, simply press the 'Restore' button next to it.

If selected backups are no longer needed, you may easily delete them.

VT 26.png

[edit] Console

One of the most interesting functionality is a noVNC console where your clients can remotely manage their servers.
To access it, simply click on the 'Console' button.

Note: Vultr offers a generic VNC URL that serves as a white-label URL. If you wish to use a white-label console with the Vulr VPS For WHMCS module, please contact the Vultr support via their official ticketing system.

VT 33.png

[edit] Custom ISO

"Custom ISO" feature allows clients to pick a single ISO and mount it to the machine.

Note: Mounting a custom ISO requires rebooting the machine.

VT 36.png

[edit] Firewall

The firewall management page allows your customers to view, add, or delete existing rules on a security group assigned to the product.

To add a new firewall rule, use the button marked on the following screen.
Note: Please remember that there is a limit of 50 firewall rules. If you reach this limit, you will not be allowed to create new ones before removing any existing ones.

VT 27.png
Next, fill out the rule details to create it:
  • Type- choose between 'IPv4' and 'IPv6'.
  • Protocol - select among TCP, UDP, ICMP, GRE, ESP and AH.
  • Port - you may specify a port number or a port range (TCP/UDP only).
  • Source - specify a custom source or Cloudflare.
  • Subnet - enter the source IP address.
  • Subnet Size - define the size of the subnet.
  • Notes - include custom notes if needed.

Press 'Confirm' when ready.

VT 28.png

[edit] Graphs

Once entering the 'Graphs' section, clients will be moved to the page with the generated graphs showing the 'Bandwidth' usage.
VT 29.png

[edit] Reserved IP Addresses

This section includes a list of all existing in the panel reserved IP addresses.
  • on the account creations the IP addresses are automatically added to the group
  • on the change package action (downgrade/upgrade) the IPs are added or removed accordingly
  • on termination, all IPs are removed
VT 34.png

[edit] Reverse DNS

Reverse DNS option allows your clients to manage reverseDNS of the IP addresses assigned to the machine.

You can change the hostname that will appear when getting the hostname belonging to the primary IPs (IPv4 and IPv6) of your server.
To do so, just click on the button presented below.
Note: IPv4 addresses are already added on the list and cannot be deleted

VT 33 1.png
When 'IP' and 'Reverse DNS' are provided, just confirm the action.
VT 33 2.png
VT 33 3.png

[edit] Snapshots

Creating snapshots allows customers to quickly restore any changes to a virtual machine in case of any problems.

Once the shutter has been created, the customer can restore it (1), change its description (2) or delete it (3).

VT 31.png
After pressing the 'Create Snapshot' button, the new window will pop up along with the possibility to specify the snapshot description.

Please note that taking a new snapshot may take a while to process.

VT 32.png

[edit] User Data

User data can be freely altered in the client area. Remember that after introducing any changes, the machine restart is required to apply the changes.

Note: User data supports smarty variables, such as '{$password}'. Follow to this article to find a full list of supported module parameters and their descriptions.

VT 35.png

[edit] Tips

1. Vultr offers a generic VNC URL that serves as a white-label URL. If you wish to use a white-label console with the Vulr VPS For WHMCS module, please contact the Vultr support team via their official ticketing system.
2. If you may choose among all four configurable options to configure your VPS when placing an order, they will be prioritized in the following manner:

'Operating System' → 'Snapshot' → 'ISO' and 'Application' as the least one on the list.

[edit] Update Instructions

An essential guidance through the process of updating the module is offered here.

Ensure successful completion of the module update by carefully following each step, thereby preventing data loss or any unforeseen issues.
Additionally, you will find a current list of supplementary actions necessary for a smooth update process there.

While upgrading to version 2.x make sure to follow those guidelines:

1. Make sure all tasks are finished, as the migration process will delete them.
2. Optionally, back up your customized language files.
3. Delete all files from the previous version of the module.
4. Upload the new module files.
5. Manually initiate the version upgrade with the cron command:

php -q /YOUR_WHMCS/modules/servers/VultrVps/cron/cron.php upgrade run 2.0.0

6. Optionally, restore changes made to the language files.

[edit] Upgrade Guide

Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability?
There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment.

Opt for the Open Source version of your Vultr VPS For WHMCS module to unlock these benefits.
Simply click on either the Get Source Code or Upgrade To Lifetime button found on the product's page in our client area to complete the one-step upgrade process, with a dedicated discount already applied.

Follow a comprehensive guide covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized.

[edit] Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. Downgrading virtual machines with block storage is impossible. Move to the official Vultr documentation to find out more.
3. Due to restrictions of Vultr itself, applications of the 'once-click' type can only be installed on fresh installations (during the 'CreateAccount' action).
They can also only be reinstalled into operating systems, but not different applications.
Navigation
WHMCS Modules
WHMCS Widgets
Tools And Applications
Translations
cPanel Modules
General
FAQ
Community
Vultr VPS For WHMCS