Personal tools
Namespaces

Variants
Actions

EasyDCIM Dedicated Servers For WHMCS

From ModulesGarden Wiki
Revision as of 15:11, 19 September 2023 by Joanna (Talk | contribs)

Jump to: navigation, search

Contents

About EasyDCIM Dedicated Servers For WHMCS

EasyDCIM Dedicated Servers For WHMCS will allow you to move the provisioning and management of EasyDCIM servers directly to your WHMCS.

The module will let you handle all crucial aspects of created servers, including their status and the SSH password.
Concurrently, your customers will be able to overview their servers, access KVM console, manage rDNS records and more, all without leaving your website.

If you are still using the module in version 1.x and need its documentation, you will find it under this page.

  • Admin Area Features:
✔ Create/Terminate/Suspend/Unsuspend Server
✔ Update Order Information
✔ Start/Stop/Reset/BMC Cold Reset Server
✔ Toggle Rescue Mode
✔ Access KVM Java Console (Dell And Supermicro Servers)
✔ Access noVNC KVM Console (AMI, Dell, HP And Supermicro)
✔ One Click Login To User Control Panel
✔ View Server, General And Location Information:
✔ Change Server SSH Password Field
✔ View Server ID And Order ID In EasyDCIM Panel
✔ View Server Resource Statistics:
✔ Bandwidth Usage
✔ Aggregate Traffic
✔ Ping
✔ Status
✔ Configure Product Details:
✔ Default Server Options:
✔ Server Model
✔ Server Location
✔ OS Template
✔ Number Of Additional IP Addresses
✔ Disk Layout
✔ Extras
✔ Automation Settings:
✔ Automatic Order Acceptance And Server Matching
✔ Define Required Devices:
✔ PDU
✔ Switch
✔ Block Automatic WHMCS Suspension/Unsuspension/Termination
✔ Define Bandwidth Notification Limit
✔ Control Service Access Level
✔ Define Additional Part Requirements:
✔ HDD Models
✔ SSD Models
✔ RAM Models
✔ CPU Models
✔ Define Additional Metadata Requirements
✔ Define Client Area Features:
✔ Service/General/Location Information
✔ Graphs
✔ Server Actions
✔ Overview Tables
✔ Extensions Access
✔ OS Installation Actions
✔ Available OS Templates For Rebuilding
✔ Control Service Actions And Email Notifications
✔ Generate Default And Additional Parts Configurable Options
✔ Determine Monthly Interval Of Bandwidth Usage
✔ Define Percentile Billing Of Bandwidth Overages
✔ Use EasyDCIM Merge Fields In Email Templates
  • Client Area Features:
✔ Create/Terminate/Suspend/Unsuspend Server
✔ Receive Email Notification On Complete Server Creation
✔ Start/Stop/Reset/BMC Cold Reset Server
✔ Toggle Rescue Mode
✔ Access KVM Java Console (Dell And Supermicro Servers)
✔ Access noVNC KVM Console (AMI, Dell, HP And Supermicro)
✔ One Click Login To User Control Panel
✔ View Server, General And Location Information:
✔ Change Server Hostname
✔ Change Server SSH Password Field
✔ View Bandwidth Usage
✔ View Server Resource Statistics:
✔ Aggregate Traffic
✔ Ping
✔ Status
✔ Add Custom ISO Images To Server
✔ Rebuild Server Using OS Templates And Your Own Credentials
✔ Manage Reverse DNS Records
✔ View Access List With Stored Passwords
  • Configurable Options:
✔ Server Model
✔ Server Location
✔ OS Template
✔ Disk Layout
✔ Number Of Additional IP Addresses
✔ Custom Device
✔ Metadata
✔ HDD Size (Of Any Additional Parts)
✔ SSD Size (Of Any Additional Parts)
✔ RAM Size (Of Any Additional Parts)
✔ CPU Cores (Of Any Additional Parts)
✔ Custom - To Be Displayed In EasyDCIM Service Configuration
  • Advanced Billing Integration:
✔ Bill For Current In/Out/Total Bandwidth Usage
✔ Apply 95th Percentile Billing Of In/Out/Total Bandwidth Overages
  • Supported Server Manufacturers:
✔ AMI
✔ Dell
✔ HP
✔ Supermicro
  • General Info:
