Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Excerpt
hiddentrue

The cPanel & WHM software package is an easy-to-use control panel that gives web hosts, and the website owners they serve, the ability to quickly and easily manage their servers and websites.


Table of Contents
Table of Contents
maxLevel4
minLevel2
outlinetrue
classtoc

About cPanel

cPanel/WHM is a popular and widely used web hosting control panel. Learn more about cPanel/WHM on their website at http://www.cpanel.net/.

Supported Features

CreateCancelSuspendUnsuspendManagementConfig Options
Status
colourGreen
titleYes
Status
colourGreen
titleYes
Status
colourGreen
titleYes
Status
colourGreen
titleYes
Status
colourGreen
titleYes
Status
colourRed
titleNo

Management Features

This module supports the following management features within the client area:

  • Change cPanel Password
  • View Disk and Bandwidth usage

 


Expand
titleClick here to see client management screenshots...

 


Installing cPanel

To install the cPanel module, visit [Settings] > [Company] > [Modules] > Available, and click the "Install" button for cPanel.

...

Enter the details for your cPanel/WHM server.

Field NameDescription
Server LabelEnter a label for this cPanel/WHM server, it can be anything you like.
HostnameEnter the FQDN hostname for your cPanel/WHM server, ie "server1.domain.com".
User NameEnter your WHM username. This is the username you would log into WHM with.
Token (or Remote Key)

Enter your WHM server API token, found under "Manage API Tokens". You can also use a remote key found under "Setup Remote Access Key", but this is a deprecated authentication method. If using a token, you must select "Everything" if offering reseller accounts.

Image Modified

Use SSL when connecting to the APICheck this option to use SSL for all API requests to your WHM server. This is highly recommended.
Account LimitEnter the maximum number of accounts that should be added to this cPanel/WHM server.
Name ServersEnter the name servers that should be used for this server. These will be available to the package welcome email to the client.
NotesEnter any notes that pertain to this server for future reference.

After filling out these options, click "Add Server" to add your cPanel/WHM server.

...

To add a server group, from the cPanel overview at  [Settings] > [Company] > [Modules] > cPanel, click "Add Server Group", then enter the details.

OptionDetails
Group Name

Enter the name for this server group.

Add OrderChoose how servers in this group will be selected for provisioning. Currently, first non-full server is the only add order.
Assigned ServersSelect servers under "Available Servers" and click to move them to the left column to add them to the group.

Creating Packages

Packages define the pricing, welcome email, module and more. Packages can be assigned to Package Groups, and added to Order Forms. To create a Package, visit [Packages] > Browse, and click the "Create Package" button.

...

The Basic section consists of the following options:

Field NameDescription
Package NameEnter the name of this Package, it will be visible wherever services are listed and on any order forms.
Status"Active" is the default, "Inactive", and "Restricted" are also available.
Quantity AvailableIf this Package has a limited quantity available, enter the quantity, or leave it as "Unlimited".
DescriptionEnter a Description for this Package. HTML is allowed, and descriptions appear on order forms.
Configurable OptionsA Configurable Option Group may be selected if previously created, but this module does not support configurable options during provisioning.
ModuleSelect "cPanel" for the module.

Module Options

The Module Options section consists of the following options, which are specific to cPanel:

Image RemovedImage Added

Field NameDescription
Server GroupSelect "Any" if you wish to specify a specific server, or select the Server Group to provision from. Selecting a group means that accounts will be provisioned from the group. Selecting a group is recommended.
ServerIf "Any" is selected above, select the server this package will use to provision accounts.
cPanel PackageSelect the cPanel Package to use when configuring accounts. These values are pulled from "Packages" created in WHM and specify resources for the plan
.
.
Account TypeSelect "Standard" if this is a standard cPanel account, or "Reseller" if it's a reseller account. If selecting Reseller, you'll be asked also to select an ACL as configured in WHM. As of Blesta 4.8, you may also set an "Account Limit", allowing the reseller to create up to this number of cPanel accounts.
Enable Selling Sub-DomainsAs of Blesta version 4.8, it's possible to sell sub-domains under a predefined list of domains. Select "Enable" to enable selling of sub-domains, or "Disable" to allow the client to use their own domain.
Available Domains ListIf "Enable" is selected for the option above, an input field will appear where a comma separate list of domains can be entered, from which the client will be able to choose from. e.g. domain1.com,domain2.com,domain3.com
Dedicated IPAs of Blesta 4.8, it's possible to include a dedicated IP address for accounts created with this package. Select "Yes" to include a dedicated IP
Account TypeSelect "Standard" if this is a standard cPanel account, or "Reseller" if it's a reseller account. If selecting Reseller, you'll be asked also to select an ACL as configured in WHM
.

Pricing

Field NameDescription
TermEnter the term for the desired pricing option. For example, if you wish to create a 3 month pricing option, enter 3 here.
PeriodSelect the period for this pricing option. "Day", "Week", "Month", "Year", and "One time" are options. The client will be invoiced every "term period", for example every 3 months if 3 is entered for term, and Month is selected for period.
CurrencySelect the currency this pricing option is available for.
PriceEnter the price for this pricing option.
Setup FeeIf there is a setup fee, enter it here.
Cancellation FeeIf there is a fee to cancel early, enter it here.

Click the "Add Additional Price" to add more pricing options. It's common for people to create 1 Month, 3 Month, 6 Month, and 1 Year price options. There are many possible combinations.

