Public Cloud

Virtalus HyperCX offer the possibility to build your own Public Cloud based in your Private enviroment. Some components should be modified, and some resources created so they are readily available for new users. HyperCX allow to create two kinds of Public Clouds, a Simple and an Advanced one.

The Simple Cloud uses only the HyperCX platform with some customization. It is a basic way sell your private enviroment. For this, it is needed to add groups and users for your clients in a manual way. It allows to download Templates or upload your own in order to offer it to the clients and create virtual network. Users will only be allowed to create and manage VMs, and use the Simple View.

The Advanced Cloud uses the HyperCX platform and an external platform (WHMCS) fully integrated for the auto-registration portal and the billing system. It provides advanced features and possibilities not available on the previous mode. By leveraging this mode, users will be able to use the Advanced View besides the Simple View.

Both for the Simple and the Advanced model, some operations will be required or recommended on the cluster. This guide will start on those requirements, and then will move to the specifics on each model. The user should start by the common configurations and jump after to his specific deployment model.

Common Configurations

Following configurations should be considered for both Simple and Advanced Cloud mode. After this section, the specifics of each mode will be mentioned.

Templates

Download the TEMPLATES that you will offer in the Cloud. You might want to offer at least Centos 6 and 7, Ubuntu and Windows 2012, 2016, 2019. These templates should be downloaded from the marketplace provided by HyperCX.learn more

Public Network

The public network is recommended for the clients to access to virtual machines that they will create. So, it should be created before provisioning a user. It is possible to add new virtual network, you could find more information in Virtual Networks

Necessary information to create a network

  • The bridge that is used in the nodes for internet access, usually it’s br1
  • Network address, gateway and ranges to be used
  • The bondig used, usually it’s bond0

NFV features

Optionally, HyperCX_NFV can be offered to the end user. HyperCX NFV offers the possiblity to create and manage your own load balancer, VPN, firewall and router. More information could be found in HyperCX NFV. Users can use it by downloading the Virtalus Marketplace appliance in case for the Advanced mode, but if Simple mode is used, or you expect many users will require this (likely scenario), it should be pre-downloaded on the cluster (learn more). Set the correct permission in the image and template.

Image Permissions

Template Permissions

Allow resources to be used

Templates, images and virtual networks must be allowed to be used by others, so users from different groups will be able to use them.

Simple Cloud

In this mode, users will not be created automatically. Instead, the cluster administrator must create an account for each end user. This option is convenient in some cases where administrators want to keep a more strict control on the cluster's users. For this case, it is recommended to create at least a group to hold these users, and set limits (quotas) at an user level. More than one group can be created to lump together similar users and share resources among them.

Create Groups

A group in HyperCX makes it possible to isolate users and resources. Groups could use a limited number of resources but it is recommended to let them unlimited and instead set the quotas to the users. The following pictures will show the standard configurations recommended for a public cloud group.

Create client users

At this point, users can be created normally inside this group, just set the quotas requested by the end users.learn more

Advanced Cloud

For this, you will need an extra layer upon HyperCX to handle users registration and advanced billing. HyperCX provides an connector to WHMCS, a world's leading web hosting automation platform.

Virtual Network templates

It is recommended to create one or several Virtual Network Templates for the clients to instantiate their own private networks. You could find more information related to it in Virtual Networks. A use case can be found on is Virtalus managed Public Cloud, more information here.

WHMCS installation and configuration

WHMCS will provide the auto-provision portal and the billing system for the Cloud.

1- A running WHMCS is an indispensable requirement for this enviroment. In this guide we assume that you have one, so we will continue. The instalation instructions are outside of the scope of this documentation, but Virtalus can provide support when setting this.

2- Request the HyperCX Module for WHMCS from Virtalus Support. With this module, every new user account created through WHMCS will create a new user and group into HyperCX platform with unlimited resources for the end user. The groups and users should look like this:

Groups

Users

The new user will be a group admin of his own group, and will be able to create more users inside his own group.

3- Access through ssh to WHMCS server and copy HyperCX Module to /whmcs-directory-file/modules/servers/hypercx/lib/

