You are here:Home»KB»Web Design»CMS»WHMCS»WHMCS Setup Instructions (Video Walkthrough)
Thursday, 03 March 2016 19:15

WHMCS Setup Instructions (Video Walkthrough)

Written by

Configuration instructions are based on WHMCS v4.2.1

Follow these instructions in order which will guide you through the setup procedure outlined in the next section and WHMCS will be installed easily and correctly setup. This is base on a video series from you tube by EatMemo / webhostingtutorial on youtube / http://www.webhostingbusinessbook.com/ / Abrahim Ikasud , who also wrote a book, 'Getting & Managing Your First 1,000 Clients in Web Hosting', with resources outlining in detail what follows (also free with hostgator accounts). There is a notes section at the bottom of this document.

Don't forget if you get stuck click on the help links from within WHMCS as they are well written and relevant

Fresh install of WHMCS and WHM/CPanel with optional WHM/cPanel client import

These instructions utilise the Video walk through below and are for fresh installs only.

  1. create packages on WHM and setup as required i.e. bandwidth space etc.

  2. install WHMCS on to your web server

  3. check automation settings before anything else, do not configure bridge or integration yet, just check settings – to prevent data loss

  4. go through 'WHMCS - Part 3 General Settings' section

  5. go through 'WHMCS Part 4 - Domain Names Setup' section if reselling (need to check if this should be setup even for manually adding TLD – all domain TLD used on WHMCS should have a domain configured in this section )

  6. go through 'WHMCS Part 5 - Payment Gateway Setup' , setup as required

  7. configure a product as per 'WHMCS Part 6 - Product & Services'

  8. configure Product module settings as per 'Module Settings Tab' in 'Configuring a Web-sense/cPanel/WHM aware Product (Example 4)' to provide WHM/CPanel integration

  9. run 'cPanel/WHM Import' script (Utilities/cPanel/WHM Import), correct any errors and correctly populate clients data paying special attention to dates, product they have bought etc..

  10. go through 'WHMCS - Part 7 Automation'

  11. configure any support departments if required as per 'WHMCS - Part 8 Support Departments'

  12. Install Google Analytics Addon and configure

  13. Import WHM/CPanel Accounts – see 'WHMCS - Part 9 Importing (Lancastrian IT)' section

  14. Check Client Data

  15. Enable Automation CRON Job if not already – Command found in 'Automation Settings'

  16. Select both required templates as prefered: (General Settings/General Tab) template and (General Settings/General Tab) Default Order Form Template

  17. Read notes section at the end of this tutorial

  18. Backup

  19. Customise a template if needed

  20. Backup again

  21. DONE

Full WHMCS Setup Instructions (Video Series Walkthrough)

video series from you tube by EatMemo / webhostingtutorial

WHMCS - Part 1 Getting WHMCS (Not Needed)

WHMCS - Part 2 Installing WHMCS (Not Needed)

Before you start read the following section and check the appropriate settings about automation to prevent data loss 'WHMCS Automation Settings Page '

WHMCS - Part 3 General Settings

  • Location - (Setup/General Settings)

  • Go through general settings changing email and other contact details.

  • Leave everything as default unless instructed

General Tab:

  • Fill in company details

  • The email address set here will replicate through the email templates

  • Company address box should also have the company name at the top

  • upload logo i.e. http://www.example.com/whmcs/images/logo.jpg

Localisation Tab: @ 4:00 mins

  • change to UK, GBP and £ etc..

  • the first currency is the default and cannot be deleted

Ordering Tab:

@ 4:21 mins and

  • enable and setup a 'terms of service' (TOS) and 'privacy page' (download here)

  • automatically take user to the invoice,

  • eatmemo recommends not blocking existing domains

  • eatmemo recommends to skip fraud checking for existing

  • eatmemo recommends web20 cart theme (default on the version he is using)

  • 'Monthly Pricing Breakdown' untick it, this sets billing pricing breakdown to yearly

Domains Tab:

  • setup purchase/transfer/renewal options for clients domain names

  • setup rest as required

  • Bulk Domain Search - this allows you to search for domain name availability on the order page

  • Bulk Check TLDs - this adds ' Do you want to buy this domain as well while you are at it' below the domain availability search

  • Bulk TLD section cannot configured until 'Domain Pricing' and TLD has been setup

Mail Tab: (watch Video above)

  • configure mails settings

  • configure SMTP email - phpmail is used by default but not secure, SMTP is also preferred because of spam

  • setup mail signature

  • Pre-sales Contact Form Email , I used hosting@lancastrian-it.co.uk because only small company and departments not yet setup

