WHMCS MU Provisioning

Run your own web hosting company and expand your business by automating Multisite operations.

Version 1.1.0.7

  • Fix: POODLE vulnerability due to cURL version 3 being forced.

Changelog

November 7, 2014 - version 1.1.0.7
  • Fix: POODLE vulnerability due to cURL version 3 being forced.

June 25, 2014 - version 1.1.0.6
  • Added check for Free level name which was previously indicated by a blank field.

May 31, 2014 - version 1.1.0.5
  • Fix for Delete blog error.

May 31, 2014 - version 1.1.0.4
  • Fixed problem with default site numbering.
  • Since the password on Wordpress can not be read, if WHMCS finds the user email already existing on WP it returns a "PREVIOUSLY SET" PASSWORD.

May 24, 2014 - version 1.1.0.3
  • Added check for blank domains

May 13, 2014 - version 1.1.0.2
  • Fixed problem in add on module creating table.

May 12, 2014 - version 1.1.0.1
  • Added an ob_end_clean around the the plugin code to make sure that Debug messages
  • from Wordpress and other plugins don't get passed back in the WHMCS response, destroying the json structure,
  • Added debug setting checkbox which turns off blocking the debug messages sent back to WHMCS.
  • They can then appear in the WHMCS Modules Log.
  • No longer assign level 1 if Pro-Sites field is empty.

May 11, 2014 - version 1.1
  • Added Pro-Sites support

February 25, 2014 - version 1.0.9
  • Changed the client WordPress login link to be the Admin login.

July 26, 2013 - version 1.0.8
  • Fixed problem were global $base is sometimes returned as null
  • Fixed problem with site name setting if the custom field title is used
  • Fixed subdirectory installs so properly add count on duplicating an existing site.

August 15, 2012 - version 1.0.5
  • Fixed problem doing automatic login from WHMCS server button

August 13, 2012 - version 1.0.4
  • = 1.0.4 =
  • * Added Provision Server module logging to support debugging the WHMCS side.

July 31, 2012 - version 1.0.3
  • = 1.0.3 =
  • * Checked blog.dir creation.
  • * Added dashboard notification

June 17, 2012 - version 1.0.2
  • Changed disabled to readonly on product fields because disabled fields aren't returned on edit wiping them out.

June 6, 2012 - version 1.0.1
  • Changed blog.dir permission to the correct 0755 octal value.

March 20, 2012 - version 1
  • First Release Version 1.0

Downloads 17,134

Compatibility Multisite 4.1.1

WHMCS MU Provisioning for running, expanding and automating your hosting business using WHMCS with WordPress.

WHMCS and Pro Sites

Not sure what WHMCS is, but you still want to host websites?

If you are not familiar with WHMCS but still want to sell websites then you might want to consider our Pro Sites plugin.  Pro Sites is designed to let you sell premium sites with themes, plugins, space upgrades and other cool feature enhancements. You bill your clients monthly, quarterly or yearly, and its all automated!

Want to learn more about WHMCS?

WHMCS is an all-in-one client management, billing & support solution for online businesses. Handling everything from signup to termination, WHMCS is a powerful business automation tool that puts you firmly in control – WHMCS.com

With our latest release you can now provision websites direct from your WHMCS installation.

Yup you read that right – you can sell WordPress websites in your WordPress Multisite installation direct from WHMCS. How awesome is that?

It just oozes with goodness, doesn’t it?

WHMCS WordPress Provisioning Product
Sell domain names right on your network

Setup your products, how much space your want your customers to have and let our WHMCS Multisite Provisioning do the rest.

WHMCS WordPress Provisioning Product - Product Details
Automate hosting with WHMCS

Bring WHMCS to Your Dashboard

Do you want to have your WHMCS install show within your WordPress website as if it was designed to fit like a glove?

Pop over to WHMCS WordPress Integration project page for more information!

WHMCS WordPress Integration
Integrate seamlessly with WordPress

With the WHMCS WordPress Integration plugin you are essentially embedding your WHMCS installation right into your WordPress site. The style, the design… it’s beautiful.

Don’t forget you will need a copy of WHMCS installed and ready to go before getting started here.

Installation of this plugin is a little different from most, it requires you upload to both WordPress and WHMCS but don’t worry we will walk you through it.

So to get started you need to unpack your files and then upload the contents:

FTP WHMCS Multisite Remote Provisioning - FTP Upload

Upload your /whmcs-multisite-remote-provisioning/ to your WordPress plugin directory:

/wp-content/plugins/

So it will be:

/wp-content/plugins/whmcs-multisite-remote-provisioning/

Inside the /whmcs-multisite-remote-provisioning/ folder there is another folder called /whmcs/ this needs to be uploaded to your WHMCS install (as you see in the image above):

/modules/

There are files for both the addons and servers folder, like:

/modules/addons/

And:

/modules/servers/

You then have a structure for both like:

/modules/addons/whmcs_multisite

/modules/servers/whmcs_multisite

Installing the plugin in WordPress

Start by reading Installing plugins section in our comprehensive WordPress and WordPress Multisite Manual if you are new to WordPress.

