You are on page 1of 12

I-PLUGINS ADDONS & PLUGINS FOR WHMCS

WordPress
Provisioning

USER MANUAL
Copyright

© 2011-2017, i-Plugins
All rights reserved. No part of this publication may be reproduced, distributed, or transmitted in any form or by any means, or stored in a database or retrieval system, without
the prior written permission of the publisher.

Visit our website at www.i-plugins.com

First e-book edition 2012


i
Preface Wordpress Provisioning: This plugin allows provisioning
of blogs on a WordPress multi-site installation from external
packages and billing systems such as WHMCS.

Backup & Restore: The Backup & Restore addon for


WHMCS allows you to backup, restore and transfer cPanel
hosting accounts from within the comfort of your WHMCS ad-
ministration panel.

Our software can be downloaded from our portal at


http://i-plugins.com/whmcs-bridge/clientarea

In some cases a license key is required, which can be pur-


chased from https://i-plugins.com/whmcs-bridge/cart/

This documentation is available as an iBook for iPad, iPhone


This e-book is part of a series providing documentation for all and iPod Touch or as a PDF.
our WHMCS addons and plugins:

Facebook Promotions: The Facebook Promotions addon


for WHMCS automatically generates unique WHMCS promo-
tion codes for your Facebook fans. It’s an easy way to increase
your Facebook fans.

WHMCS Bridge for Wordpress: WHMCS Bridge inte-


grates your WHMCS support and billing software into Word-
Press, providing a seamless and consistent user experience to
your customers.

ii
C HAPTER 1

Wordpress
Provisioning

This plugin allows provisioning of blogs


on a WordPress multi-site installation
from external packages and billing sys-
tems such as WHMCS.
S ECTION 1 1) First method: FTP the zip file to your server in the WHMCS
modules directory and unzip it there. This can usually be done
Installation using modern FTP tools such as Filezilla or even using the
cPanel File Manager if you have a cPanel hosting account.
Move the addons subdirectory to modules/addons and the
servers subdirectory to modules/servers.

2) Second method: Unzip the files locally on your PC and then


transfer the files in binary mode using FTP. Make sure the
transfer mode is set to binary or you will have messages say-
ing the files are corrupt when you try to activate or use the ad-
don.
The solution consists of a Wordpress plugin to be installed on
your Wordpress multi-site and a WHMCS addon. After installation, you should have a directory structure as fol-
lows:
Wordpress Plugin
modules
The Wordpress plugin can be installed via the Wordpress Plug-
ins > Add New menu and searching for ‘WHMCS Multi-Site addons
Provisioning’. Alternatively you can download it from
https://wordpress.org/plugins/remote-provisioning/ and in- wordpressmu
stall it by ftp to your server. servers

WHMCS Addon wordpressmu


The addon can be downloaded from your client account on
our website at https://i-plugins.com/whmcs-bridge/

The addon comes in the form of a zip file.

 To install the addon, there are 2 ways of doing so:

4
S ECTION 2 WHMCS Addon
Activation Go to Setup > Addon Modules and activate the addon.

You will then see a couple of settings.

Wordpress Plugin
You only need to make sure to activate the plugin on your Enter your license key which you should have received by
Wordpress multi-site main site only. In other words, no net- email after ordering and make sure to tick ‘Full Administrator’
work activation but a single activation on the main site. in Access Control.
Go to My Sites and select your main site. Go to the bottom of the page and click on ‘Save Changes’.
Select Plugins > Installed Plugins and activate the plugin.

This means however that the plugin can be activated by site


admins on other sites which you want to avoid. To do this you
will need another plugin that manages these access rights.

5
S ECTION 3 • Password: password of your WordPress admin

Configuration Create a server group


Create a server group and add your newly created server in
this group.

Create a product

All the configuration is done in WHMCS. You will notice that


there is now a new menu in Addons > Wordpress Provision-
ing. This page simply provides a link to the Zingiri website as
well as some other information. There are no configuration op-
tions here. The configuration is done in the Product set up it-
self.

Create a new server Create a product like normal but make sure that you select un-
Create a new server (Setup > Products/Services > Servers) der tab Module Settings.
and provide the following information:
• Module name: WordPressmu
• Name: any name you like
• Server group: the previously created server group
• Hostname: host name of your WordPress site
• Default role: fill in the default role the user will get or leave
• Type: WordPressmu blank to default to subscriber

• Username: admin name of your main WordPress site (the • Default blog name: fill in the name of the default blog name
one you activated the Wordpress plugin for) that will be used on creation

6
• Blog directory active: tick this box if you are allowing the cus- Blog Directory Custom Field
tomer to enter their blog directory, see ‘Blog directory cus- • Field name: enter what you like here, for example Blog direc-
tom field’ tory

• Blog title active: tick this box if you are allowing the cus- • Field type: Text Box
tomer to enter their blog title, see ‘Blog title custom field’
• Description: enter what you like
• Blog user name: choose the way you want to create the Word-
Press user name, you can choose either the WHMCS client • Validation: to allow a name of minimum 4 characters and
name or their email maximum 15, enter /^[a-zd_]{4,15}$/i