...

When creating or editing a package that uses this module, the following tags will be available:

TagsDescriptionNotes
{module.host_name}The host name of the server that the service was provisioned one.g. "domain.com"
{module.name_servers}An array of available name servers for this module

Array elements must be looped over in the email template. See below for an example.

{package.type}The package meta typee.g. "standard", "user", "reseller", etc.
{package.package}The package meta package namee.g. "Bronze"
{package.acl}The package meta access control list
 

{service.cpanel_username}The service field for the cPanel account username
 

{service.cpanel_password}The service field for the cPanel account password
 

{service.cpanel_domain}The service field for the cPanel domaine.g. "domain.com"


Expand
titleAdditional Tags

Due to the nature of tag objects containing several fields, many of which are likely irrelevant for use in email templates, but may be useful to you in certain circumstances, a dump of the tags are shown below.

Code Block
languagephp
titleThe {module} object
collapsetrue
stdClass Object
(
    [host_name] => domain.com
    [name_servers] => Array
        (
            [0] => ns1.domain.com
            [1] => ns2.domain.com
		)
 )


Code Block
languagephp
titleThe {package} object
collapsetrue
stdClass Object
(
    [id] => 32
    [id_format] => {num}
    [id_value] => 12
    [module_id] => 4
    [name] => Package Name
    [description] => Package Text Description
    [description_html] => <h1>Package HTML Description</h1>
    [qty] => 3
    [module_row] => 6
    [module_group] => 
    [taxable] => 0
    [status] => active
    [company_id] => 1
    [id_code] => 12
    [email_content] => Array
        (
            [0] => stdClass Object
                (
                    [lang] => en_us
                    [html] => <p>Welcome email html</p>
                    [text] => Welcome email text
                )
        )

    [pricing] => Array
        (
            [0] => stdClass Object
                (
                    [id] => 43
                    [term] => 123
                    [period] => day
                    [price] => 3.0000
                    [setup_fee] => 0.0000
                    [cancel_fee] => 0.0000
                    [currency] => AUD
                )

            [1] => stdClass Object
                (
                    [id] => 42
                    [term] => 0
                    [period] => onetime
                    [price] => 2.0000
                    [setup_fee] => 0.0000
                    [cancel_fee] => 0.0000
                    [currency] => USD
                )

        )

    [meta] => stdClass Object
        (
            [package] => Bronze
            [type] => standard
        )

    [groups] => Array
        (
            [0] => stdClass Object
                (
                    [id] => 2
                    [name] => Standard Group
                    [type] => standard
                )

        )

    [package] => Bronze
    [type] => standard
)


Code Block
languagephp
titleThe {service} object
collapsetrue
stdClass Object
(
    [id] => 124
    [parent_service_id] => 
    [id_format] => {num}
    [id_value] => 119
    [pricing_id] => 42
    [client_id] => 3
    [module_row_id] => 6
    [coupon_id] => 
    [qty] => 1
    [status] => active
    [date_added] => 2013-03-07 18:57:45
    [date_renews] => 
    [date_last_renewed] => 
    [date_suspended] => 
    [date_canceled] => 
    [id_code] => 119
    [fields] => Array
        (
            [0] => stdClass Object
                (
                    [key] => cpanel_domain
                    [value] => domain.com
                    [serialized] => 0
                    [encrypted] => 0
                )

            [1] => stdClass Object
                (
                    [key] => cpanel_password
                    [value] => password
                    [serialized] => 0
                    [encrypted] => 1
                )

            [2] => stdClass Object
                (
                    [key] => cpanel_username
                    [value] => domainco
                    [serialized] => 0
                    [encrypted] => 0
                )

        )

    [package_pricing] => stdClass Object
        (
            [id] => 42
            [package_id] => 32
            [term] => 0
            [period] => One time
            [price] => 2.0000
            [setup_fee] => 0.0000
            [cancel_fee] => 0.0000
            [currency] => USD
        )

    [package] => stdClass Object
        (
            [id] => 32
            [id_format] => {num}
            [id_value] => 12
            [module_id] => 4
            [name] => Package Name
            [description] => Package Text Description
            [description_html] => <h1>Package HTML Description</h1>
            [qty] => 3
            [module_row] => 6
            [module_group] => 
            [taxable] => 0
            [status] => active
            [company_id] => 1
        )

    [name] => domain.com
    [cpanel_domain] => domain.com
    [cpanel_password] => password
    [cpanel_username] => domainco
)


...

  1. Go to the profile for the client you want to add the cPanel account to [Clients] > [Browse] and click on the client ID, or perform a search.
  2. Click Add Service under Account Actions on the left, or click the [+] button in the Services widget.
  3. Select the correct Package for the plan you are adding, and Continue.
  4. Select the Term, and uncheck the "Send order confirmation" and "Provision using the cPanel module" boxes. You may also wish to select "Do not Invoice" for Invoice method, but this will depend on whether you'd like to create an invoice now or not.
  5. Enter the domain name and click "Continue".
  6. The service should be added, now click the Manage icon next to the service on the client's profile page.
  7. Enter the correct username under the "Username" field, uncheck the "Use module" option, and save.
  8. If you need to sync the renew date to a specific day, click on the Manage link for the service again, and select "Change Renew Date" under the Actions drop down. Set the nex renew date, uncheck the "Prorate" option, and Save.
  9. Repeat for each account.

 

...