Support Tab:

  • eatmemo recommends 'ticket reply list order' should be changed to 'Descending (newest to oldest)' – watch video for explanation

  • KB SEO Friendly URLs + change htaccess.txt

  • eatmemo recommends adding pdf,doc,docx,zip,tar,gz,xls as allowed file attachments

Invoicing Tab:

and then

  • eatmemo recommends turning on 'Sequential Paid Invoice Numbering' this adds sequential invoice number using the template below it. I used HOSTING-{NUMBER} , will generate HOSTING-001, HOSTING002 etc...

  • I enabled just the sensible UK credit cards, this setting might be used by some gateways

  • disable late fees

  • if starting new hosting business, best not to start at 1 and maybe use invoice increment of 17

Credit Tab:

  • I am leaving this off until I use a payment gateway and clients can add funds themselves

Affiliates Tab:

Watch video @ 3.20

  • dont use, for reference only.

Security Tab:

Watch @ 3:30 mins

  • enable captcha, google recaptcha is probably better but needs a code from google

  • eatmemo recommends 'Required Password strength' of 30, so not to annoy customers

  • increase 'Failed admin ban' to 60 mins, 25 mins is to short

  • 'Admin Force SSL Access' – turn this on

  • disable credit card storage in database – if considering storing credit card numbers in the database make sure you have high security e.g. big passwords, to be safe don’t store. paypal etc.. does not need to store credit card details in your database etc..

  • allow a customer to delete their cards, after all it is their card. (if you store them)

Social Tab: (not covered in videos)

  • twitter and facebook integration

Other Tab:

  • on large sites 'Disable Full Client Dropdown'

  • disable 'Show cancellation link' , this is so you can get valuable information why they want to cancel by having the customer contact you

  • Admin Client Display Format – My prefered option is: Show company name if set, otherwise first name/last name

  • Client Dropdown Format – my preferred option is: [Company Name] - [First Name] [Last Name]

  • 'Monthly Affiliate Reports' – ignore this as affiliates is turned off.

WHMCS Part 4 - Domain Names Setup

This section sets up a domain registrar (i.e. enom) and your WHMCS install so they talk to each other.

Setting up an enom account:

Do the following at enom:

  1. Configure your enom account. Sign up for one if you do not have it (you can use other providers from the list in WHMCS but the following setup is for enom)

  2. make a note of the cost of domains - http://www.enomcentral.com/pricing.asp

  3. make sure you have a valid credit card on file at enom

  4. load your enom account with some money – My Account

  5. request your IP to be put on enoms white list This is done via a support ticket. The global Justhost server rs4.justhost.com IP address is most likely already on. E.g. 'Please white list my IP for live production server' include IP and account name @ General Reseller Info

Now go back to WHMCS:

Goto Setup/Products and Services/Domain Registrars

Registrar Tab:

Watch @ 6:30 mins

  1. Select Enom

  2. enter you enom user name and password

  3. enable SyncNextDueDate so dates match up

Other Settings Tab: @ 7:55 mins

  • make sure the default name servers are your nameservers

Domain Pricing:

Watch @ 1:29 mins

Goto Setup/Products and Services/Domain Pricing

This should be setup even for manually adding TLD – all domain TLD used on WHMCS should have a domain configured in this section.

  1. pop-up the price list - http://www.enomcentral.com/pricing.asp

  2. pick which TLD domains you are going to do. Do not do them all. If there is to much on the plate the customer will not know which to go for

  3. you should consider Domain registration as a complementary service as you cannot make much money reselling these up. (I personally will put some on each domain)

  4. now add each TLD Domain that you want to provide selecting enom for those domains. You can use different suppliers for different TLDs.
    Watch @ 1:29 mins

  5. to set the prices click on the 'Open Pricing' link and configure options as needed. As a security recommendation do not do more than 2 years because of fraud.

  6. Do not forget 1 year = $9.95 and 2 years = $19.90.

  7. I am not sure what should happen now as this video ended to quickly. Watch video @ 4:18

WHMCS Part 5 - Payment Gateway Setup

This section deals with setting up a payment gateway

Goto Setup/Payments/Payment Gateway

  1. select, add and configure the gateway

  2. 'Mail In Payment' can be used for offline payments. The details in the box can be modified

  3. eatmemo recommends that when setting up a gateway or in this case paypal the description line should more reflect the types of card payment you can take via these methods as it is better for a customers awareness.

    I.e. Paypal → Paypal (Visa/Mastercard/AMEX/Discovery/eCheck)