• Upload space: upload space to be allocated to the blog, leave • Select options: leave blank
blank to use the Wordpress system defaults.
• Show on Order Form: tick this box
• Send notification: tick to send the user a notification of blog
creation. You may want to leave this disabled if you are al- Blog Title Custom Field
• Field name: enter what you like here, for example Blog title
ready sending an email notification from WHMCS.
• Field type: Text Box
• Capabilities: comma delimited list of capabilities. If the de-
fault role doesn't exist, the role will be created with these ca- • Description: enter what you like
pabilities and the 'read' capability. You can leave this blank
if you are using a standard Wordpress role in the ‘default • Validation: to allow a title of minimum 4 characters and
role’ setting. maximum 45, enter /^[a-zd_]{4,45}$/i

• Select options: leave blank


Custom fields
If you want the customer to have the possibility to choose • Show on Order Form: tick this box
their own blog directory and title, you will need to define cus-
tom fields. You can do this when creating the product by se- Domain, subdomain or directory?
lecting the tab ‘Custom fields’ and adding the fields as follows. The plugin supports full domains, subdomains and sub-
Make sure that you enter the fields in the correct order, i.e. directory blog creation.
the blog directory field first, followed by the blog title field.
7
Domain For your Wordpress multi-site installation to support subdo-
If you allow your users to register, transfer or choose their mains you will need to have created a wildcard entry as ex-
own domain, you can do so by observing the following notes: plained on the Wordpress site.

• Don’t create a ‘blog directory custom field’ and leave that set- Sub-directory
ting unticked. Sub-directories are the easiest to set up. Just observer the fol-
lowing note:
• In the product setup ‘Details’ tab, make sure to tick ‘Require
domain’. • Create a ‘blog directory custom field’ and make sure that set-
ting is ticked in your product configuration.
During sign up for this product, the customer will be pre-
sented with the usual domain registration options and the The customer will see a field where they can enter their subdi-
Wordpress blog will be created accordingly. rectory during signup.

The plugin doesn’t create the relevant DNS C entries so this Product email notification
needs to be done manually.
We recommend to set up a custom product email template
that contains text similar to the following.
Subdomain
If you want to have blogs with subdomains created, take note Dear {$client_name},
of the following:
Your order for {$service_product_name} has now been acti-
• Don’t create a ‘blog directory custom field’ and leave that set- vated. Please keep this message for your records.
ting unticked.
Login link: http://{$service_server_hostname}

• In the product setup ‘Other’ tab, make sure to fill in ‘Subdo- Account ID: {$service_username}

main Options’. Login: {$client_email}

Password: {$service_password}
During sign up for this product, the customer will have the op-
tion to choose a subdomain and the Wordpress blog will be
created accordingly.
Payment Method: {$service_payment_method}

Amount: {$service_recurring_amount}

8
Billing Cycle: {$service_billing_cycle}

Next Due Date: {$service_next_due_date}

This should give your customers all the information they need
to access their site.

9
S ECTION 4 • [‘pwd’] = Wordpress admin password

API • [‘wp-login’] = ‘Log In’

The CURL call should be made to


http://[domain]/wp-login.php

Create a blog
During creation you need to pass the following as post vari-
ables:

• [‘blog’][‘domain’] = domain name to create


The Wordpress plugin can also be integrated with other sys- • [‘blog’][‘email’] = email address of the user
tems besides WHMCS. To do this, a simple API can be used to
create, suspend, etc. • [‘blog’][‘username’] = user name (this will be the login id as
well)
You can do so by making CURL calls to the API located at:
• [‘blog’][‘password’] = user password
http://[domain]/wp-admin/options-general.php?page=cc-rp-
cp • [‘blog’][‘last_name’] = last name of the user

Where domain is the domain name of your Wordpress multi- • [‘blog’][‘first_name’] = first name of the user
site install.
• [‘blog’][‘nickname’] = user nick name
You can also use secure SSL of course by replacing http with
• [‘blog’][‘defaultrole’] = default role (if not specified, sub-
https.
scriber will be usde)

Login • [‘blog’][‘title’] = blog title


First action is to remotely login to Wordpress. You will need
• [‘blog’][‘upload_space’] = maximum upload space, if not
to pass the following post variables in your CURL call:
specified the Wordpress sytem defaults will be used
• [‘log’] = Wordpress admin user id
10
• [‘blog’][‘notify’] = whether to send an email notification

• [‘blog’][‘capabilities’] = custom capabilities to be created and


assigned to the user, leave blank if using default Wordpress
roles

• [‘action’] = ‘create’

Suspend
To suspend, pass the following post variables in the CURL
call:

• [‘blog’][‘domain’] = domain name to suspend

• [‘action’] = ‘suspend’

Unsuspend
To unsuspend, pass the following post variables in the CURL
call:

• [‘blog’][‘domain’] = domain name to unsuspend

• [‘action’] = ‘unsuspend’

Terminate
To terminate, pass the following post variables in the CURL
call:

• [‘blog’][‘domain’] = domain name to terminate

• [‘action’] = ‘terminat

11

You might also like