Personal tools
Namespaces

Variants
Actions

Alibaba Cloud Virtual Machines For WHMCS

From ModulesGarden Wiki
(Difference between revisions)
Jump to: navigation, search
(Configuration of Product)
(Upgrade Guide)
 
(36 intermediate revisions by 3 users not shown)
Line 4: Line 4:
 
=About [https://www.modulesgarden.com/products/whmcs/alibaba-cloud-virtual-machines Alibaba Cloud Virtual Machines For WHMCS]=
 
=About [https://www.modulesgarden.com/products/whmcs/alibaba-cloud-virtual-machines Alibaba Cloud Virtual Machines For WHMCS]=
 
{|
 
{|
|style="padding: 10px 0px 10px 0px;"|'''Alibaba Cloud Virtual Machines For WHMCS''' will boost your provisioning business by allowing automated management of Alibaba instances in your WHMCS system.<br />
+
|style="padding: 10px 0px 10px 0px;"|'''Alibaba Cloud Virtual Machines For WHMCS''' is a perfect tool designed to push your provisioning business a few steps further by automating the Alibaba Cloud instances management.<br />
Your clients will be empowered to remotely start, stop, and reboot the server, as well as preview the assignment of IP addresses.<br />
+
Your clients will get the opportunity to remotely start, stop, restart the server, as well as preview the assignment of IP addresses and scheduled tasks.<br />
In addition, the module will let you easily control product features, and supervise the status of each sold machine.
+
The module will also let you keep control over the product features, and supervise the status of each sold machine.
 
|}
 
|}
 
<!-- fixed -->
 
<!-- fixed -->
Line 14: Line 14:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Start/Stop/Reboot Server
+
|style="padding: 0px 0px 0px 30px;"|✔ Change Package
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View Server Status And Details
+
|style="padding: 0px 0px 0px 30px;"|✔ Start/Stop/Restart/Shut Down Server
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View Assigned Network Interfaces And IP Addresses Details
+
|style="padding: 0px 0px 0px 30px;"|✔ Reset Instance Password
 +
|}
 +
{|
 +
|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;"|✔ View Network Interfaces Details
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ View Assigned IP Addresses
 
|}
 
|}
 
{|
 
{|
Line 29: Line 41:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Choose Region
+
|style="padding: 0px 0px 0px 45px;"|✔ Default Server Configuration:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Choose Amazon Machine Image (AMI)
+
|style="padding: 0px 0px 0px 60px;"|✔ Enable Burstable Instance
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Select From Amazon Database
+
|style="padding: 0px 0px 0px 60px;"|✔ Select Billing Method:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Add Own Image By Providing AMI ID
+
|style="padding: 0px 0px 0px 75px;"|✔ Subscription
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Provide Custom Names For Added Images
+
|style="padding: 0px 0px 0px 75px;"|✔ Pay-As-You-Go
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Choose Instance Type
+
|style="padding: 0px 0px 0px 60px;"|✔ Switch Current Billing To Subscription On Renewal
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Enable Firewall
+
|style="padding: 0px 0px 0px 60px;"|✔ Select Billing Period
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Select Security Groups
+
|style="padding: 0px 0px 0px 60px;"|✔ Select Instance Region/Image/Type
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Define Number Of Firewall Rules
+
|style="padding: 0px 0px 0px 60px;"|✔ Select Security Groups
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Define Number Of IPv4 Addresses
+
|style="padding: 0px 0px 0px 60px;"|✔ Enable Public IPv4 Address
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Define Tag Name
+
|style="padding: 0px 0px 0px 60px;"|✔ Select Usage Billing Method:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Toggle Capacity Reservation
+
|style="padding: 0px 0px 0px 75px;"|✔ Pay-By-Traffic
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Toggle Hibernation
+
|style="padding: 0px 0px 0px 75px;"|✔ Pay-By-Bandwidth
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Toggle API Request Logging
+
|style="padding: 0px 0px 0px 45px;"|✔ Provide Bandwidth Peak
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Provide User Data Script
+
|style="padding: 0px 0px 0px 45px;"|✔ Provide Cloud-Init User-Data Initiation Script
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Choose User Data File
+
|style="padding: 0px 0px 0px 45px;"|✔ Select Cloud-Init User-Data File
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Choose Subnet
+
|style="padding: 0px 0px 0px 45px;"|✔ Assign Server To Selected vSwitch:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Choose Volume Type
+
|style="padding: 0px 0px 0px 60px;"|✔ Toggle I/O Optimized Instance
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Define Volume Size
+
|style="padding: 0px 0px 0px 60px;"|✔ Select Welcome Email Template
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Set Volume IOPS
+
|style="padding: 0px 0px 0px 60px;"|✔ Provide Volume Size
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Define Client Area Configuration
+
|style="padding: 0px 0px 0px 60px;"|✔ Provide Random Domain Prefix
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Show Windows Password
+
|style="padding: 0px 0px 0px 60px;"|✔ Override WHMCS Generated Username
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Hide DNS Name
+
|style="padding: 0px 0px 0px 45px;"|✔ Choose Features Available In Client Area:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Hide Scheduled Tasks
+
|style="padding: 0px 0px 0px 60px;"|✔ Start
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Hide IPv6
+
|style="padding: 0px 0px 0px 60px;"|✔ Stop
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|✔ Enable Firewall Configuration
+
|style="padding: 0px 0px 0px 60px;"|✔ Restart
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Generate Configurable Options
+
|style="padding: 0px 0px 0px 60px;"|✔ Shut Down
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ Run API Connection Test
+
|style="padding: 0px 0px 0px 60px;"|✔ Reset Instance Password
 
|}
 
|}
 