In the Paypal Gateway settings

  1. Enable 'Force Subscription'

  2. Configure Paypal API details – only required for automated refunds

WHMCS Part 6 - Product & Services

This section covers setting up a product and part of the details tab

Configuring a Product

Goto (Setup/ Products/Services / Products/Services)

  1. Firstly you need to create a Product Group to hold your products and services. It is a category e.g. 'Shared Hosting Services','VPS, 'Non Client Packages'

  2. Create a new product. Select from the 'Product Type' drop down (don’t know if this can be edited). Also select the 'Product Group' which you have just created. Give the package a name.

  3. Hit continue

  4. Fill in the tabs as outlined below

Details Tab:

  • fill in product description – this will show on the shopping cart

  • don’t put to much information in the shopping cart description. Otherwise it will confuse the customer

  • welcome email – this is a per product welcome email

  • require domain – this is for products that do not require a domain name

  • Starts ½ though details and includes , , custom fields tab  Watch video @ 4.53

  • if you charge tax - click enable

Pricing Tab: Watch @ 2:30 mins

  • setup your required pricing for each product

  • use -1 to disable terms. In the example video at the end of this section it shows eatmemo only disabling the price

  • leave prorata billing off (unless you really need it)

Module Settings Tab: Watch video @ 3:44 mins

  • this is where you do cpanel integration

  • FILL IN LATER

Custom Fields Tab: Watch Video @ 4:53 mins and then

  • these are custom fields you can have customers fill in when they sign up - e.g. how did you find us?

  • these are per product

Configurable Options Tab: Watch video @ 2:35 mins

  • POSSIBLY add later in the process

Upgrades Tab: Watch Video @ 3:12 mins

  • POSSIBLY add later in the process

  • i.e. from free accounts to paid accounts

  • other products need to be setup first before this can be used

  • this is a simple select box where you choose which products clients can upgrade/downgrade to. They can do this from their control panel

Free Domains Tab: Watch Video at @ 3:51 mins

  • You can give customers free domains

Other Tab: Watch Video @ 4:15 mins

  • you cannot compete with the big companies so you need to focus on supplying a personalized service to your customers so don’t set Soft Bandwidth and Soft Disk Limit unless you have to where you have limited resources as Eatmemo recommends. My account packages have limits so I will add them here

  • don’t set over usage costs (unless you really want to)

Configuring a Product (Example 2 & 3)

Setting up a second and third product example starts watch video @ 5:35 mins and continues with this as marked out below:

  • Pricing Watch Video @ 0:24 mins

  • Pricing – Monthly/Annual price display on cart Watch Video @ 2:44 mins

  • Free Domain Watch Video @ 7:12 mins

  • Other - not setup Watch Video @ 8:12 mins

  • Upgrades Watch Video@ 8:30 mins

Configuring a Web-sense/cPanel/WHM aware Product (Example 4)

  1. First you need to create the product

  2. follow the steps outlined below

  3. this shows you how to configure a product to interact with you WHM/cPanel hosting packages from fresh and does not cover importing but has similar setup routines for reference.

Details Tab: Watch Video @ 1:11 mins

  • setup as required, this is a reference only

Pricing Tab: Watch Video @ 2:24 mins

  • setup as required, this is a reference only

Module Settings Tab: (This is also part of Cpanel/WHM integration)

This section is going to show how to use a cpanel server with WHMCS and these setting will be fairly typical

Hosting Package Watch Video @ 4:45 mins

  • edit your web hosting package you want to deal with

  • go to the modules tab and select Cpanel as 'Module Name'

  • don’t set all the settings, leave them to be set in the WHM (integration is bad anyway)

  • (I added this) enter the 'WHM Cpanel Package Name' i.e. svchost1_Bronze

  • If the package does not exist continue to follow these instructions from 5.33 to create a package through WHM (or just do it)

  • Make a note of the package name you have just created

Now link the WHM Server to WHMCS Watch Video@ 8:11 mins

  • before we can assign a server we need to setup a server in WHMCS (Setup / Products/Services / Servers)

    NB: so it knows where to talk to before we can assign 'Server Group' which is required for the Cpanel module to be able to control the packages

Create Server Group Watch Video @ 8:35 mins

  1. create new group – i.e. 'cPanel Servers (EatMemo)'

  2. select fill type – leaving as default is fine

