Setting up packages in WHM to use in WHMCS

Using Packages in WHM

Any new reseller’s first move when integrating WHMCS is to ensure that the products they are provisioning have the correct resources and limitations for their cPanel packages.

This article will walk you through the steps of setting up packages in WHM so you can use WHMCS.

Creating a package in WHM

  1. Log in to your server’s WHM as the root user (be sure this is the connected server to WHMCS that you intend to sell shared hosting on)
  2. Navigate to Add a Package
  3. Select Package Name – This will be used to identify within WHMCS
  4. Create Resource Limitations
    • Disk Quota (MB)
    • Monthly Bandwidth (MB)
    • Max FTP Accounts
    • Max Email Accounts
    • Max Email Lists
    • Max Databases
    • Max Sub Domains
    • Max Parked Domains
    • Max Addon Domains
    • Maximum Hourly Email by Domain Relayed
    • Maximum percentage of failed or deferred messaged a domain may send per hour

  5. Settings

    This is where you can specify if you want the package to have a dedicated IP, offer shell access (SSH), cPanel access (CGI), or Digest Authentication.
    Typically you can leave the Settings as default, but if you need to make changes, this is where you can do it.

WHMCS

Once you create a package in WHM, you will need to create a product in WHMCS and tie the two together in order to resell cPanel accounts with automated provisioning.

1.  Log in to your WHMCS as an Admin User

2. Navigate to Setup -> Products/Services -> Products/Services

3. As a new installation, you will first need to click “Create a New Group”

  • Set your Product Group Name (for example, Shared Hosting)
  • Set the Product Group Headline (this is customer facing, so something specific to the group of products)
  • Set the Product Group Tagline
  • Select your available Payment Gateways
  • Select the Order Form Template, if you don’t want the System Default
  • You have the option of making a product group hidden, the functionality of hidden products/groups will be covered in another article.
  • Save Changes

