ISPConfig is an open source, transparent, and free web hosting control panel.


Table of Contents

Supported Features

CreateCancelSuspendUnsuspendManagementConfig Options

Management Features

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





Installing ISPConfig

  1. Visit [Settings] > [Company] > [Modules] > Available.
  2. Click the "Install" button within the ISPConfig module listing.

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

In your ISPConfig admin panel, you will create a new API user under [System] > Remote Users, which should look similar to the following:

Enter your Remote User and Password, along with other details:


Field NameDescription
Server LabelA friendly name to identify this ISPConfig server by.
HostnameThe hostname for your ISPConfig server, e.g. ispconfig.domain.com
PortThe port for your ISPConfig server. Defaults to 8080.
User NameThe API username for your ISPConfig server, that you created under [System] > Remote Users in your ISPConfig Panel.
PasswordThe password for your ISPConfig server, that you created under [System] > Remote Users in your ISPConfig Panel.
Use SSLCheck to use SSL. (Recommended)
Account LimitThe maximum number of servers you want Blesta to provision to this server.
Name ServersEnter 2 or more name servers that the customer should use for this server.
NotesNotes - enter anything you like, e.g. "Production Server"

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.

Creating a Package consists of several sections:

Basic

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.  A separate name can be defined for each language in the system.
DescriptionEnter a Description for this Package. HTML is allowed, and descriptions appear on order forms.  A separate description can be defined for each language in the system.
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".
Use renewal prices for package upgradesWhen enabled, upgrading to this package will use renewal prices if they are set. The same will apply to any configurable options that are altered in the upgrade. The regular price  will be used if this setting is disabled.
Configurable OptionsA Configurable Option Group may be selected if previously created.
ModuleSelect "ISPConfig" for the module.

Module Options

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


Field NameDescription
GroupSelect the server group for this package, if Blesta should choose the server.
ServerOptionally select a specific server that should be used for this Package.
ISPConfigSelect the ISPConfig package to use.
PHP OptionsSelect the PHP Options, e.g. "suPHP"
SSH OptionsSelect the SSH Options, e.g. "No SSH"

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.
Renewal PriceIf enabled, the renewal price will be used for service renewals and possibly prorated service changes, depending on the setting above.
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.

Welcome Email

The "Tags" section describes tags that may be used in the welcome email. The welcome email content is inserted into the "Service Creation" email template under [Settings] > [Company] > [Emails] > Service Creation. Only details unique to this service should be entered into the welcome email section for the package.

Sample Email

This sample email could be used in the Package Welcome Email section to help you get started. Be sure to enter content for your welcome email in both the HTML and Text sections.

Thanks for choosing us for your web hosting needs!

Domain: {service.ispconfig_domain}
Username: {service.ispconfig_username}
Password: {service.ispconfig_password}


To log into ISPConfig please visit https://{module.host_name}:8080/login/


To make your site live, be sure to update your name servers to the following:


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


Thank you for your business!

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

TagsDescriptionNotes
{service.ispconfig_domain}The domain for the hosting account.e.g. "domain.com"
{service.ispconfig_username}The username for the hosting account.

e.g. "domain"

{service.ispconfig_password}The password for the hosting account.


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.