Create a Server

  1. Click 'Add New Server'

  2. fill in the name of the server, hostname, IP, Monthly Cost, Date Center (just a text description of location), maximum number of accounts (this is really for load balancing if you have more than one server), name servers and their IPs,

  3. 'Server Details' should be set as follows: 'Type' = Cpanel, user name is your reseller account name, use the 'WHM Access Hash' instead of your password. The hash is found in the WHM. Use SSL mode

  4. even if you do not have a SSL, use SSL mode and accept the certificate prompt in your browser

  5. after you save changes you are returned to the server page. Next to the server is a new 'WHM' button. Press this to see if your settings work

  6. because I am using lancastrian-it.co.uk I will most likely need to change the hostname to lancastrian-it.co.uk while leaving the nameservers as svchost.co.uk and I can use SSL

Now you can finish editing your WHMCS Product by adding your Cpanel details Watch Video @ 4:10 mins

  1. goto (Setup / Products/Services / Products/Services )

  2. select the web hosting package you are dealing with

  3. goto the modules settings tab

  4. enter the 'WHM Package Name' – you should have this noted down from before

  5. all other details have been set in the WHM Package so do not change anything

  6. choose the 'Server Group' – this you setup earlier most likely with one server

  7. The bottom section 5.26 – This deals with when the Cpanel account is created. My preferred option is 'Automatically setup the product when you manually accept a pending order ' or because I have only 'Mail in Payments' on I would have to acknowledge the first payment which is the same thing so I could use 'Automatically setup the product as soon as the first payment is received ' which would give the same affect but only be useful if my hosting was open to the rest of the world for sign up without my intervention

Custom Fields Tab: Watch Video @ 7:10 mins

  • N/A

Configurable Options Tab: Watch Video@ 7:10 mins

  • N/A

Upgrades Tab: Watch Video @ 7:10 mins

  • N/A

Free Domains Tab: Watch Video @ 7:20 mins

  • if you were including a free domain with the account now is the time to add it

Other Tab:

  • N/A

WHMCS - Part 7 Automation

This section will go through WHMCS automation settings (Setup/Automation Settings). For WHMCS to run its automation you need to setup a CRON job in cpanel that create and mails all invoices, calculates billing and suspends accounts etc..

Setup CRON Job:

  1. If you will be importing data only activate the CRON only when WHMCS is completely setup, i.e. finished importing clients and you have sorted their account dates etc.. so customers do not get random invoices

  2. goto (Setup/Automation Settings) in WHMCS

  3. copying the top line from 'Create the following Cron Job using PHP: '

  4. login the CPanel of the domain WHMCS is hosted on i.e. cpanel.lancastrian-it.co.uk

  5. goto the advanced section and select 'Cron Jobs'

  6. Email - make note that every time the CRON Job is run by default an email is being sent to the default system email account (i.e. catch all). Possibly look at turning this off or set to send to one of your own email accounts to make sure it is running correctly

  7. add a new CRON job, set to once a day, add the CRON Job line from the WHMCS into the command line and then click 'Add New Cron Job'

  8. IS THIS THE BEST TIME TO RUN – I am sure eatmemo mentioned selecting a better time somewhere in the 24 hour clock i.e. 03:00 in the morning

WHMCS Automation Settings Page

Watch video @ 4:04 mins

Automatic Module Functions

  • Leave Enable Suspension On (except while importing clients from WHM for the first time as you might have clients you have not billed etc.. Enable this when you have sorted your client import)

  • MAKE SURE 'Enable Termination' IS OFF – this prevents any data loss by automated systems, I do not want this on as I can delete them manually. If you have a large site you should consider this later. It should be off by default – This prevents accidental data loss by bad settings.

Billing Settings Watch video @ 5:52 mins and then

  • leave 'Payment Reminder Emails' on

  • 'Add Late Fee Days' - late fees should already be disabled in General Setup so is ignored

  • 'Overage Billing Charges' - This setting determines how Fees to the client when they exceed their bandwidth or disk space is handled.

    • Determines how clients are billed for their overage (if enabled). The first setting will calculate the bandwidth overage costs on the last day of each month and create an invoice due immediately. This will create a separate invoice.

    • The second setting will still calculate the overage change on the last day of the month, but it will not create a separate invoice, instead it will be added to the client's next invoice.

Credit Card Charging Settings Watch video @ 2:30 mins

  • credit card details are not being stored in the system so these reminders and charging events are irrelevant. If needed leave as default

