WHMCS with Private Cloud Servers and Advanced Product Setup

Working with WHMCS & the Liquid Web Reseller Plugin

With the steps of the previous articles complete, we now have the WHMCS Liquid Web plugin setup and enabled. If you followed the previous directions, you’ve successfully created the first product based on VPS offerings. We will now cover some more advanced product creation options.

Step #1: Create a Liquid Web Private Cloud Product

To create your first Private Cloud product you will first need to open the Product Setup Wizard page within the WHMCS interface:

  1. Click on the ‘Addons’ tab at the top of the page.
  2. Select the ‘Liquid Web Storm Servers Billing’ option.
  3. From the sidebar on the left, click ‘Product Setup Wizard’.
  4. Once loaded, select only ‘Liquid Web Private Cloud’ then click ‘Next’.
  5. At this point the process will vary depending on if you already have a Private Cloud server connected to your Liquid Web account.
  6. If you already have a Private Cloud server continue to F, otherwise you will need to create a new Private Cloud server:
    Add Private Cloud

    1. You will see a ‘Add New Server’ dialog box come up, once the page loads.
    2. Select the Zone you’d like the server to be in.
    3. Review the available Private Cloud servers and select the one you’d like.
    4. Provide a hostname for the server in the ‘Host Name’ text input.
    5. Click ‘Add Server’.
  7. You may now create the Private Cloud based product.
  8. Create Private Cloud Product

    You may want to adjust most, if not all, of the fields on this configuration page to customize the product based on your current needs.
  9. After adjusting the options as needed, click the ‘Save & Continue’ button.

Step #2: Advanced Product Configuration Settings

While the initial settings in the Product Setup Wizard are generally enough to accommodate most product creations, there are more advanced settings which might be useful when creating more complex product configurations.

There will be small differences between the advanced settings found within the Private Cloud settings and the VPS based settings, though generally they both have most of the same options.

To access the advanced product configuration settings you can either: click ‘Save & go to Advanced mode’ button when creating a new product, or by opening a current product and selecting the ‘Module Settings’ tab.

Vps Advanced
Private Cloud Advanced

Above you see the VPS advanced configuration page (left) and the Private Cloud advanced configuration page (right).

As seen above the advanced configuration pages are fairly similar in nature, this should make using these pretty simple once you’ve worked with either one. To further simplify understanding the options available, you will only find the following options on the VPS page:

  • Default Configurable Options
    • Used to generate a handful of customer customizable server options, such as: VPS type, Backup settings, IP address quantity, and bandwidth quotas
  • Zone
    • Determines the ‘data center zone’ that the server can be created in
  • Config
    • Defines the specific server that will be used to create the product; e.g. 1G SSD vs 2G non-SSD

The following options are only on the Private Cloud page:

  • Configurable Options
    • Similar to ‘Default Configurable Options’ above, this generates a number of Private Cloud specific options that can be exposed to customers upon checkout.
  • Custom Field
    • Similar to the above point, this generates custom fields to collect data on customer checkout.
  • Parent Server
    • Defines the parent server that this product will use when creating new instances.
  • Available Parents
    • A list of available Private Cloud servers that are usable as a Parent server.
  • Select Parent Automatically
    • When enabled the product should automatically select the parent server based on available resources.

On both Private Cloud & VPS pages you will find:

  • Username & Password
    • These are the credentials used when connected to the Storm API – should be prepopulated with the credentials that were initially created.
  • Template
    • This is the image used to bootstrap the server — this determines the Servers OS, Management Panel type, and Server Management Level.
  • Image
    • Allows the new server to be bootstrapped with a Storm Server Image if the account contains some images.
  • Backup Plan & Backup Quota
    • These options determine if backups are enabled, what type of backup plan is used, and the quota applied to the backups.
  • IPs Number & Maximum Number of IPs
    • Defines the default number of IP addresses to start the server with and the maximum number of IPs a single server can allocate.
  • Bandwidth Quota
    • Allows customization of the Bandwidth quota applied to the server.
  • Monitoring
    • Enables customers to control Monitoring services on the server.
  • Firewall
    • Enables customers to control Firewall services on the server.
  • IPs Management
    • Enables customers to control IP address allocations on the server.