General Settings

1- Access to WHMCS portal http/https://<web site ip or fqdn>/admin

2- Go to Setup>>Settings to make the general configurations as described below:

  • General
//Modiify the following things
# Company Name  ***Your Company Name as you want it to appear throughout the system***
# Email Address  ***The default sender address used for emails sent by WHMCS***
# Domain   *** The URL to your website homepage***
# Pay To Text  ***This text is displayed on the invoice as the Pay To details***  
# WHMCS System URL  ***The URL to your WHMCS installation (SSL Recommended) eg. https://www.example.com/members/***
# Maintenance Mode Redirect URL  ***If specified, redirects client area visitors to this URL when Maintenance Mode is enabled***

Example

  • Ordering
//Modify the following things
# Order Days Grace   ***The number of days to allow for payment of an order before being overdue****
# Default Order Form Template
# Auto Redirect on Checkout   ***Usually "Automatically forward the user to the payment gateway"***
//Don't enable the other options

Example

  • Domains
//Disable the use of domains
# Domain Grace and Redemption Fees

Example

  • Mail
//Modify the following things
# Mail Type
# SMTP Port
# SMTP Host
# SMTP Username
# SMTP Password
# SMTP SSL Type
# Global Email Signature
# System Emails From Name
# System Emails From Email

Example

  • Security
//Set this parameters as the value between *** ***
# Email Verification   ***Enabled***
# Captcha Form Protection   ***Always On (code shown to ensure human submission)***
# Captcha Type    ***reCAPTCHA v2 (Google's reCAPTCHA system)***
# Captcha for Select Forms     ***Shopping Cart Checkout, Client Registration, Contact Form, Ticket Submission, Login Forms***
# reCAPTCHA Site Key  //You need to register for reCAPTCHA @ https://www.google.com/recaptcha/admin
#  reCAPTCHA Secret Key
# API IP Access Restriction   // IP Addresses allowed to connect to the WHMCS API
#  Log API Authentication    ***Enabled***
# CSRF Tokens: General      ****Disabled***

Example

  • Automation Settings

1- Access via ssh to WHMCS server and set a cron job. Without it, WHMCS will not generate invoices automatically, suspend accounts, send payment reminders and update the disk usage statistics.

# crontab -e
//Add this line
*/5 * * * * /usr/bin/php -q /var/www/whmcs/crons/cron.php*
//This job will run every 5 minutes

2- There are other configurations that need to be configured inside Automation Settings like Automatic Module Functions, Billing Settings, etc.

Example

  • Email Templates

This option hold all the Templates that WHMCS send for diferent reasons, like the Welcome Email. Here you could modify every template according to your needs.

Example

Dear {$client_name},


PLEASE READ THIS EMAIL IN FULL AND PRINT IT FOR YOUR RECORDS


Thank you for your order from us! Your hosting account has now been setup and this email contains all the information you will need in order to begin using your account.


 We have provided an url which you could use to manage your resources and deploy your services.


New Account Information


Hosting Package: {$service_product_name}
Billing Cycle: {$service_billing_cycle}
Next Due Date: {$service_next_due_date}


Login Details

Username: {$client_email}
Password: {$service_custom_fields.0}


Control Panel URL: https://{$service_server_hostname}


Server Information


Server Name: {$service_server_hostname}


Thank you for choosing us.


{$signature}

Products/Services

In this section you will create the servers that will provide the resources for your client requests. Also, you will create the products that should be offered.

  • Create a Group and a Server. This Server (HyperCX Server) will be used to provision the users and their quotas

Example

  • Create a Configurable Option for quotas like CPU, RAM, HDD,etc. This will be used to set the metioned parameters inside the HyperCX platform

  • Create a Group and a Product to offer in the cloud.

Example

Custom Web

WHMCS allows you to customize the web interface to meet yuor requirements. You are able to change the colors, modules ubication, etc.. The main files to modify are:

- styles.css    /var/www/whmcs/templates/six/css/
- header.tpl    /var/www/whmcs/templates/six/
- all.min.css   /var/www/whmcs/templates/six/css/