*'''Client Area Features:'''
 
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Start/Stop/Reboot Server
+
|style="padding: 0px 0px 0px 60px;"|✔ noVNC Console
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View Server Status And Details
+
|style="padding: 0px 0px 0px 60px;"|✔ Network Interfaces
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View Assigned Network Interfaces And IP Addresses Details
+
|style="padding: 0px 0px 0px 60px;"|✔ Scheduled Tasks
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View Scheduled Tasks
+
|style="padding: 0px 0px 0px 60px;"|✔ Instance Details
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Create/Manage Firewall Rules
+
|style="padding: 0px 0px 0px 60px;"|✔ Network Interfaces Details
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Provide SSH Key During Order
+
|style="padding: 0px 0px 0px 45px;"|✔ Manage Instance Images:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Provide SSH Key To Decode Windows Password
+
|style="padding: 0px 0px 0px 60px;"|✔ Search Through Available Public Images Base
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ Get/Provide SSH Key For Already Created Instance
+
|style="padding: 0px 0px 0px 60px;"|✔ Add Custom Images Manually By Their Names Or IDs
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Generate Configurable Options
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 30px;"|✔ Run Server API Connection Test
 +
|}
 +
 
 +
*'''Client Area Features:'''
 +
{|
 +
|style="padding: 10px 0px 0px 30px;"|✔ Start/Stop/Restart/Shut Down Server
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Reset Instance Password
 +
|}
 +
{|
 +
|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;"|✔ View Assigned IP Addresses
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ View Network Interfaces Details
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 30px;"|✔ View Scheduled Tasks
 
|}
 
|}
  
 
*'''Configurable Options:'''
 
*'''Configurable Options:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Region
+
|style="padding: 10px 0px 0px 30px;"|✔ Burstable Instance
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Instance Image
 
|}
 
|}
 
{|
 
{|
Line 147: Line 189:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Amazon Machine Image (AMI)
+
|style="padding: 0px 0px 0px 30px;"|✔ I/O Optimized Instance
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Number Of IPv4 Addresses
+
|style="padding: 0px 0px 0px 30px;"|✔ Peak Bandwidth [Mb/s]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Public IPv4 Address
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Region
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Usage Billing Method
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ User Data
 
|}
 
|}
 
{|
 
{|
Line 156: Line 210:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Volume Type
+
|style="padding: 0px 0px 10px 30px;"|✔ vSwitch
 
|}
 
|}
 +
 +
*'''Available Images:'''
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Number Of Firewall Rules
+
|style="padding: 10px 0px 0px 30px;"|✔ Linux OS:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ User Data
+
|style="padding: 0px 0px 0px 45px;"|✔ Alibaba Cloud Linux
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ AlmaLinux
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Anolis OS
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ CentOS
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Debian
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Fedora
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ FreeBSD
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Gentoo
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ OpenSUSE
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Rocky Linux
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Ubuntu
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Microsoft Windows:
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Windows Server 2022 DataCenter Edition
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Windows Server 2022 with Container DataCenter Edition
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Windows Server 2019 Data Center Edition
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Windows Server 2019 with Container DataCenter Edition
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Windows Server 2016 Data Center Edition
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Windows Server 2012 R2 Data Center Edition
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Windows Server 2008 R2 Enterprise
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Windows Server Version 2004 Data Center Edition
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Windows Server Version 2004 with Container Data Center Edition
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Custom Images Added By Their Name IDs
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Any Other Public OS Platforms When Made Available By API
 
|}
 
|}
  
 
*'''General Info:'''
 
*'''General Info:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Multi-Language Support
+
|style="padding: 10px 0px 0px 30px;"|✔ Requires Access To Alibaba Elastic Compute Service (ECS)
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Integrated With [https://www.modulesgarden.com/products/whmcs/server-allocator Server Allocator For WHMCS] - Automatic Assignment Of Most Suitable Servers To Products
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Multi-Language Support
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 8.1 Back To PHP 7.4
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 7.4 Up To PHP 8.1
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS Themes "Six", "Twenty-One" And "Lagom WHMCS Client Theme"
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS Themes "Six" And "Twenty-One"
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS V8.7 Back To WHMCS V8.4
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS V8.4 And Later
+
|style="padding: 0px 0px 0px 30px;"|✔ Requires ionCube Loader V12 Or Later
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 30px;"|✔ Easy Module Upgrade To [https://www.modulesgarden.com/products/whmcs/alibaba-cloud-virtual-machines#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/alibaba-cloud-virtual-machines#open-source-version Open Source Version]
 
|}
 
|}
  
Line 255: Line 386:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''10. You will be moved to '' 'AccessKey Pair'' section. There, you will be asked to confirm that you wish to '' 'Use Current AccessKey Pair'.'' <br/>Press the button to get access.  
+
|style="padding: 0px 0px 15px 15px;"|'''10. You will be moved to '' 'AccessKey Pair'' section. There, you will be asked to confirm that you wish to '' 'Use Current AccessKey Pair'.'' '''<br/>Press the button to get access.  
 
|}
 
|}
 