Currency Auto Update Settings Watch video @ 3:02 mins

  • 'Exchange Rates' - When enabled WHMCS will connect with the European Central Bank and obtain the latest exchange rates. Leave enabled (enabled by default)

  • 'Product Prices' – seeing as I have only one currency and this option is not needed. If your currency is not volatile then this option would not be needed, or perhaps should be run every once in a while to maintain some similarities in cost.

Domain Reminder Settings Watch video @ 3:37 mins

  • if your system is setup for full automation there is no need to send reminders out to customers because it is more they have to deal with and it puts questions in their heads.

  • In my case I am using a offline billing method so I will need to send out reminders

Support Ticket Settings Watch video @ 4:37 mins

  • 'Close Inactive Tickets' – leave this disabled on small site like mine but on a large site set to 7 days (7 x 24 = 168) this is recommended by EatMemo

Miscellaneous Watch video @ 5:07 mins

  • 'Cancellation Requests' - I will leave this option disabled for now. I can always terminate manually, which I will be doing at the minute because of my clients. Earlier in this tutorial I think I removed the cancellation option from clients. (Default is on)

  • 'Update Usage Statistics' – leave enabled, why you would turn this off is beyond me

WHMCS - Part 8 Support Departments

  • On larger sites you will want to have a proper ticket system, the following shows you how to setup WHMCS to parse emails into a ticket system.

  • The video deals with setting up 3 departments

  • The video shows you how to setup the CRON Piping Method

  • Forwarder Method - This is the preferred method and is recommended by WHMCS if you use cPanel or DirectAdmin and are piping in emails from the same domain that your WHMCS is installed on.

  • Forwarder method is instant but the CRON method will only check every 5 minutes (or whatever the pole rate is set at)

Configure Email Piping:

This is how to setup an email ticket system using the 'Forwarder' (Preferred Method)

This is how to setup an email ticket system using the 'CRON Piping Method '

This method is recommend if you use any control panel other than cPanel or if you are wanting to pipe emails from domains other than just where your WHMCS system is installed.

To use this method:

  1. Goto (Setup / Support Departments)

  2. copy the line of code ' Ticket Importing using POP3 Import (Requires IMAP installed on server): '

  3. Now create a CRON job with that command minus */5 * * * * because time is setup above with drop down menus and will cause an error otherwise watch video @ 3:00 mins

    • This should run every 5 minutes

  4. EatMemo recommend that you check IMAP is installed, this is pointless as most all hosting packages with cpanel come with this. Watch video @ 6:20 mins and then


    However if not on cpanel or you just want to check, here is the quick version

    1. create a php that calls <? phpinfo() ?>

    2. load the php info file and search for IMAP

    3. IMAP should be present in the 'Configure Command' section if installed and possible in its own configuration setting later on in the php info page.

Setup Support Departments:

Now that the CRON job is setup, we now need to configure the support department(s) (i.e. Sales / Support / Billing)

  1. Goto (Setup / Support Departments) watch video @ 3:03 mins

  2. Click 'Add New Department'

  3. Fill in the details watch video @ 3:44 mins

    The following is an example with correct settings:

    'Department Name' – Support
    'Description' – Technical Support
    'Email Address' – support@example.com
    'Clients Only' – should be unticked to allow all
    'Pipe Replies Only' - should be unticked because we are using the IMAP
    'No Auto Responder' – should be unticked so there is a auto response
    'Hidden?' - do not hide from clients

POP3 Importing Configuration: watch video @ 4:46 mins and then

(Only required if using POP3 Import method)

  1. fill in the email account details for the address you are using.

    • EatMemo says that an email address should be in the format hosting+lancastrian-it.co.uk but using hosting@example.com is preferred and probably works

  2. change the port number from 110 to 995 for secure email. NB that you will need to use the secure email server settings i.e. rs4.justhost.com for them to work properly

  3. make sure the appropriate email address have been setup

Make Tickets visible to staff or administrators Watch video @ 1:32 mins

Before you can actually administrators can see tickets submitted to those email addresses we have to give them access right.

  1. Goto (Setup/Administrators)

  2. Edit an account (there should only be one at the minute), the main one from when you setup WHMCS

  3. 'Assigned Departments' - There will now be 1 – 3 departments (depending what you setup on the section above) that you are not assigned to

  4. Assign the new departments or appropriate selection to your account

  5. Every new account will need these departments assigning to be able to see the tickets

  6. 'Support Tickets Notifications' – leave this off unless you need to monitor

  7. Test the ticket system to make sure it works Watch video @ 2:58 mins

Read 1189 times Last modified on Saturday, 05 March 2016 11:48