4. Now select “Create a New Product”

  • Select the product type, for this example we will be selecting “Hosting Account” as it will be for the shared product you created the package for
  • Choose your newly created Product Group
  • Set the Product Name and hit continue (note: the product name does NOT have to match the package name, but it can make tracking easier in the long run)
  • Details Tab

    • Enter the Product Description – Here you can enter the description that the customer will see, for example, if it is a shared hosting package with 5GB of disk, 100GB of bandwidth, etc. you can list the features of this product)
    • Welcome Email – This will give you a drop down of pre-existing email templates, for more on customizing WHMCS email templates, please see that article.
    • Require Domain – This means the client must have a domain for the package (You can offer domain registration for new clients, but this box just ensures that they enter a fully qualified domain name to proceed).
    • Stock Control – Set this if you only want to sell X number of this product
    • Apply Tax – If taxes apply, select this box
    • Featured – This will show the product more prominently in certain order form templates.
    • Hidden – See the benefits of hidden groups/products.
    • Retired – Often used in editing old products).
    • Pricing Tab –
    • Payment Type – Is this a free product (trial), one time bill, or recurring billing.
    • Allow Multiple Quantities – This allows the customer to order more than 1 of this package.
    • Recurring Cycles Limit – 0 is unlimited which will be the case for most hosting, change this if you want to limit how many cycles they can keep the product.
    • Auto Terminate/Fixed Term – 0 is disabled, this can be used to auto terminate accounts after a certain date, I’d suggest avoiding this as it could potentially delete/destroy user data, better to have a fixed limit and contact the customer prior to termination as it could potentially save a client.
    • Termination Email – This would need to be configured only if you use the previous option.
    • The next three options are around billing date modifications
      • Prorata Billing: Select this if you want to have universal billing dates.
      • Prorata Date: This would be the day of the month that all billing would exist for this product.
      • Charge Next Month: This will be the “cutoff” date for when the following month will be included in the original invoice.
  • Module Settings – This assumes you have a server already created, if you do not see the documentation on connecting your first server.

    • Module Name: Select cPanel from the drop down
    • Server Group: If you have a specific group for this product, select it here.
    • WHM Package Name: Select the correct package name to match the product.

  • Custom Fields

    • These fields allow for you to collect additional information from your client, such as “How did you hear about us?” or “Are you interested in our newsletter?”
    • You can add any number of additional custom fields and you can make them public facing, or internal.
    • Some modules and addons will require a custom field to be set up and filled out to successfully run.
  • Configurable Options

    • This will remain blank unless you have something that will generate the configurable options. For example, the Liquid Web Plugin. (https://github.com/liquidweb/LiquidWeb-WHMCS-Plugin) can generate configurable options based around what is available via our API.
  • Upgrades

    • Package Upgrades: This box will show other products within WHMCS and you can select which you would like the customer to be able to upgrade to/from. For example, if you have a Bronze Shared Plan at 5GB of disk space and you would like to offer an upgrade path to the Silver Shared Plan at 10GB of disk space, you’d select it here.
    • Configurable Options: Selectable if you have configurable options generated and set up for the product list.
    • Upgrade Email: You can set an email in Email Templates if you would like them to receive something during the process.
  • Free Domain

    • Free Domain: You can select if you would like it to only be free for registration/transfer (one time), or if you would like it to remain free as long as they maintain the product.
    • Free Domain Payment Terms: You can select if you only want to offer free domain registrations for specific payment terms. For example, Annual payment terms for hosting are a fairly common requirement to receive the free domain in this case since the domain registration is annual.
  • Other

    • Custom Affiliate Payout:
      • Default – Uses the default set up in the system.
      • Percentage – Pays a percentage of their referral.
      • Fixed Amount – you set the amount they would earn for each product
      • No Commission – they can track referrals but no commission is paid, this is helpful for if you have a program with incentives for referrals aside from money.
    • Affiliate Pay Amount: Enter the amount you would like the affiliate to get paid for referring this product.
    • Subdomain Options: Allowing specific subdomains to be used if you want to specify.
    • Associated Downloads: You can set download files that are only available to clients who have this specific product.
    • Overages Billing: If you want to allow for a client to use more than the allocated amount and charge them for it you set it here. Just to clarify though, the package we set up in WHM previously will determine the true “hard limits” if you set up overage billing with soft limits, the client will still see the full “hard limit” in cPanel, there is no way to “hide” that.
  • Links

    • Direct Shopping Cart Link: This is a direct link you can provide customers (or code into your site) that will link directly to the “checkout” page with the product in the cart.
    • Direct Shopping Cart Link Specifying Template: If you’re running a specific promotion in which you want to utilize a specific shopping cart template, you can use that here
    • Direct Shopping Cart Link Including Domain: If you were to send a direct “quote link” and you want to pre-fill the domain for the client you’re sending it to, you can use this:
      • Replace the “sld=whmcs” with “sld=clientdomain”
      • Replace the “tld=.com” with “tld=clientstld”
      • If the client is using .com, you can leave this the same. If they are using .net you would enter “tld=.net”
    • Product Group Cart Link: This can link to the full group, if you had multiple products in the same group type.
  • Hit Save Changes and your product setup is now complete! You can begin selling that shared product right away.

You can repeat this process by setting up a different package in WHM and then in the “Module Settings” section, you would select that package instead. Just be sure that you adjust the pricing and any options that you need for each product.

If you need to purchase a WHMCS or have further questions, please contact our support team via chat! Happy to help.

What is DNSSEC?

Domain Name System Security Extensions or DNSSEC signs DNS Record Sets (RRsets) at each DNS zone level. This allows one to verify the DNS record they are receiving has not been altered.

For example, manage.liquidweb.com has these zone levels:

  • Root (.)
  • com, org, net
  • liquidweb
  • Manage

DNS Record Set (RRsets) is a group of records with the same record type, for example all DNS A records are one RRset.

Continue reading “What is DNSSEC?”

Best Practices for Firewall Rules

Basic Firewall Rules

In a firewall rule, the action component decides if it will permit or block traffic. It has an action on match feature. For example, if the traffic matches the components of a rule, then it will be permitted to connect to the network. It is essential to consider the potential security risks when modifying a firewall rule to avoid future issues. Following best practices for configuring firewalls can help you maximize the effectiveness of your solution.

Continue reading “Best Practices for Firewall Rules”

Managing Your DNS

Adding a DNS Zone

Log into your Liquid Web account, select Domains from the left menu, and click on the DNS tab. Scroll down to the Create a New DNS Zone section.

Create a New DNS Zone

  1. Input the domain name of your choosing
  2. Select the ‘IP Address’ drop-down list:
    Other IP Address – User defined IP address to use for the relevant domain
    Import From a Live Domain – Based on the domain selected, our system will copy current the A record IP address
  3. Click the ‘Create New DNS Zone’ button

Continue reading “Managing Your DNS”

How to Use a Remote Desktop

Remote Desktop Protocol or RDP provides access to your Windows Server’s operating system from your desktop, workstation machine, mobile device or laptop. The connection to your server will be encrypted and it offers some enhancements that allow you to attach local drives and devices.

Most modern Operating Systems have support for Remote Desktop. A Remote Desktop Client made by Microsoft is available in the Apple Appstore, the MacOS store, Google Play, the Chrome Web Store for ChromeOS and of course in the Windows Store. On Linux you may need to download a 3rd party option such as RDesktop or FreeRDP which you can get through a repository or it will be pre-installed on some distro’s.

Continue reading “How to Use a Remote Desktop”

RDP File Transfer

How to Use Remote Desktop to Transfer Files to Your Windows Server

Transferring files to your new Windows Server can be a hassle when you are first setting everything up. Plesk, FTP, or network file sharing might not be quite ready to use or your internet service provider may block those web ports. This is where transferring files via the Remote Desktop Connection program comes in! You can redirect your workstations hard drive and it will appear when you are logged in.

Continue reading “RDP File Transfer”

What is a LAMP stack?

The LAMP stack is the foundation for Linux hosted websites is the Linux, Apache, MySQL and PHP (LAMP) software stack.

The Four Layers of a LAMP Stack

Linux based web servers consist of four software components. These components, arranged in layers supporting one another, make up the software stack. Websites and Web Applications run on top of this underlying stack. The common software components that make up a traditional LAMP stack are:

  • Linux: The operating system (OS) makes up our first layer. Linux sets the foundation for the stack model. All other layers run on top of this layer.
  • Apache: The second layer consists of web server software, typically Apache Web Server. This layer resides on top of the Linux layer. Web servers are responsible for translating from web browsers to their correct website.
  • MySQL: Our third layer is where databases live. MySQL stores details that can be queried by scripting to construct a website. MySQL usually sits on top of the Linux layer alongside Apache/layer 2. In high end configurations, MySQL can be off loaded to a separate host server.
  • PHP: Sitting on top of them all is our fourth and final layer. The scripting layer consists of PHP and/or other similar web programming languages. Websites and Web Applications run within this layer.

We can visualize the LAMP stack like so:

Applying what you’ve learned

Understanding the four software layers of a LAMP stack aids the troubleshooting process. It allows us to see how each layer relies on one another. For instance; when a disk drive gets full, which is a Linux layer issue. This will also affect all other layers in the model. This is because those other layers rest on top of the affected layer. Likewise, when the MySQL database goes offline. We can expect to see PHP related problems due to their relationship. When we know which layer is exhibiting problems. We know which configuration files to examine for solutions.

Some Alternatives

The four traditional layers of a LAMP stack consist of free and open-source products. Linux, Apache, MySQL and PHP are the cornerstone of a free, non-proprietary LAMP stack. There are several variants of the four stack model as well. These variants use alternative software replacing one or more of the traditional components. Some examples of these alternatives are:

  • WAMP: Windows, Apache, MySQL & PHP
  • WISA: Windows, IIS, SQL & ASP.net
  • MAMP: MacOS, Apache, MySQL & PHP

You can explore these alternative software stacks in greater depth using online resource. The LAMP stack Wiki is a great place to start:

How can we help?

The LAMP stack is an industry standard and is included in all of our Core-Managed and Fully Managed Linux based servers. Our support teams work hand in hand with the LAMP stack on a daily basis. You can rest assured we are at your disposal should you have questions or concerns. To learn more you can browse our latest product offerings.