{|
 
{|
Line 267: Line 398:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''12. A modal with AccessKey ID and AccessKey Secret will appear, so copy them and keep safe. You may also download a file with the details. '''<br/>
+
|style="padding: 0px 0px 15px 15px;"|'''12. A modal with "AccessKey ID" and "AccessKey Secret" will appear, so copy them and keep safe. You may also download a file with the details. '''<br/>
 
|}
 
|}
 
{|
 
{|
Line 273: Line 404:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Note that you can find the corresponding secret key later on, it will be accessible next to the Key ID in the panel.
+
|style="padding: 0px 0px 15px 15px;"|Note that you can find the corresponding secret key later on, it will be accessible next to the "AccessKey ID" in the panel.
 
|}
 
|}
 
{|
 
{|
Line 279: Line 410:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''13. Now that you have you access keys, you may move back to your WHMCS. Proceed to '' 'System Settings' '' → '' 'Servers' '' and press '' 'Add New Server'.''
+
|style="padding: 0px 0px 20px 15px;"|'''13. Now, that you have you access keys, you may move back to your WHMCS. Proceed to '' 'System Settings' '' → '' 'Servers' '' and press '' 'Add New Server'.''
 
|}
 
|}
 
{|
 
{|
Line 287: Line 418:
 
|style="padding: 0px 0px 15px 15px;"|'''14. Next, enter your server name, fill in the '' 'Hostname' '' field, you may provide any data here, the provided content is not used in any way by the module.<br/>
 
|style="padding: 0px 0px 15px 15px;"|'''14. Next, enter your server name, fill in the '' 'Hostname' '' field, you may provide any data here, the provided content is not used in any way by the module.<br/>
 
Move to the '''"Server Details"''', select '' 'Alibaba Cloud Virtual Machines' '' from the '' 'Module' '' field.<br/>
 
Move to the '''"Server Details"''', select '' 'Alibaba Cloud Virtual Machines' '' from the '' 'Module' '' field.<br/>
Provide the previously generated access keys into '' 'Access Key ID' '' and '' 'Secret Access Key' '' fields.<br/> Then check the connection. If successful, save the changes.<br/>
+
Provide the previously generated access keys into '' 'Access Key ID' '' and '' 'Secret Access Key' '' fields.<br/> Then check the connection. If successful, save the changes.
'''''Note:''' Described scenario for the "Advanced mode".''
+
 
|}
 
|}
 
{|
 
{|
Line 294: Line 424:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''15. It is time to create a server group. To do so, click on '' 'Create New Group' ''.'''
+
|style="padding: 0px 0px 20px 15px;"|'''15. It is time to create a server group. To do so, click on '' 'Create New Group'.'' '''
 
|}
 
|}
 
{|
 
{|
Line 308: Line 438:
 
==Configuration of Product==
 
==Configuration of Product==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|'''17. In order to create and configure a product, go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products/Services'.'''''<br />
+
|style="padding: 10px 0px 15px 15px;"|'''17. 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'.''
 
|}
 
|}
Line 315: Line 445:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''18. Enter your product group name and press '' 'Save Changes'.'''''
+
|style="padding: 0px 0px 20px 15px;"|'''18. Enter your product group name and press '' 'Save Changes'.'' '''
 
|}
 
|}
 
{|
 
{|
Line 351: Line 481:
  
 
* '''Change to "Subscription"''' - if enabled, the billing method will be automatically changed to "Subscription" on renewal
 
* '''Change to "Subscription"''' - if enabled, the billing method will be automatically changed to "Subscription" on renewal
** '''Billing Period''' - ''(for "Subscription" method)'' Billing period to charge for the instances billed as subscription
+
** '''Billing Period''' - billing period to charge for the instances billed as subscription ''("Subscription" method)''
  
 
* '''Region''' - select a region to deploy the resource  
 
* '''Region''' - select a region to deploy the resource  
Line 359: Line 489:
 
* '''Instance Type''' - select instance type based on the requirements of the application or software that you plan to run on your instance
 
* '''Instance Type''' - select instance type based on the requirements of the application or software that you plan to run on your instance
  
* '''Security Groups''' - A named set of allowed inbound network connections for an instance. Each security group consists of a list of protocols, ports, and IP address ranges.
+
* '''Security Groups''' - a named set of allowed inbound network connections for an instance. Each security group consists of a list of protocols, ports, and IP address ranges.
  
 
* '''Public IPv4 Address''' - enable public IPv4 addresses
 
* '''Public IPv4 Address''' - enable public IPv4 addresses
  
* '''Usage Billing Method''' - Select between two available method: Pay-by-bandwidth and Pay-by-traffic.
+
* '''Usage Billing Method''' - select between two available methods:
 +
** '''Pay-by-bandwidth'''
 +
** '''Pay-by-traffic'''
  
* '''Peak Bandwidth [Mb/s]''' - Set the Peak Bandwidth value in Mb/s. A peak bandwidth is the upper limit placed on the outbound bandwidth of an instance.
+
* '''Peak Bandwidth [Mb/s]''' - set the Peak Bandwidth value in Mb/s. A peak bandwidth is the upper limit placed on the outbound bandwidth of an instance.
  
* '''User Data''' - You can specify user data to configure an instance or run a configuration script during launch. This field is optional. <br/>Tutorial on how to use this option can be found [https://www.alibabacloud.com/help/en/elastic-compute-service/latest/manage-instance-user-data here].
+
* '''User Data''' - you can specify user data to configure an instance or run a configuration script during launch ''(this field is optional)'' <br/>Tutorial on how to use this option can be found [https://www.alibabacloud.com/help/en/elastic-compute-service/latest/manage-instance-user-data here].
  
* '''User Data File''' - Choose the execution script which will be used to configure the virtual machine on the first boot. Go [[#User_Data_Scripts|here]] to find more information about how to use these scripts.<br/>'''''Note:''' User Data scripts are optional for product configuration if you do not want to use them, simply set this field to the 'Do not use' option.''
+
* '''User Data File''' - choose the execution script which will be used to configure the virtual machine on the first boot. Go [[#User_Data_Scripts|here]] to find more information about how to use these scripts.<br/>'''''Note:''' User Data scripts are optional for product configuration if you do not want to use them, simply set this field to the 'Do not use' option.''
  
 
* '''vSwitch''' - assign server to a vSwitch
 
* '''vSwitch''' - assign server to a vSwitch
Line 375: Line 507:
 
* '''I/O Optimized Instance''' - enable if you aim to create an I/O optimized instance
 
* '''I/O Optimized Instance''' - enable if you aim to create an I/O optimized instance
  
* '''Welcome Email Template''' - choose an email template that will be sent to a client when the VM is created.
+
* '''Welcome Email Template''' - choose an email template among WHMCS inbuilt templates, the one that will be sent to a client when the VM is created
  
* '''Volume Size [GB]''' - Data Disks sizes can be between 20GB and 32TB.
+
* '''Volume Size [GB]''' - provide the data disks size between 20GB and 32TB
  
* '''Random Domain Prefix''' - Enter the domain prefix that will be used when the domain is not provided
+
* '''Random Domain Prefix''' - enter the domain prefix that will be used when the domain is not provided
  
* '''Override Username''' - If specified, WHMCS generated username will be overwritten with this value
+
* '''Override Username''' - if specified, WHMCS generated username will be overwritten with this value
 
|}
 
|}
 
{|
 
{|
Line 389: Line 521:
 
|style="padding: 0px 0px 15px 15px;"|'''22. Enable features that will be available for your clients :'''
 
|style="padding: 0px 0px 15px 15px;"|'''22. Enable features that will be available for your clients :'''
 
* '''Start'''
 
* '''Start'''
 +
 
* '''Stop'''
 
* '''Stop'''
 +
 
* '''Restart'''  
 
* '''Restart'''  
 +
 
* '''Shut Down'''
 
* '''Shut Down'''
 +
 
* '''Reset Instance Password'''
 
* '''Reset Instance Password'''
 +
 
* '''NoVNC Console'''
 
* '''NoVNC Console'''
* '''Public IP Addresses'''
+
 
 
* '''Network Interfaces'''
 
* '''Network Interfaces'''
* '''IPv6 Addresses'''
+
 
 
* '''Scheduled Tasks'''
 
* '''Scheduled Tasks'''
* '''Instance Details:''' ''Status, Password, Instance ID, Image ID, Instance Type, Operating System, Memory, Core Count, Threads per Core, Tags''
+
 
 +
* '''Instance Details:''' ''Status, Password, Instance ID, Image ID, Instance Type, Operating System, Memory, Core Count, Threads per Core, Tags, Public IPv4 Address''
 +
 
 +
* '''Network Interface Details:''' ''Type, Primary IP Address, IPv6 Addresses, MAC Address, Network Interface ID''  
 
|}
 
|}
 
{|
 
{|
Line 404: Line 544:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''23. The following section is dedicated to Images.'''<br/>
+
|style="padding: 0px 0px 15px 15px;"|'''23. The following section is dedicated to "Images".'''<br/>
 