✔ Integrated With Advanced Billing For WHMCS - Actual Server Resource Usage Billing (read more)
✔ Integrated With Products Reseller For WHMCS - End-To-End Solution For Products And Servers Reselling (read more)
✔ Integrated With Server Allocator For WHMCS - Automatic Assignment Of Most Suitable Servers To Products (read more)
✔ Multi-Language Support
✔ Supports EasyDCIM v1.9.6 And Later
✔ Supports PHP 8.1 Back To PHP 7.4
✔ Supports WHMCS Themes "Six", "Twenty-One" And "Lagom WHMCS Client Theme"
✔ Supports WHMCS V8.8 Back To WHMCS V8.6
  • Exclusive Promo Code From ModulesGarden:
Save 25% For 3 Months On The EasyDCIM Control Panel With Coupon: WHMCS25%_ED

Installation and Configuration

This tutorial will show you how to successfully install and configure EasyDCIM V2 For WHMCS.

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

Installation

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

Files in your WHMCS directory should look like on the following screen.

PHP74 81.png
If you are about to update your EasyDCIM Dedicated Servers module from v1 to v2? Remember to strictly follow the update instructions described at the bottom of this documentation!

Configuration of Server

3. Now, we will show you how to configure a new product.

Go to 'Setup' → 'Products/Services' → 'Servers' and press the 'Add New Server' button.

ED2 3.png
4. Next, choose 'EasyDCIMv2' from the 'Module' dropdown menu.

Fill in your server "Name", "IP address" or "Hostname", and the "Password", then press 'Save Changes'.
Remember not to use SSL Mode for Connection, keep this option disabled or otherwise you will encounter errors when testing the server connection.
Note: The password can be found in your EasyDCIM administrator user profile listed as 'API Key'.

ED2 4.png
5. After configuring your server, you can check the connection.

In order to check the connection with an EasyDCIM server, edit the server configuration and press 'Test Connection' as shown on the screen below.

ED2 5.png
6. The next step is creating a server group. To do so, click on 'Create Server Group'.
ED2 6.png
7. Enter the name, click on your previously created server, press 'Add' and 'Save Changes' afterwards.
ED2 7.png

Configuration of Product

9. In order to create and configure a product, go to 'Setup' → 'Products/Services' → 'Products/Services'.

Click on 'Create a New Group'.

ED2 8.png
10. Enter the product group name and press 'Save Changes'.
ED2 9.png
11. Once you have a product group, you can assign your product to it.

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

ED2 10.png
12. Next, choose your the product type, assign it to a group of similar products, enter your product name, select module: 'EasyDCIMv2' and then press 'Continue'.
ED2 11.png
13. Now, go to the 'Module Settings' section, choose both 'EasyDCIM' and your previously created server group from dropdown menus.

Do not forget to click 'Save Changes'.

ED2 12.png
14. The module configuration is only partly obligatory. The server will be assigned based on the provided configuration, and will therefore match only those options that have been specified.

Default Options - these options will be used for an order placement in EasyDCIM when the service is ordered and activated in WHMCS:

  • Server Model (required) - the EasyDCIM server model
  • Location (required) - a desired server location
  • OS Template - reinstall server with a chosen OS template before delivering it to client
  • Additional IP Addresses Number - the number of additional IP addresses assigned to a server
  • Disk Layout - choose the disk layout addons for the chosen template and location
  • Extras - choose additional addons for the chosen template and location

Automation Settings - define actions related to this product, they will be executed automatically based on the actions taken in WHMCS:

  • Auto Accept - automatically run server matching, server will be provisioned in a few moments
  • Require PDU - the provisioned server has to be connected to a PDU device
  • Require Switch - the provisioned server has to be connected to a Switch device
  • Debug Mode - use only when performing troubleshooting
  • Service Access Level - configure the access level to control the features available to your clients. These levels and features are defined in your EasyDCIM at 'Clients' → 'Services' → 'Access Level' tab.
ED2 14.png
Client Area Features - define the features and information that will be available for customers in the client area.

Select elements for every section in the client area that will be available to your customers:

  • Service Information
  • General Information
  • Location Information
  • Graphs
  • Server Actions
  • Overview Tables
  • Extensions
  • OS Installation Actions

  • OS Templates - selects the OS Templates that will be available for clients to choose from when reinstalling the server