stdClass Object
        (
            [id] => 9
            [id_format] => {num}
            [id_value] => 9
            [module_id] => 8
            [name] => Shared Hosting
            [description] => 
            [description_html] => 
            [qty] => 
            [module_row] => 4
            [module_group] => 
            [taxable] => 0
            [single_term] => 0
            [status] => active
            [company_id] => 1
            [prorata_day] => 
            [prorata_cutoff] => 
            [id_code] => 9
            [email_content] => Array
                (
                    [0] => stdClass Object
                        (
                            [lang] => en_us
                            [html] => <p>{% debug %}</p>

<p>Thanks for choosing us for your web hosting needs!</p>

<p>Domain: {service.ispconfig_domain}<br />
Username: {service.ispconfig_username}<br />
Password: {service.ispconfig_password}</p>

<p>To log into ISPConfig please visit https://{module.host_name}:8080/login/</p>

<p>To make your site live, be sure to update your name servers to the following:</p>

<p>{% for name_server in module.name_servers %}<br />
Name Server: {name_server}{% endfor %}</p>

<p>Thank you for your business!</p>

                            [text] => {% debug %}

Thanks for choosing us for your web hosting needs!

Domain: {service.ispconfig_domain}
Username: {service.ispconfig_username}
Password: {service.ispconfig_password}

To log into ISPConfig please visit https://{module.host_name}:8080/login/

To make your site live, be sure to update your name servers to the following:

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

Thank you for your business!
                        )

                )

            [pricing] => Array
                (
                    [0] => stdClass Object
                        (
                            [id] => 15
                            [pricing_id] => 28
                            [package_id] => 9
                            [term] => 1
                            [period] => month
                            [price] => 5.0000
                            [setup_fee] => 0.0000
                            [cancel_fee] => 0.0000
                            [currency] => USD
                        )

                )

            [meta] => stdClass Object
                (
                    [package] => 0
                    [php_options] => Array
                        (
                            [suphp] => suphp
                        )

                    [ssh_options] => Array
                        (
                            [no] => no
                        )

                )

            [groups] => Array
                (
                    [0] => stdClass Object
                        (
                            [id] => 6
                            [name] => ISPConfig
                            [description] => 
                            [type] => standard
                            [company_id] => 1
                            [allow_upgrades] => 1
                        )

                )

            [option_groups] => Array
                (
                )

            [package] => 0
            [php_options] => Array
                (
                    [suphp] => suphp
                )

            [ssh_options] => Array
                (
                    [no] => no
                )

        )


stdClass Object
        (
            [id] => 11
            [parent_service_id] => 
            [package_group_id] => 6
            [id_format] => {num}
            [id_value] => 11
            [pricing_id] => 15
            [client_id] => 1
            [module_row_id] => 4
            [coupon_id] => 
            [qty] => 1
            [override_price] => 
            [override_currency] => 
            [status] => active
            [date_added] => 2018-04-06 21:45:51
            [date_renews] => 2018-05-06 21:45:51
            [date_last_renewed] => 
            [date_suspended] => 
            [date_canceled] => 
            [id_code] => 11
            [fields] => Array
                (
                    [0] => stdClass Object
                        (
                            [key] => ispconfig_domain
                            [value] => testablesta.com
                            [serialized] => 0
                            [encrypted] => 0
                        )

                    [1] => stdClass Object
                        (
                            [key] => ispconfig_password
                            [value] => !ugh8h1!$p$7u(
                            [serialized] => 0
                            [encrypted] => 1
                        )

                    [2] => stdClass Object
                        (
                            [key] => ispconfig_username
                            [value] => testables
                            [serialized] => 0
                            [encrypted] => 0
                        )

                )

            [package_pricing] => stdClass Object
                (
                    [id] => 15
                    [package_id] => 9
                    [pricing_id] => 28
                    [term] => 1
                    [period] => Month
                    [price] => 5.0000
                    [setup_fee] => 0.0000
                    [cancel_fee] => 0.0000
                    [currency] => USD
                )

            [package] => stdClass Object
                (
                    [id] => 9
                    [id_format] => {num}
                    [id_value] => 9
                    [module_id] => 8
                    [name] => Shared Hosting
                    [description] => 
                    [description_html] => 
                    [qty] => 
                    [module_row] => 4
                    [module_group] => 
                    [taxable] => 0
                    [single_term] => 0
                    [status] => active
                    [company_id] => 1
                    [prorata_day] => 
                    [prorata_cutoff] => 
                )

            [options] => Array
                (
                )

            [name] => testablesta.com
            [ispconfig_domain] => testablesta.com
            [ispconfig_password] => !ugh8h1!$p$7u(
            [ispconfig_username] => testables
        )


Group Membership

If this is the first Package you are creating with this module, select the "Create a New Group" option, and enter a Group name. If you are adding a subsequent Package and wish for it to be part of the same group, select "Select from Available Groups", and move the group from the right to the left of the multi-select box.

When finished, click "Create Package" to create this package.

Final Steps

The only thing left to do is to add this Package Group to an order form so clients may place orders for your ISPConfig hosting accounts. See Creating an Order Form for more details.