Here, you may look for and then select single images to be added to the list. They will be available to choose from in the '' 'Instance Image' '' field in the main configuration of the product.<br/>  
 
Here, you may look for and then select single images to be added to the list. They will be available to choose from in the '' 'Instance Image' '' field in the main configuration of the product.<br/>  
  
First of all, enter as many details as possible to find the images you are interested in. Press search button when ready.
+
First of all, enter as many details as possible to find the images you are interested in. Press search button when ready. <br/> When the list of available images appears, press '' 'Add' '' next to the one you wish to add to the list of selected.  
 
|}
 
|}
 
{|
 
{|
Line 413: Line 553:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|When the list of available images appears, press '' 'Add' '' next to the one you wish to add to the list of selected.
+
|style="padding: 0px 0px 20px 15px;"|Enter a custom name in the '' 'Configurable Option Name' '' if you wish to change it and confirm the action.
 
|}
 
|}
 
{|
 
{|
Line 419: Line 559:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Enter a custom name in the '' 'Configurable Option Name' '' if you wish to change it and confirm the action.
+
|style="padding: 0px 0px 15px 15px;"|On the list of selected, there are all images that you have added, and which will be available to select from when setting up the '' 'Instance Image' '' configuration field. <br/>
 +
It is also possible to add images manually here.  
 
|}
 
|}
 
{|
 
{|
Line 425: Line 566:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|On the list of selected, there are all images that you have added, and which will be available to select from when setting up the '' 'Instance Image' '' configuration field. <br/>
+
|style="padding: 0px 0px 20px 15px;"|Simply enter the image ID or name ("Custom Image" is enabled) and enter a unique configurable option name.  
It is also possible to add images manually here. Simply enter the image ID.
+
 
|}
 
|}
 
{|
 
{|
 
|style="padding: 0px 0px 20px 25px;"|[[File:ACV_27.png]]
 
|style="padding: 0px 0px 20px 25px;"|[[File:ACV_27.png]]
|}
 
{|
 
|style="padding: 0px 0px 20px 15px;"|When found, press the '' 'Add' '' button.
 
|}
 
{|
 
|style="padding: 0px 0px 20px 25px;"|[[File:ACV_28.png]]
 
 
|}
 
|}
 
<!--
 
<!--
Line 477: Line 611:
 
===User Data Scripts===
 