Email Notification

  • Create Server Action Notification (To Client) - Choose the email template that will be sent to the client when creation of the ordered server is finished.
  • Notified Administrator - choose the WHCMCS administrator who will receive the below described notifications about certain actions performed on the services
  • Suspend Action Notification - select the email template that will be used to notify about suspending the service
  • Unsuspend Action Notification - select the email template that will be used to notify about unsuspending the service
  • Terminate Action Notification - select the email template that will be used to notify about terminating the service
ED2 14 1.png
15. Choose parts from the dropdown menu and provide their values. They will be available for clients while placing an order.
ED2 13.png
ED2 13 1.png
16. Alike parts, you may configure extra metadata that will be required to choose for clients while placing an order.
ED2 13 2.png
ED2 13 3.png
17. Now, you can optionally generate the default configurable options to allow placing orders tailored to your customers' needs.

We recommend viewing and modifying them to fit your provisioning capabilities. You can find them under 'System Settings' → 'Configurable Options'.
Note: You can also add your own configurable options which will be then displayed under 'Service Configuration' in your EasyDCIM backend.
Important: Any configurable option will overwrite its counterpart from the 'Module Settings'of a product.
Important: If you create general configurable options, remember to refresh the page in order to successfully assign the newly generated configurable options to a product
and then to be able to generate and allot configurable options to additional parts.

ED2 15.png
ED2 15 1.png
ED2 15 2.png
ED2 15 5.png
18. Additionally, you can set up a percentile billing for additional traffic.

Note: This option is possible only if you do not have Advanced Billing Form WHMCS module installed. If you need a bit more advanced billing integration, please go here for more information.
Go to the 'Other' tab and enable 'Overages Billing' . First, define the standard overages bandwidth billing and then set the following percentile values:

  • Soft Limit - bandwidth usage in Mbps above which the customer will be additionally charged for the used transfer
  • Cost - price per Mbps unit above the 'Soft Limit' value

E.g. If 'Soft Limit = 100' and 'Cost = 0.500' and the client exceeds the bandwidth by 10 Mbps, reaching to '110 Mbps' , they will be additionally charged with $5 USD (10 x 0.500).
Note: The percentile billing requires the standard billing of bandwidth overages to be enabled. It will be also calculated during the execution of the WHMCS system cron.

ED2 15 3.png

Custom Fields

Once the configuration of the module settings has been completed, the following custom fields will be created automatically.
Note: These fields will not be visible to clients by default.
  • OrderID - the number used to link the product with EasyDCIM order number
  • ServerID - the number used to link the product with EasyDCIM server ID
  • bandwidthUsageFromRegistrationDate - if set to 'on' , the billing cycle for transfer usage will be billed monthly, starting from the date of product registration (e.g. from the 15th to the 15th of the following month).
    Otherwise, usage charges will be calculated on the last day of each month as in default WHMCS cycle.
  • percentileUsage - the entire current usage. If the value specified previously in the percentile configuration is exceeded, the additional charge will be calculated accordingly.
ED2 15 4.png

Management

In this section we will show you all possibilities of EasyDCIM Dedicated Servers For WHMCS.

Our module allows you to offer and manage EasyDCIM servers right in your WHMCS system.

Admin Area

As soon as you set up a server for a client, you can request various actions and view server details from the WHMCS admin area.
The 'Log In To Panel' button allows you to immediately log in to the client's EasyDCIM control panel.
The 'Update Order Information' allows you to manually check if a server matching the one specified in the order has been found and assigned.

ED2 16.png
Our module allows you to:
  • start/stop/reset server,
  • force BMC cold reset of the server
  • enable rescue mode
  • use KVM Java console/ no VNC KVM console
  • view and edit server information
  • view general and server location information
ED2 17.png
Below the mentioned functions, there are various usage graphs and statistics available at your disposal.

Note: By default, there are 4 types of statistics generated and updated live. If you need more, you can add them though the configuration.json file located in /yourWHMCS/modules/servers/EasyDCIMv2/Config.

ED2 18.png

Client Area

In the client area your customers can view all details concerning their servers, manage their status remotely as well as log in to their EasyDCIM control panel with a single click.

Other available actions on the server: Start, Stop, Reset, BMC Cold reset, Enable Rescue Mode.

ED2 19.png

Device Statistics

View Graphs

This section allows to view information on the total traffic on all of your devices in a form of a clear graph.

Note: Available time intervals depend on the date of the product registration.

