You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 32 Next »

Table of Contents

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
YESYESYESYESYESNO

Management Features

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

  • Change cPanel Password
  • View Disk and Bandwidth usage

 

Installing cPanel

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

A message will be displayed, indicating that the module was successfully installed. Then click the "Add Server" button.

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.
Remote Key

Enter your WHM server remote key. This can be obtained in WHM under "Setup Remote Access Key".

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.

Server Groups

Server groups are useful for categorizing cPanel servers. When creating a Package, a specific server, or a server group may be selected for provisioning. Blesta will automatically select a cPanel server to provision with when a server group is chosen.

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.

Welcome Email

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"

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.

 

The {module} object
stdClass Object
(
    [host_name] => domain.com
    [name_servers] => Array
        (
            [0] => ns1.domain.com
            [1] => ns2.domain.com
		)
 )
The {package} object
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
)
The {service} object
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
)

 

Displaying Name Servers in the Welcome Email

The {module.name_servers} tag must be iterated over to display the name servers. Email tag usage is elaborated upon on the Customizing Emails page.

Consider an example where the module has two name servers set, named "ns1.domain.com" and "ns2.domain.com". The following can be added to the email template to output the name servers:

{% for name_server in module.name_servers %}
Name server: {name_server}{% endfor %}

The welcome email will display this as:

Name server: ns1.domain.com
Name server: ns2.domain.com

Sample Email

This sample email could be used in the Package Welcome Email section to help you get started:

Your cPanel account is now active, details below:

Domain: {service.cpanel_domain}
Username: {service.cpanel_username}
Password: {service.cpanel_password}

To log into cPanel please visit https://{module.host_name}:2083.
Please update your name servers as soon as possible to the following:

{% for name_server in module.name_servers %}
Name server: {name_server}{% endfor %}

Thank you for your business!

Moving cPanel Accounts

If you need to move one or more cPanel accounts to a new or different server, follow these steps:

  1. Use the copy account feature in WHM to move the account to the new server.
  2. Make sure the new server has been added to the module under Settings > Company > Modules > cPanel and that the new server and the old server are in the same server group.
  3. Update your packages so that they are using this server group if they are not already.
  4. Click to "Manage" each affected service, and an option should appear to change the server to another server in the same server group. This option will only appear if the packages are set up to use a server group rather than a specific server.
  5. Repeat step 3 until all affected cPanel accounts have been updated to the new server.
  6. You may remove the old server from the server group, but you should leave it in the module.
  7. You may update the packages to use the new server specifically, rather than the group if you wish. This will remove the option for changing the server when managing a service, but it will remain attached to the correct server.

 

  • No labels