===User Data Scripts===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|User data is arbitrary data that can be executed during Amazon EC2 virtual machine creation, typically during the first boot of the server.<br/>This allows you to perform tasks or run scripts as the root user which can be extremely useful when provisioning a server.<br/>
+
|style="padding: 10px 0px 15px 15px;"|User data is arbitrary data that can be executed during Alibaba Cloud virtual machine creation, typically during the first boot of the server.<br/>This allows you to perform tasks or run scripts as the root user which can be extremely useful when provisioning a server.<br/>
  
 
You can provide your own scripts using 'cloud-config' or 'Bash', keep in mind that [https://developers.whmcs.com/provisioning-modules/module-parameters/ module parameters] are supported and may be used in the script files.<br/> By default, we provide two exemplary scripts for changing the OS password or inserting SSH key, which you can use as a reference.<br/>
 
You can provide your own scripts using 'cloud-config' or 'Bash', keep in mind that [https://developers.whmcs.com/provisioning-modules/module-parameters/ module parameters] are supported and may be used in the script files.<br/> By default, we provide two exemplary scripts for changing the OS password or inserting SSH key, which you can use as a reference.<br/>
The script you want to include has to be located in the '' '/your_whmcs/modules/servers/AwsEc2/storage/userDataFiles/' '' directory and may '''not exceed 64 KiB''' in size.
+
The script you want to include has to be located in the '' '/your_whmcs/modules/servers/AlibabaCloudVirtualMachines/storage/userDataFiles/' '' directory and may '''not exceed 64 KiB''' in size.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AEC_34.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:ACV_34.png]]
 
|}
 
|}
 
{|
 
{|
 
|style="padding: 0px 0px 15px 15px;"|Once you create your own script, it can be chosen for product execution.<br/>
 
|style="padding: 0px 0px 15px 15px;"|Once you create your own script, it can be chosen for product execution.<br/>
You can provide multiple scripts for configurable options, but only one can be chosen for Amazon EC2 server creation.<br/>
+
You can provide multiple scripts for configurable options, but only one can be chosen for Alibaba Cloud server creation.<br/>
 
If you would like to execute several different scripts at once, you should try combining them within a single file.<br/>
 
If you would like to execute several different scripts at once, you should try combining them within a single file.<br/>
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:AEC_35.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:ACV_35.png]]
 
|}
 
|}
  
Line 500: Line 634:
 
This includes supervision of such features as:
 
This includes supervision of such features as:
 
# Configurable options which enable you to view the chosen server details
 
# Configurable options which enable you to view the chosen server details
# Module commands to allow easy and quick management of the server<br/> '''''Important:''' In order to successfully complete the change package action, the machine must be previously stopped by your client.''
+
# Module commands to allow easy and quick management of the server<!--<br/> '''''Important:''' In order to successfully complete the change package action, the machine must be previously stopped by your client.''-->
# Service actions, including: ''Start'', ''Stop'' and ''Reboot'' the server  
+
# Service actions, including: ''Start'', ''Stop'', ''Restart'' the server, ''Reset Instance Password'', access ''noVNC Console''
 
# Instance details that provide the current status, resources and options set.
 
# Instance details that provide the current status, resources and options set.
# Interfaces details
+
# Network interfaces details
 
# List of scheduled tasks with their specified type, status and date.
 
# List of scheduled tasks with their specified type, status and date.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:ACV_27.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:ACV_27_1.png]]
 
|}
 
|}
  
 
==Ordering==
 
==Ordering==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Thanks to configurable options, you are able to offer a product which your clients can tailor according to their needs.<br />Additionally, you are able to set up pricing for each configurable option, which makes your offer even more competitive.<br/>
+
|style="padding: 10px 0px 15px 15px;"|Thanks to configurable options, you are able to offer a product which your clients can tailor according to their needs.<br />Additionally, you are able to set up pricing for each configurable option, which makes your offer even more competitive.
 
+
At this moment you also have to provide the [[#SSH Keys|SSH key]]. Note that this key should be in one of the ''OpenSSH'' standard formats which are supported by API, e.g. ''ssh-rsa''.<br/>
+
 
|}
 
|}
 
{|
 
{|
 
|style="padding: 0px 0px 30px 25px;"|[[File:ACV_28.png]]
 
|style="padding: 0px 0px 30px 25px;"|[[File:ACV_28.png]]
 
|}
 
|}
 +
 
===Importing Existing Instance===
 
===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 Alibaba Cloud panel. <br/> Take the following steps to make sure that the process will be carried out properly. <br/>  
 
|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 Alibaba Cloud 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/>
 
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 fields:
+
2. Proceed to the newly created product's page in your admin area. Find the following empty field:
 
*'''Instance ID'''
 
*'''Instance ID'''
The above-mentioned information has to be consistent with the data from your Amazon EC2 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' ''.  
+
The above-mentioned information has to be consistent with the data from your Alibaba Cloud 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 20px 25px;"|[[File:AmazonEC2_import.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:Alibaba_import.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|3. If the completed data is correct, after refreshing the page, you will see the attached instance from Amazon EC2. <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 Amazon EC2.  
+
|style="padding: 0px 0px 30px 15px;"|3. If the completed data is correct, after refreshing the page, you will see the attached instance from Alibaba Cloud. <br/> '''Important!'''  Remember to manually add other missing parameters of the instance such as domains, credentials, IP Addresses, configurable options, billing cycle, etc. so they match the parameters of the attached instance from Alibaba Cloud panel.  
 
|}
 
|}
  
 
==Client Area==
 
==Client Area==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|The client area interface of Alibaba Cloud should look like the one on the screen below.<br/>
+
|style="padding: 10px 0px 15px 15px;"|The client area interface of Alibaba Cloud service should look like the one on the screen below.<br/>
 
As you can see, the control panel contains useful details of the managed server.<br />
 