ED2 21 1.png

ISO Images

In the ISO Images section you may add custom ISO images to their servers.

Important: ISO images are used to manually install the operating system. If you want to use an ISO image, you cannot perform an automatic OS installation within EasyDCIM.
Available ISO images are accessible when a noVNC session is used. The images will be automatically mounted when creating a noVNC session in the “/home/iso” directory.

ED2 21 0.png
Type in your custom name of the ISO image and provide a direct URL to the .iso files.
Press the adequate button to confirm the action.
ED2 22 0.png

OS Installation

The OS Installation section gives the possibility to reinstall OS on the client's server.
ED2 22.png
Select the OS template to reinstall and provide all the necessary details to proceed with the reinstallation.
Confirm your decision in the end.
ED2 22 1.png

DNS Management

It is possible for your clients to control their reverse DNS. They can either edit the already existing records or create new ones.
ED2 23.png
To create a record, all your clients need to do is fill in the necessary information. The newly created record will immediately appear on the list.

If you want to create just one record, then please leave the 'Mask' field empty.

ED2 24.png

Password Management

Move to the Password Management section to see a full list of all stored passwords. Press the icon next to the password to show/hide it.
ED2 25.png

KVM Java Console

If your clients are using Dell or SuperMicro servers, they can access the KVM Java console.
ED2 26.png
It will launch a Java applet that will automatically connect to your client's server.

Note: The browser needs to have Java enabled with the correct permissions to make the console functioning.

ED2 27.png

noVNC KVM Console

For clients using the 'American Megatrends', 'Dell', HP' and 'Supermicro' servers there is available access to the noVNC KVM console.
ED2 28.png
noVNC KVM Console in contrast to KVM Console is not downloaded directly on the client's device, EasyDCIM connects with proxy server via VNC to allow the remote session.

Email Templates Merge Fields

Whmcs Email Templates are compatible with EasyDCIM and you may easily include EasyDCIM data in their content.

In this section you will earn how to create merge fields that then can be used in email templates that you send to your clients.

The pattern of creating acceptable by WHMCS merge fields is very easy:

Let's take IP address as an exemplary EasyDCIM metadata. The WHMCS variable will be {$easydcim_ip_address}. As you have surely noticed:

  • variables use lower case only
  • use underscore '_' in place of every free space
  • insert 'easydcim_' prefix in the beginning


A WHMCS variable with information on EasyDCIM matadata is ready to use!

Here you can find a list of exemplary ready made variables:
EasyDCIM Metadata WHMCS Merge Fields
Hostname {$easydcim_hostname}
IP Address {$easydcim_ip_address}
Additional IP Addresses {$easydcim_additional_ip_addresses}
IPMI Enabled {$easydcim_ipmi_enabled}
IPMI IP Address {$easydcim_ipmi_ip_address}
IPMI Username {$easydcim_ipmi_username}
IPMI Password {$easydcim_ipmi_password}
IPMI Board Type {$easydcim_ipmi_board_type}
IPMI Protocol Version {$easydcim_ipmi_protocol_version}
IPMI Driver {$easydcim_ipmi_driver}
IPMI Proxy Server {$easydcim_ipmi_proxy_server}
IPMI Console Port {$easydcim_ipmi_console_port}
IPMI Console Login URL {$easydcim_ipmi_console_login_url}
IPMI Port {$easydcim_ipmi_port} => string
IPMI Privilege Level {$easydcim_ipmi_privilege_level}
IPMI VPN IP Address {$easydcim_ipmi_vpn_ip_address}
IPMI VPN Username {$easydcim_ipmi_vpn_username}
IPMI VPN Password {$easydcim_ipmi_vpn_password}
IPMI VPN Instructions {$easydcim_ipmi_vpn_instructions}
Downtime {$easydcim_downtime}
SSH Password {$easydcim_ssh_password}
SSH Username {$easydcim_ssh_username}
SSH Port {$easydcim_ssh_port}
SSH Private Key {$easydcim_ssh_private_key}

Advanced Billing Integration

EasyDCIM Dedicated Servers For WHMCS supports integration with the Advanced Billing For WHMCS module.
This allows you to charge your customers for bandwidth (In, Out and Total) and apply 95th percentile (In, Out and Total) billing for additional traffic.

Note: We suggest to run the cron only once per hour (with the interval of 3600 seconds).
This is due to the fact that while generating an invoice, only the last billed record is taken into account, so there is no need to collect data more often.