Once the plugin is installed and network activated, you will see a new menu item in your network admin dashboard: WHMCS Remote Provisioning

 

WHMCS Provisioning - Menu

Click on the WHMCS Provisioning menu and you’ll see a page with several options.

WHMCS Provisioning - Settings

Enter the URL of your WHMCS installation in the Remote WHMCS Host field.

Authorised IP Addresses: When this is left blank nothing is restricted, if you wish to ensure that only specific WHMCS installs can set up websites in your WordPress Multisite install then you can filter by IP address.

Tick the Debug option to turn on the debugging feature in the plugin. This will allow messages to get posted to the WHMCS Modules Log, to help with debugging should any issues arise.

Getting WHMCS set up

Now we need to get a server set up on WHMCS and then add some products as well before we can start making some cash!

Log into your WHMCS installation, and go to Setup > Addon Modules.

WHMCS - Addons

You’ll see the WHMCS Provisioning addon in the list, which should already be activated.

WHMCS - Addons - WHMCS Multisite Provisioning

If it’s not Activated, go ahead and press the Activate button.

WHMCS - Addons - WHMCS Multisite Provisioning - activate

We also need to set permissions, once activated you can then manage those permissions:

WHMCS - Addons Directory - Manage

Whilst managing the addon you can then set which staff has access to control the addon:

We can now get the servers setup. Pop over to your Servers administration page:

WHMCS - Servers Admin Menu

Setup –> Products/Services –> Servers

WHMCS - Creating Servers

So lets create a group first:

WHMCS - Servers - Create Group

Name: You can enter anything you wish here, its just the name for your Multisite Group. For example, you might have a group of cPanel servers where you will share signups over, or a group of WordPress Multisite installs.

Fill Type: This is not something you will use much for WordPress, you’ll most likely only have one server specified so its up to you what you want set here.

Selected Servers: You most likely won’t have your WordPress install here yet, so nothing would be selected. However if you jumped ahead then you will, so select the appropriate option and add it. Once you are happy just click on the Save Changes button.

WHMCS - Creating Servers

We will now be back at the servers page, so click on the Add New Server option.

WHMCS - Add Server

Names: Name it anything you wish, you will probably want it to be something memorable, perhaps the domain name so you know which WordPress install this server relates to.

Hostname: This is your domain name where your WordPress is installed.

IP: The IP address of your WordPress installation.

Assigned IP: You need not enter anything here.

Monthly Cost: You can enter the cost of your WordPress install here, so if your hosting cost $20 per month, then enter that. Nothing needs to be entered here.

Datacenter/NOC: The datacenter where this installation is kept. Nothing needs to be entered here.

Maximum No. of Accounts: How many websites you will have in your WordPress Multisite installation – If you ever get thousands upon thousands then checkout our Multi DB plugin for database scaling – http://premium.wpmudev.org/project/multi-db

Server Status Address: If you uploaded the WHMCS status folder to your server, then enter the address to that server here including path. This will show users from your WHMCS website if your website is up or down. Your status notifications will keep admins informed.

Enable/Disable: Do you want this server available or not. Of course you will want it enabled in order to use it.

You don’t need to set any name servers unless you are pointing registered domains to a specific DNS server when hosting on your WordPress Multisite. It maybe best to use the domain registrars DNS and add or change the A Record there. Thats up to you handle :-)

WHMCS - Add Server Details

Type: You will need to select Whmcs_multisite.

Username: Your WordPress admin username

Password: Your WordPress admin password.

Access Hash: You don’t enter anything here.

Secure: If your WordPress installation uses SSL then you can enable SSL connections here.

When all that is done, just click on the Save Changes button.

Adding Products

The next step is to get some products set up, head on over to your products section.

WHMCS - Adding Products - Menu

WHMCS - Add Products

First we will need to Create A New Group so click on that option

WHMCS - Products_Services

The first field is the group name, I’ve put it as WPMU for now, but you can set it to what ever you wish.

Available Payment Gateways: WHMCS supports many gateways, I only have Paypal on this current setup, but you might have Authorize.net, 2Checkout, Google Checkout or any of the many which WHMCS support. Select the gateways you wish to use with this group.

Hidden: Will this group be hidden on the front end order forms or will it be visible for all to purchase, you decide. Remember you can send your prospective new clients a direct link.

Direct Cart Link: You cannot edit this, but you can use it to give your clients so they go directory to this product group for ordering WordPress sites in your multisite install.

Then just click on the Save Changes button and thats it here.

We now need to click on the Create A New Product option.

WHMCS - Add Products

We then get the product setup page:

Product Type: You need to select Hosting Account here.

Product Group: That will be the product group you just created, in my example that is WPMU.

Product Description: You can enter anything in there you wish, it obviously describes the service you offer.

Welcome Email: If you create a custom email you can set that here, or you can leave it as none. Leaving it as none will mean that WHMCS does not mail your customer about their new purchase welcoming them aboard.

Required Domain: We don’t require a domain in this instance, so we can leave that unchecked.

The rest of the options there are at your discretion on this tab. Once your done then move Module Settings tab

WHMCS - Add Products - Module Settings