As you can see, the control panel contains useful details of the managed server.<br />
 
The module allows your customers to easily start, stop, restart and reset the instance password through pressing the corresponding buttons.<br />
 
The module allows your customers to easily start, stop, restart and reset the instance password through pressing the corresponding buttons.<br />
Line 544: Line 677:
 
|style="padding: 0px 0px 30px 25px;"|[[File:ACV_29.png]]
 
|style="padding: 0px 0px 30px 25px;"|[[File:ACV_29.png]]
 
|}
 
|}
 
+
===Reset Instance Password===
=Tips=
+
 
{|
 
{|
|style="padding: 10px 0px 10px 15px;"|1. You must firstly stop the machine to let the change package action be successfully completed.
+
|style="padding: 10px 0px 20px 15px;"|Among other actions, clients are allowed to change their instance password. Please keep in mind that after changing the password, it is required to restart the machine.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|2. In case you need to generate any of the configurable options once again, you must delete the previously created one.<br/> Only then it will be possible to generate a new configurable option. Read more about configurable options [https://www.docs.modulesgarden.com/General#How_To_Use_Configurable_Options here].
+
|style="padding: 0px 0px 30px 25px;"|[[File:ACV_30.png]]
 +
|}
 +
===noVNC Console===
 +
{|
 +
|style="padding: 10px 0px 20px 15px;"|Press adequate icon to establish connection via the noVNC Console.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:ACV_31.png]]
 +
|}
 +
 
 +
=Tips=
 +
{|
 +
|style="padding: 10px 0px 30px 15px;"|1. In case you need to generate any of the configurable options once again, you must delete the previously created one.<br/> Only then it will be possible to generate a new configurable option. Read more about configurable options [https://www.docs.modulesgarden.com/General#How_To_Use_Configurable_Options here].
 
|}
 
|}
  
 
=Update Instructions=
 
=Update Instructions=
 
{|
 
{|
|style="padding: 10px 0px 30px 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/><br/>
+
|style="padding: 10px 0px 30px 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/>
Keep in mind 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/>
+
Ensure successful completion of the module update by carefully following each step, thereby preventing data loss or any unforeseen issues.<br/>  
To take advantage of it, simply use the '''License Upgrade''' button located on the product's page and a discounted invoice will be generated automatically.<br/>
+
Additionally, you will find a current list of supplementary actions necessary for a smooth update process there.
 +
|}
 +
=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/alibaba-cloud-virtual-machines#open-source-version Open Source version] of your Alibaba Cloud Virtual Machines 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.
 
|}
 
|}
  
Line 564: Line 716:
 
|style="padding: 10px 0px 30px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.'''
 
|style="padding: 10px 0px 30px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.'''
 
|}
 
|}
<!--
 
{|
 
|style="padding: 0px 0px 30px 15px;"|2. ''Error:'' "Subnet does not contain any IPv6 CIDR block ranges."<br/>
 
''Solution:'' In EC2 panel, move to VPC '' 'Dashboard' → 'Subnets','' find default subnet and assign it an IPv6 CIDR.
 
|}
 
-->
 

Latest revision as of 12:48, 19 April 2024

Contents

[edit] About Alibaba Cloud Virtual Machines For WHMCS

Alibaba Cloud Virtual Machines For WHMCS is a perfect tool designed to push your provisioning business a few steps further by automating the Alibaba Cloud instances management.

Your clients will get the opportunity to remotely start, stop, restart the server, as well as preview the assignment of IP addresses and scheduled tasks.
The module will also let you keep control over the product features, and supervise the status of each sold machine.

  • Admin Area Features:
✔ Create/Suspend/Unsuspend/Terminate Server
✔ Change Package
✔ Start/Stop/Restart/Shut Down Server
✔ Reset Instance Password
✔ Access noVNC Console
✔ View Instance Status And Details
✔ View Network Interfaces Details
✔ View Assigned IP Addresses
✔ View Scheduled Tasks
✔ Configure Product Details:
✔ Default Server Configuration:
✔ Enable Burstable Instance
✔ Select Billing Method:
✔ Subscription
✔ Pay-As-You-Go
✔ Switch Current Billing To Subscription On Renewal
✔ Select Billing Period
✔ Select Instance Region/Image/Type
✔ Select Security Groups
✔ Enable Public IPv4 Address
✔ Select Usage Billing Method:
✔ Pay-By-Traffic
✔ Pay-By-Bandwidth
✔ Provide Bandwidth Peak
✔ Provide Cloud-Init User-Data Initiation Script
✔ Select Cloud-Init User-Data File
✔ Assign Server To Selected vSwitch:
✔ Toggle I/O Optimized Instance
✔ Select Welcome Email Template
✔ Provide Volume Size
✔ Provide Random Domain Prefix
✔ Override WHMCS Generated Username
✔ Choose Features Available In Client Area:
✔ Start
✔ Stop
✔ Restart
✔ Shut Down
✔ Reset Instance Password
✔ noVNC Console
✔ Network Interfaces
✔ Scheduled Tasks
✔ Instance Details
✔ Network Interfaces Details
✔ Manage Instance Images:
✔ Search Through Available Public Images Base
✔ Add Custom Images Manually By Their Names Or IDs
✔ Generate Configurable Options
✔ Run Server API Connection Test
  • Client Area Features:
✔ Start/Stop/Restart/Shut Down Server
✔ Reset Instance Password
✔ Access noVNC Console
✔ View Instance Status And Details
✔ View Assigned IP Addresses
✔ View Network Interfaces Details
✔ View Scheduled Tasks
  • Configurable Options:
✔ Burstable Instance
✔ Instance Image
✔ Instance Type
✔ I/O Optimized Instance
✔ Peak Bandwidth [Mb/s]
✔ Public IPv4 Address
✔ Region
✔ Usage Billing Method
✔ User Data
✔ Volume Size [GB]
✔ vSwitch
  • Available Images:
✔ Linux OS:
✔ Alibaba Cloud Linux
✔ AlmaLinux
✔ Anolis OS
✔ CentOS
✔ Debian
✔ Fedora
✔ FreeBSD
✔ Gentoo
✔ OpenSUSE
✔ Rocky Linux
✔ Ubuntu
✔ Microsoft Windows:
✔ Windows Server 2022 DataCenter Edition
✔ Windows Server 2022 with Container DataCenter Edition
✔ Windows Server 2019 Data Center Edition
✔ Windows Server 2019 with Container DataCenter Edition
✔ Windows Server 2016 Data Center Edition
✔ Windows Server 2012 R2 Data Center Edition
✔ Windows Server 2008 R2 Enterprise
✔ Windows Server Version 2004 Data Center Edition
✔ Windows Server Version 2004 with Container Data Center Edition
✔ Custom Images Added By Their Name IDs
✔ Any Other Public OS Platforms When Made Available By API
  • General Info:
✔ Requires Access To Alibaba Elastic Compute Service (ECS)
✔ Integrated With Server Allocator For WHMCS - Automatic Assignment Of Most Suitable Servers To Products
✔ Multi-Language Support
✔ Supports PHP 8.1 Back To PHP 7.4
✔ Supports WHMCS Themes "Six", "Twenty-One" And "Lagom WHMCS Client Theme"
✔ Supports WHMCS V8.7 Back To WHMCS V8.4
✔ Requires ionCube Loader V12 Or Later
✔ Easy Module Upgrade To Open Source Version

[edit] Installation and Configuration

This tutorial will show you how to successfully install and configure Alibaba Cloud Virtual Machines For WHMCS smoothly.

We will guide you step by step through the whole process.

[edit] Installation

1. Log in to our client area and download the module.
ACV 1.png
2. Upload and extract the extension into the main WHMCS directory.

Extracted files in your WHMCS directory should look like this:

ACV 2.png
3. When you install Alibaba Cloud Virtual Machines For WHMCS for the first time, you have to rename the 'license_RENAME.php' file.

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

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

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

ACV 4.png
5. Now, set up the 'storage' folder as recursively writable.

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

ACV 5.png
6. The last step is setting up the queue cron job.

It will be used to execute module commands such as: create, terminate or change package.

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

It is suggested to run the cron every 5 minutes.

[edit] Configuration of Server

Before you can go on, you must generate your Alibaba Cloud Virtual Machines access details. You will need them to connect with the server successfully.

Underneath, you will find instructions where to find them.

7. Firstly, log into your Alibaba Cloud account at https://account.alibabacloud.com/.
ACV 6.png
8. Now, you need to move to the 'Console', press the adequate button and you will be redirected there immediately.
ACV 7.png
9. Hover over your 'Main Account' icon in the top right corner of the screen, a dropdown menu will appear. Press the 'AccessKey Management' selection.
ACV 8.png
10. You will be moved to 'AccessKey Pair section. There, you will be asked to confirm that you wish to 'Use Current AccessKey Pair'.
Press the button to get access.
ACV 9.png
11. If you do not have yet any active keys, press 'Create AccessKey' button to generate a new set of details.
ACV 10.png
12. A modal with "AccessKey ID" and "AccessKey Secret" will appear, so copy them and keep safe. You may also download a file with the details.
ACV 11.png
Note that you can find the corresponding secret key later on, it will be accessible next to the "AccessKey ID" in the panel.
ACV 12.png
13. Now, that you have you access keys, you may move back to your WHMCS. Proceed to 'System Settings' 'Servers' and press 'Add New Server'.
ACV 13.png
14. Next, enter your server name, fill in the 'Hostname' field, you may provide any data here, the provided content is not used in any way by the module.

Move to the "Server Details", select 'Alibaba Cloud Virtual Machines' from the 'Module' field.
Provide the previously generated access keys into 'Access Key ID' and 'Secret Access Key' fields.
Then check the connection. If successful, save the changes.

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

[edit] Configuration of Product

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

Click on 'Create a New Group'.

ACV 17.png
18. Enter your product group name and press 'Save Changes'.
ACV 18.png
19. Once you have a product group, you can create a new product.

To do so, first click on 'Create a New Product'.

ACV 19.png
20. Afterward, choose your product type, enter your product name, choose module and the product group from the dropdown menus. Press 'Continue'.
ACV 20.png
21. Now, go to the 'Module Settings' section, choose your previously created server group from the dropdown menu.

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

ACV 21.png
22. Now, you can start configuring the settings of the server you sell.