With a multitude of product configuration options available, you can choose exactly how you offer products and services to your customers. By fully utilizing these more advanced settings you can allow customers to select from a very specifically tuned array of products, or to adjust product details as they wish during the checkout process.

Step #3: Working with Configurable Options

To expand further upon the ability for your customers to tweak and adjust services they are ordering you can take advantage of the ‘Configurable Options Groups’ within WHMCS. These ‘Configurable Options’ are additional options that can be presented to a user upon ordering a service.

By utilizing these configurable options with the advanced features discussed above you are able to provide customers a build your own server experience, a variety of products to fit specific needs, or a mixture of both.

To begin working with ‘Configurable Options’ you will need to open WHMCS and go to the ‘Setup -> Products/Services -> Configurable Options’ page. Once there you can see a list of the groups similar to the following screenshot.

WHMCS account setup, the Product Setup Wizard and Storm Servers Billing

Working with WHMCS & the Liquid Web Reseller Plugin
I. What is WHMCS and installing the Liquid Web plugin
II. WHMCS account setup, the Product Setup Wizard and Storm Servers Billing
III. WHMCS with Private Cloud Servers and Advanced Product Setup

In the previous article we covered the basics of WHMCS, the benefits of using our plugin, and how to enable the plugin and widgets we provide in our plugin package. This article will cover the configuration of the Storm API access and your first product.

With the rebuilt Liquid Web reseller plugin for WHMCS, the initial account and API connection setup has been integrated into the new Product Setup Wizard. So, to configure the plugin to access your Liquid Web account via Storm API, we simply will start the process of creating your first product.

Step #1: Connect the plugin to Storm API

To make the initial connection to the Storm API you will first need to open the Product Setup Wizard page:

  1. Click on the ‘Addons’ tab at the top of the page.
  2. Select the ‘Liquid Web Storm Servers Billing’ option.
  3. From the sidebar on the left, click ‘Product Setup Wizard’.
  4. Once loaded, we will make our connection by starting to set up our first product:
    1. Adjust the checkboxes to your liking, for this example we will only select: ‘Liquid Web SSD VPS’
    2. Click Next.
    3. If this is the first product setup you will be redirected to the Account Authentication page.
  5. On the ‘Liquid Web account authentication’ page you will be prompted for your Liquid Web API authentication; you may either enter Liquid Web API credentials or your Liquid Web Manage credentials, and the wizard will create a new API user.
    1. For using a current API user:
    2. Api User login

      1. Click the ‘I have Liquid Web API credentials’ heading.
      2. Enter your Liquid Web Storm API user credentials.
      3. Click ‘Continue’.
    3. For creating a new API user:
    4. Manage Login

      1. Click the ‘Create a NEW Liquid Web API username and password for me’ heading.
      2. Enter your Liquid Web Manage credentials.
      3. Click ‘Create new API account’.
      4. You will now see the new Storm API user that has been created. Write these credentials down for safe keeping.
      5. Click ‘Continue’.

With that completed you have now authorized the plugin to access your Liquid Web account via the Storm APIs. You can now begin to create and setup products to offer your new clients.

Step #2: Create your first VPS product

Having completed all the prior steps we are now ready to create the first product via the Product Setup Wizard. In this tutorial our example product will be based on the Liquid Web SSD VPS, so we are now on the related configuration page, as seen below.

Product Wizard - Add VPS Product

You may want to adjust most, if not all, of the fields on this configuration page to customize the product based on your current needs.

Product Details

  • You need to provide the product name, description, and select a product group.

Module Settings

  • Default values from the database are loaded when you open this page.
  • You need to select the OS template and VPS type when changing the Zone.

Pricing (Monthly)

  • You can set the subscription pricing (monthly) either in percentage or fixed values.
  • When using percentage-based pricing, the module will automatically calculate the pricing of the selected configuration and update the pricing table in WHMCS.

Once you have adjusted the options on this page to your liking you can then proceed with creating the product by clicking ‘Save & Continue’ found on the bottom right of the page.