Module Name: You set this to Whmcs_multisite.

Server Group: Set this to the server group you created earlier.

Default Blog Title: Enter the title you wish to be assigned to your new blogs by default. The site owner can edit their blog title from WordPress once created

Default Role: What role your new website owners should be assigned within your WordPress install. That would most likely be administrator

Default Blog Domain: If the user does not enter a domain, this will be used by default. If you’re not using Custom fields (see below) this is the default domain name that will be used with numbers appended (to keep it unique). This cannot be changed later without you editing your database directly

Web Space Quota: This is how much space you want to give them on this product. Its measured in MB.

The custom fields must not be checked if you are going to allow domain mapping with our plugin (also called domain mapping and mentioned within this tutorial). You do not create any custom fields.

Tick the two custom field names if you are using custom fields to define the Title and Domain.

On the Custom fields Tab, create two custom fields.

First custom field must be named “Domain”, as a Textbox Validation “|^([a-zA-Z0-9-])+$|i” (without quotes), Required field, Show on Order Form.

Second custom field must be named “Title”, as a Textbox Validation “|^([a-zA-Z0-9- ])+$|i” (without quotes), Required field, Show on Order Form.

Just click on the Save Changes button when you are done.

Sub Domains – If you are using the subdomain version of WordPress multisite then you could allow your users to select that from the domain name form whilst signing up. To do that click on the Other tab

Subdomain Options: You simply enter your domain(s) here in a comma seperated list. Note the period before the domain names.

WHMCS - Add Products - Other - Offer Sub Domains.

You will most likely want to edit your pricing and other settings here, but everything which is required for this to function has been completed, so the rest is up to you. :-)

How It All Looks

WHMCS - Shopping Cart - GBP Currency

Or in Dollars (WHMCS can take many currencies!):

WHMCS - Shopping Cart - USD Currency

WHMCS - Choose A Sub Domain

So once they have checked out, made their payment then they are set, the website is provisioned within your WordPress install for you automatically.

If you use our Domain Name mapping plugin and your customer purchases a domain, it will also be added to your WordPress website when our plugin is activated. Cool eh!

Don’t forget the A Record though, you need to get that pointing in. (See the Domain Mapping plugin for more information)

Pro Sites Integration

Integration with Pro Sites is an incredibly powerful feature that allows you to create separate products in WHMCS and associate them with Levels you create using Pro Sites. This lets you offer various plans through your WHMCS service, allowing clients to purchase additional features like Premium Plugins and Premium Themes.

Simply install and configure Pro Sites, setting up various Levels as you want them, as per our Usage page.

Then within the admin area of WHMCS, create a product for each Pro Sites Level (as detailed above). In each product, the ProSites field should match the Level name in Pro Sites.

Once that is done, clients will be able to purchase Pro Sites plans as products through WHMCS, upgrading, downgrading and canceling plans as they like.

Other Plugins

Domain Mapping – allow mapping of domain names to sub-sites on your network.

Multi-Domains – offer creation of sub-sites with sub-domains from other domain names.

== Known Issues ==

1. If a user does not already exist on WordPress as determined by matching the WHMCS Clients email with the WordPress users email, a new user will be created using the WHMCS Client’s email address and the portion before the ‘@’ as the users name. If you are Accepting Orders in Admin before creation you can change the default username there. Once the username is created it cannot be changed.

2. If the WHMCS clients email address already exists as a user in WordPress, the WordPress user account
will override what you may put in WHMCS. WordPress user names can not be changed and this is enforced in WHMCS.

3. WHMCS generates random passwords when creating a service. If a new WordPress user is
created as a result this random password is the password for the new user. If the user already exists
in WordPress WHMCS still generates a random password but it does NOT change the WordPress password.
WHMCS can change the password on WordPress but WordPress password changes will not be feed back to WHMCS.

4. Each WHMCS service creates different random passwords so they will not match if a Client has more than one
service at the same WordPress site.

5. The current version is from WHMCS to WordPress only. Some fields will sync to WHMCS automatically such as username, domain, path. Changes to these are locked out at WHMCS admin.

6. Passwords may be changed from WHMCS Admin but they DO NOT feed back from WordPress to WHMCS. WordPress passwords are hashed and can’t be read.

Jammed With Features

Everything you need to host your own network

  • WHMCS Modules - Both WHMCS add-ons and WordPress plugin included
  • Hosting Space - Set how much space each product should have in your WordPress Multisite
  • Sub Domains - Offer sub domains direct from your WHMCS site
  • Sub Directory - We also support sub directory installs as well
  • Sell Web Hosting - Sell hosting within your WordPress Multisite install
  • Bill As You Like - Bill as you like through WHMCS, when they don't pay, their website will be closed down and archived until payment is made
  • Terminate A Service - When you terminate a service in WHMCS, the website is also deleted in WordPress for you
  • Domain Mapping - Sell domain names and have them mapped in for you with our Domain Mapping plugin
  • No Restrictions On Sites - You can sell sites on as many WordPress installs as you wish, you might have hundreds of them, or you might let our Multi-Domain plugin handle all those extra domains for you on one install