The first section is dedicated to general configuration. Define the settings of following options:

  • Burstable Instance - enable to allow to create burstable instances (addons)
  • Billing Method - select between:
    • "Subscription" - pay upfront and then use the service over a period of time
    • "Pay-as-you-go" - pay for resources after you use the resources
  • Change to "Subscription" - if enabled, the billing method will be automatically changed to "Subscription" on renewal
    • Billing Period - billing period to charge for the instances billed as subscription ("Subscription" method)
  • Region - select a region to deploy the resource
  • Instance Image - choose image that will be installed on the instance
  • Instance Type - select instance type based on the requirements of the application or software that you plan to run on your instance
  • Security Groups - a named set of allowed inbound network connections for an instance. Each security group consists of a list of protocols, ports, and IP address ranges.
  • Public IPv4 Address - enable public IPv4 addresses
  • Usage Billing Method - select between two available methods:
    • Pay-by-bandwidth
    • Pay-by-traffic
  • Peak Bandwidth [Mb/s] - set the Peak Bandwidth value in Mb/s. A peak bandwidth is the upper limit placed on the outbound bandwidth of an instance.
  • User Data - you can specify user data to configure an instance or run a configuration script during launch (this field is optional)
    Tutorial on how to use this option can be found here.
  • User Data File - choose the execution script which will be used to configure the virtual machine on the first boot. Go here to find more information about how to use these scripts.
    Note: User Data scripts are optional for product configuration if you do not want to use them, simply set this field to the 'Do not use' option.
  • vSwitch - assign server to a vSwitch
  • I/O Optimized Instance - enable if you aim to create an I/O optimized instance
  • Welcome Email Template - choose an email template among WHMCS inbuilt templates, the one that will be sent to a client when the VM is created
  • Volume Size [GB] - provide the data disks size between 20GB and 32TB
  • Random Domain Prefix - enter the domain prefix that will be used when the domain is not provided
  • Override Username - if specified, WHMCS generated username will be overwritten with this value
ACV 22.png
22. Enable features that will be available for your clients :
  • Start
  • Stop
  • Restart
  • Shut Down
  • Reset Instance Password
  • NoVNC Console
  • Network Interfaces
  • Scheduled Tasks
  • Instance Details: Status, Password, Instance ID, Image ID, Instance Type, Operating System, Memory, Core Count, Threads per Core, Tags, Public IPv4 Address
  • Network Interface Details: Type, Primary IP Address, IPv6 Addresses, MAC Address, Network Interface ID
ACV 23.png
23. The following section is dedicated to "Images".

Here, you may look for and then select single images to be added to the list. They will be available to choose from in the 'Instance Image' field in the main configuration of the product.

First of all, enter as many details as possible to find the images you are interested in. Press search button when ready.
When the list of available images appears, press 'Add' next to the one you wish to add to the list of selected.

ACV 24.png
Enter a custom name in the 'Configurable Option Name' if you wish to change it and confirm the action.
ACV 25.png
On the list of selected, there are all images that you have added, and which will be available to select from when setting up the 'Instance Image' configuration field.

It is also possible to add images manually here.

ACV 26.png
Simply enter the image ID or name ("Custom Image" is enabled) and enter a unique configurable option name.
ACV 27.png
23. 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 parameters individually during order placement.
Otherwise, if configurable options are not defined, then the fixed parameters specified in the earlier configuration will be used instead.

ACV 32.png
If you decide to use configurable options, press on the 'Create' button and select which options you want to generate.
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.
ACV 33.png

[edit] User Data Scripts

User data is arbitrary data that can be executed during Alibaba Cloud virtual machine creation, typically during the first boot of the server.
This allows you to perform tasks or run scripts as the root user which can be extremely useful when provisioning a server.

You can provide your own scripts using 'cloud-config' or 'Bash', keep in mind that module parameters are supported and may be used in the script files.
By default, we provide two exemplary scripts for changing the OS password or inserting SSH key, which you can use as a reference.
The script you want to include has to be located in the '/your_whmcs/modules/servers/AlibabaCloudVirtualMachines/storage/userDataFiles/' directory and may not exceed 64 KiB in size.

ACV 34.png
Once you create your own script, it can be chosen for product execution.

You can provide multiple scripts for configurable options, but only one can be chosen for Alibaba Cloud server creation.
If you would like to execute several different scripts at once, you should try combining them within a single file.

ACV 35.png

[edit] Management

[edit] Admin Area

Alibaba Cloud Virtual Machines For WHMCS allows you to monitor and manage your customer server instance from the admin area of your WHMCS system.

This includes supervision of such features as:

  1. Configurable options which enable you to view the chosen server details
  2. Module commands to allow easy and quick management of the server
  3. Service actions, including: Start, Stop, Restart the server, Reset Instance Password, access noVNC Console
  4. Instance details that provide the current status, resources and options set.
  5. Network interfaces details
  6. List of scheduled tasks with their specified type, status and date.
ACV 27 1.png

[edit] Ordering

Thanks to configurable options, you are able to offer a product which 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.
ACV 28.png

[edit] Importing Existing Instance

In this section, you can find short instruction on how to connect one of your clients to your already existing instance in the Alibaba Cloud 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 page in your admin area. Find the following empty field:

  • Instance ID

The above-mentioned information has to be consistent with the data from your Alibaba Cloud 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' .

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

[edit] Client Area

The client area interface of Alibaba Cloud service should look like the one on the screen below.

As you can see, the control panel contains useful details of the managed server.
The module allows your customers to easily start, stop, restart and reset the instance password through pressing the corresponding buttons.
Clients can also check the server status with its details, view assigned network interfaces and assigned IP addresses details as well as control the list of currently scheduled tasks.

ACV 29.png

[edit] Reset Instance Password

Among other actions, clients are allowed to change their instance password. Please keep in mind that after changing the password, it is required to restart the machine.
ACV 30.png

[edit] noVNC Console

Press adequate icon to establish connection via the noVNC Console.
ACV 31.png

[edit] Tips

1. In case you need to generate any of the configurable options once again, you must delete the previously created one.
Only then it will be possible to generate a new configurable option. Read more about configurable options here.

[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.

[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 Alibaba Cloud Virtual Machines 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.
Navigation
WHMCS Modules
WHMCS Widgets
Translations
cPanel Modules
General
FAQ
Community
Alibaba Cloud Virtual Machines For WHMCS