ED2 29.png
Once the relevant options are enabled, your clients will also be able to view billing for the current usage in your client area.
ED2 39.png


Tips

1. Note that placing two identical orders may result in assigning servers with slightly different parameters.

It is a natural result of how server matching in EasyDCIM works. In brief, it matches a server basing on the resources and models precised in the order, without considering other resources.
In the first place the process aims at identifying the server matching the order 100%. When it fails, the server fulfilling the highest number of specifications will be assigned instead.
More information about server provisioning flow can be found on EasyDCIM documentation page.

2. As this server supports the templates system, any changes made in the server's templates files will be saved after the upgrade process.
4. In '/yourWHMCS/modules/servers/EasyDCIMv2/Config' location you can find 3 additional config files:

- configuration.json - where you can set created user role ('2' by default) as well as add and manage graphs displayed in both client and admin area
- emailTemplates.json - where you can edit email templates that are automatically created after first run of EasyDCIM module
- hooks.json - where you can activate/deactivate hooks used by the module or add your own

How To Use Language Overrides

Incorporating language customizations - the module readily accommodates language overrides, allowing you to tailor the language files to your preferences.
The language file english.php remains unencoded and can be modified to suit your needs. However, it's recommended to avoid altering the core file itself, and instead, leverage the capability of using overrides.
Here's how to apply language overrides:
  • Navigate to the ~/langs/ directory located within the following yourWHMCS/modules/servers/moduleName/langs/ path.
  • Within this directory, create a new file or duplicate the language file you intend to modify. For instance, if you wish to create an override for the English language, establish the following directory structure:
 ~/langs/overrides/english.php.
  • Open the newly created override file to edit its contents.
  • At the beginning of the file, indicate the used code, for instance, you can use: <?php for PHP code.
  • Adapt the file content according to your requirements. You can either selectively modify specific variables or opt to revise the entire content of the language file.

For example:

Original yourWHMCS/modules/servers/moduleName/langs/english.php:

 $_LANG['Search'] = 'Search';

Override yourWHMCS/modules/servers/moduleName/langs/overrides/english.php:

 $_LANG['Search'] = 'Look for';
By following these steps, you can seamlessly implement language customizations without altering the core language file, ensuring your changes will not be lost after every module update.

Remember that some of the modules have more than one language file, located under /addons and /servers paths. You may create the override files for both of them.
Note that you do not need to paste all the original content of the lang file into the override file. Enter there only the lines that you wish to change, every other line will be fetched from the original module lang file.
Consequently, the override lang file might include only one or just a few lines.

Update Instructions

If you are updating your EasyDCIM Dedicated Servers For WHMCS module and wish to migrate your data to the new V2 module version, please familiarize yourself with the below instructions firstly.
Please follow the instructions step by step to avoid any unexpected errors.
Start with making a backup copy of your WHMCS files and database.
This step is crucial as it will let you avoid losing any data in case of unexpected update failure or other issues.
1. Download the latest version of the module from our client area.
2. Upload and extract the new module files into your WHMCS root directory.
3. Move to the System Settings → Servers, create a new server and a new server group dedicated to the EasyDCIM V2 module.
4. Move to the System Settings → Products/Services, and find and open the product you are going to update.
5. Open the Module Settings section of the product of your interest, find and open the product you are going to update.
6. Change the 'Module Name' from "EasyDCIM" to "EasDCIMv2".
Change the 'Server Group' to the created in the 3rd step.
7. Configure the module settings from scratch and save the changes.
8. Generate any configurable options if need any.
9.* Regarding billing methods update:
  • Advanced Billing For WHMCS:
    If the Advanced Billing For WHMCS module is used to calculate the billing, move to this module addon and set up the product pricing again, as described here.
  • WHMCS inbuilt system is used:
    If you do not use the Advanced Billing For WHMCS module to calculate the billing, move to the System Settings → Products/Services → Other tab and configure the "Percentile Usage" and "Percentile Cost" fields from scratch.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. Error: "Malformed Response" when testing the server connection
Solution: Make sure the 'Secure' option is disabled and SSL mode is not used for connection.
Navigation
WHMCS Modules
WHMCS Widgets
Translations
cPanel Modules
General
FAQ
Community
EasyDCIM Dedicated Servers For WHMCS