If you would like to you can verify the product was created by pulling up the ‘Products/Services’ page of WHMCS; found under: Setup > Products/Services > Products/Services, you should find your new product listed there. With this step you will have completed the creation of your first product!

Step #3: Storm Server Billing configuration

Now that we’ve created our first product clients can immediately begin putting in orders via the WHMCS client area. They will be charged based on the price values you configured when working through the Product Setup Wizard.

However with certain products or services you may require that clients pay for various resource usages, such as: bandwidth, disk usage, overall disk space, backups, memory, and/or CPU usage.

In order to control these aspects of a product you can use the ‘Liquid Web Storm Servers Billing’ page:

  1. Click on the ‘Addons’ tab at the top of the page.
  2. Select the ‘Liquid Web Storm Servers Billing’ option.
  3. Once loaded you will see a page similar to:
  4. Enable Billing Page

    Note: the paths on your page will be updated to reflect the location of the files needing to be run on cron.
  5. Configure and Enable the cron jobs:
    1. Using your preferred method [cPanel, or Command line], enable each cron job found on this page.
  6. You will see a dropdown under ‘Enable Billing’, open the dropdown and select your new product from the list.
  7. Once the page loads, you will see various resource usage-related categories where you can set extra charges for various metrics. [Bandwidth, Disk, Memory, etc]
  8. Billing Limits page

  9. Adjust these values to your liking and then click ‘Save Changes’ near the bottom of the page

With these new options and limits in place any servers of this type will now be billed based on resource limits defined on the Billing configuration page.

At this point the plugin should be fully configured with WHMCS and you can now continue to use the ‘Product Setup Wizard’ to create even more products and services to offer your clients.

What is WHMCS and installing the Liquid Web plugin

Working with WHMCS & the Liquid Web Reseller Plugin

What is WHMCS?

The WHMCS software suite provides the necessary tools to automate billing and provisioning of web hosting services on WHM based servers. It provides an easy-to-access management interface allowing resellers full control over the products and services you choose to offer. WHMCS is perfect for the reseller looking to streamline or expand their cPanel-based business.

WHMCS provides automated systems for managing invoices, billing, customer management, and service provisioning – all allowing you to focus more on your clients. Enhanced by the addition of our rebuilt plugin for WHMCS, the process truly is fully automated.

New products can now be created in a few clicks with the new ‘Product Setup Wizard’; once an order has been placed and paid for, the plugin will access the LiquidWeb Manage APIs to spin up and provision the necessary services for you.

Step #1: Installing the LiquidWeb WHMCS plugin

Installation of our WHMCS plugin is a rather simple process and can be done by a few methods: using graphical-based tools and programs, or the command line interface. This section will detail the steps required to install and setup the plugin.

Our WHMCS plugin can now be found on a publicly available GitHub-based repository. Or a direct download link to the installation Zip: Liquid Web for WHMCS.

Download the plugin zip file in your root WHMCS directory. The directory might not be the same for everyone, but an example of how to do this would be:

Via SSH (command line) on the server…
cd /home/$WHMCSUSER/public_html/WHMCS/
wget https://github.com/liquidweb/LiquidWeb-WHMCS-Plugin/archive/master.zip
unzip master.zip
cd LiquidWeb-WHMCS-Plugin-master/
rsync -avH includes/ ../includes/
rsync -avH modules/ ../modules/

You can also use FTP to upload the file, or use the cPanel File Manager if you wish. Regardless of the upload method you will need to unzip the files and put them in place using the commands from above.

Step #2: Activate the LiquidWeb WHMCS plugin

  1. Click on the “Setup” tab near the top of the page
  2. Select the “Addon Modules” option
  3. Open the Addon Page

  4. Once loaded, find ‘Liquid Web Storm Servers Billing’ and click “Activate”
  5. To give this module the correct permissions, click on the “Configure” (i) button and then select “Full Administrator” (ii) in the “Access Control” section and then click ”Save Changes” (iii)
  6. Enable Main Addon

  7. While here you may want to activate the Widget plugin
    1. Find ‘Storm On Demand Widget For WHMCS’ and click “Activate”
    2. To configure this module’s settings, click on the “Configure” button (a), adjust the ‘Low Inventory Threshold’ and ‘Cron Mail’ settings to your liking (b) and then click “Save Changes” (c).
    3. Enable Widget Addon

    4. To give the Widget proper permissions, click “Setup > Staff Management > Administrator Roles”. On the Administrator Roles page you will edit the Role which you’d authorize for the widget.
    5. Open User Role permissions

    6. On the Role editing page find the “Widgets” section, and within that find and enable “Liquid Web Storm Servers”, click “Save Changes”

