Personal tools
Namespaces

Variants
Actions

EasyDCIM Dedicated Servers For WHMCS

From ModulesGarden Wiki
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.

  • Admin Area Features:
✔ Create/Terminate/Suspend/Unsuspend Server
✔ Boot/Reboot/Shut Down/BMC Cold Reset Server
✔ Change Server SSH Access Details
✔ View Server Details
✔ View Server Resource Usage Graphs
✔ Generate Default Configurable Options
✔ Configure Server:
✔ Server Model
✔ Server Location
✔ OS Template
✔ Server Resources
✔ Toggle Automatic Order Acceptance And Server Matching
✔ Define Required Devices
✔ Define Required Item Models:
✔ HDD Model
✔ SSD Model
✔ RAM Model
✔ CPU Model
✔ Define Client Area Features
✔ Choose OS Templates Available For Rebuilding
✔ Choose OS Templates Available For Rebuilding
✔ Control Service Actions And Email Notifications
✔ Determine Monthly Interval Of Bandwidth Usage
✔ Define Percentile Billing Of Bandwidth Overage
✔ One Click Login To EasyDCIM:
✔ User Control Panel
✔ Admin Panel
✔ Use EasyDCIM Merge Fields In Email Templates
✔ Toggle Debug Mode
  • Client Area Features:
✔ Boot/Reboot/Shut Down/BMC Cold Reset Server
✔ Receive Email Notification On Complete Server Creation
✔ Change Server Hostname
✔ Change Server SSH Password Field
✔ View Server Details
✔ Access KVM Console (Dell And SuperMicro Servers)
✔ Access noVNC KVM Console (American Megatrends, Dell, HP And Supermicro)
✔ Rebuild Server OS Using OS Templates And Your Own Credentials
✔ View Access List With Stored Passwords
✔ Manage Reverse DNS Records
✔ Rebuild Server Using OS Templates And Your Own Credentials
✔ View Server Resource Usage Graphs
✔ View Traffic Statistics
✔ One Click Login To User Control Panel
  • Configurable Options:
✔ Server Model
✔ Server Location
✔ OS Template
✔ Service Access (Hidden By Default
✔ Bandwidth
✔ Additional IP Addresses
✔ HDD Size
✔ SSD Size
✔ RAM Size
✔ CPU Cores
✔ Custom - To Be Displayed In EasyDCIM Service Configuration
  • Advanced Billing Integration:
✔ Bill For Current Bandwidth Usage
✔ Apply 95th Percentile Billing Of Bandwidth Overages
  • General Info:
✔ Integrated With Advanced Billing For WHMCS v3.2.2 And Later - Actual Server Resource Usage Billing (read more)
✔ Integrated With Server Allocator For WHMCS - Automatic Assignment Of Specified Servers To Products (read more)
✔ Multi-Language Support
✔ Supports EasyDCIM v1.4.3 and Later
✔ Supports PHP 5.6 Up To PHP 7.2
✔ Supports WHMCS Template Six
✔ Supports WHMCS V7.2 And Later

Installation and Configuration

This tutorial will show you how to successfully install and configure EasyDCIM 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.
ED 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.

ED 2 2.png

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.

ED 3.png
4. Next, choose 'EasyDCIM' from the 'Type' dropdown menu.

Fill in your server name, IP address, username and password, then press 'Save Changes'.
Note: The password can be found in your EasyDCIM administrator user profile listed as 'API Key'.

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

ED 5.png
6. The next step is creating a server group. To do so, click on 'Create Server Group'.
ED 6.png
7. Enter the name, click on your previously created server, press 'Add' and 'Save Changes' afterwards.
ED 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'.

ED 8.png
10. Enter the product group name and press 'Save Changes'.
ED 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'.

ED 10.png
12. Next, choose your product group, enter your product name and then press 'Continue'.
ED 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'.

ED 12.png
14. Before configuring the product, set up the EasyDCIM cron job which can be found here.
ED 13.png
15. 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:

  • 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
  • Bandwidth - define traffic limitation per server in a preferred monthly cycle
  • Additional IP Addresses - the number of additional IP addresses assigned to a server
  • HDD/SSD/RAM Size - a required amount of memory in specific parts (note: 1GB is equal to 1024 MB)
  • CPU Cores - the number of CPU cores

Product Configuration

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

Items Model

  • Specify whether a chosen part has to be of a specific model, e.g. match the server using `Intel Xeon E3-1220 v5` CPU.

Client Area Features

  • Define elements available to your customers in your WHMCS client area.

Service Actions

  • Choose service actions to send chosen email notifications to selected administrators instead of performing provisioning actions immediately.
    Leave the fields unchecked to perform WHMCS module commands in a default manner.

Service Notification

  • Choose the email template that will be sent to the client when creation of the ordered server is finished.
ED 14.png
15. 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 'Setup' → 'Products/Services' → '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.

ED 15.png
16. 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.

ED 15 1.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.
ED 15 2.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 'Change Password' action alters the SSH access details to the client's server while 'Update Order Information' allows you to manually check if a server matching the one specified in the order has been found and assigned.

ED 16.png
Our module allows you to boot/reboot/shutdown server, force BMC cold reset of the server as well as view its details.
ED 17.png
Below the mentioned functions, there are various usage graphs and statistics available at your disposal.

Note: By default, there are 5 types of statistics displayed. If you need more, you can add them though the configuration.json file located in /yourWHMCS/modules/servers/EasyDCIM/Config.

ED 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: Boot, Reboot, Shutdown, BMC Cold reset.

ED 19.png
Additionally, they can explore several usage graphs.
ED 20.png

Password Management

Move to Password Management section to see a full list of all stored passwords. Press the icon next to the password to show/hitde it.
ED 23 1.png

DNS Manager

It is possible for your clients to control their reverse DNS. They can either edit the already existing records or create new ones.
ED 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.
ED 24.png

Usage Collector

Usage Collector section allows to view information about the traffic billing.

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

ED 21.png

OS Installation

Finally, OS Installation sections gives the possibility to reinstall OS on the client's server.
ED 22.png

KVM Console

If your clients are using Dell or SuperMicro servers, they can access the KVM console.
ED 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.

ED 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.
ED 26 1.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}
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 Colocation For WHMCS supports integration with the Advanced Billing For WHMCS module.
This allows you to charge your customers for total bandwidth and apply 95th percentile 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.

ED 28.png
Once the relevant options are enabled, your clients will also be able to view billing for the current usage in your client area.
ED 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.
3. Since the 1.3.0 version, the 'monthlyTrafficLimit|Monthly Traffic Limit' configurable option has been changed to 'Bandwidth|Bandwidth' .
Remember to change it manually after updating the module.
4. In '/yourWHMCS/modules/servers/EasyDCIM/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 diplayed in both client and admin area
- emailTemplates.json - where you can edit email templates that are automatiacally created after first run of EasyDCIM module
- hooks.json - where you can activate/deactivate hooks used by the module or add your own

Update Instructions

Essential guidance through the process of updating the module is offered here.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
Navigation
WHMCS Modules
cPanel Modules
Magento Extensions
Magento Themes
PrestaShop Modules
Blesta Extensions
General
Social
EasyDCIM Dedicated Servers For WHMCS