At this point the Liquid Web WHMCS plugin should now be active and you should be able to start setting up packages and products within WHMCS.

If you’d like to report issues, or provide feedback of any kind, regarding this plugin you can feel free to do so by utilizing the project’s GitHub Issues page.

How to Resize a Server

Upgrading your Storm® server is a simple process, and can be done in just a few satisfying clicks. Upgrades are a necessity. You work hard on your blog, or ecommerce store, and the traffic grows! Once you’ve optimized your WordPress site or Magento store, reward yourself with an easy upgrade process and increase the available resources to your Storm® by following the steps below. This process can be followed for Storm® VPS or Storm® Dedicated servers.

Pre-Flight Check
  • These instructions are intended specifically for resizing your Storm® server.

Continue reading “How to Resize a Server”

How to Reboot a Server via Manage

Rebooting a server in Manage has been made incredibly easy, and only takes a few clicks. Further simplifying the process, multiple servers can be rebooted at the same time!

Pre-Flight Check

Continue reading “How to Reboot a Server via Manage”

How to Upgrade Your VPS

Upgrading your Storm® VPS (Virtual Private Server) is a simple process, and can be done in just a few satisfying clicks. Upgrades are a necessity. Let’s face it, you work hard on your blog, or ecommerce store, and the traffic grows! So, once you’ve optimized your WordPress site or Magento store, reward yourself with an easy upgrade process and increase the available resources to your Storm® VPS by following the steps below!

Pre-Flight Check

Continue reading “How to Upgrade Your VPS”

What is a Virtual IP (VIP)?

What is a Virtual IP (VIP)?

When you create a virtual IP (VIP) address with Liquid Web you will receive both a Public VIP and Private VIP. The public VIP can be configured on a Storm server just as a non-virtual, or standard, IP would be configured. Connecting to a public service, such as HTTP or FTP, on the Public VIP occurs just as it would on a standard IP.

The Private VIP can be configured on a Storm server’s private interface just as a standard private IP would be configured. Connecting to a private service, such as MySQL or Puppet, on the Private VIP also occurs just as it would on a standard private IP.

So why use a VIP? When utilizing multiple servers, having a VIP is beneficial due to its ability to “float” between servers. This allows the VIP to remain highly reachable in circumstances in which a non-virtual (or standard) IP may be otherwise unreachable. It is possible to move both the Public VIP and Private VIP between Storm servers!

Both Public and Private VIPs can be configured on any server on your Storm account so long is that server is in the Zone where the VIPs were created. Typically software, such as the ones listed below, is used to manage on which server a VIP resides.

Use Cases for VIPs

Here are some of the things that you can do with Virtual IP addresses:

  • High Availability Databases (MySQL, Percona, MariaDB)
  • Non-DNS-based Service Migrations
  • High Availability Web Applications (in tandem with or in place of load balancer)
Examples of Software That Can Use VIPs

This is just some of the software that you can use with Virtual IP addresses:

Try a Free Cloud Server.

Trying a new server is a breeze, and it’ll be up and running in only a few minutes...

How to Configure Cyberduck for Use with Storm Object Storage

Storm Object Storage delivers a durable, secure, highly available solution for storage needs of virtually any size. With object storage access occurs via API calls to the object storage cluster, which replaces the need to rely on additional servers for dedicated storage.

Here we use the client Cyberduck to interact with Storm Object Storage. Cyberduck is available for download from https://cyberduck.io/?l=en.

Pre-Flight Check
  • These instructions are intended specifically for configuring Cyberduck for use with Storm Object Storage.
  • I’ll be working from a Microsoft Windows 8 desktop with Cyberduck installed.

Continue reading “How to Configure Cyberduck for Use with Storm Object Storage”