Skip to content

WHMCS

AdminBolt integrates with WHMCS in two independent ways:

  1. AdminBolt for WHMCS - a WHMCS server module that provisions and manages AdminBolt hosting (and reseller) accounts directly from WHMCS, with single sign-on into the panel.
  2. WHMCS as an external DNS source - the hub can mirror DNS zones served through WHMCS.

AdminBolt for WHMCS (provisioning module)

The AdminBolt for WHMCS server module lets WHMCS create and manage hosting accounts on an AdminBolt server as part of its normal billing and provisioning flow.

What it does

  • Provisioning - create, suspend, unsuspend, and terminate hosting accounts; change package; change password.
  • Single sign-on - a Log in to Control Panel button in the client area of Shared Hosting services (both the left-side menu and the service view) opens the AdminBolt panel without a separate login.
  • Reseller hosting - a separate Reseller Hosting product type provisions AdminBolt reseller accounts.
  • Usage sync - disk and bandwidth usage for Shared Hosting services are updated by the standard WHMCS cron and shown in the client area.

Setup (step by step)

Follow these steps in order; each links to the details below.

  1. Create API credentials in AdminBolt. In the panel, issue an API key and secret under API Keys. You need both for the server setup.
  2. Install the module into WHMCS (see Installation).
  3. Add the AdminBolt server in WHMCS under Configuration → System Settings → Servers, entering the API key as Username and the secret as Password, then click Test Connection (see Server configuration).
  4. Create a server group and assign the server to it.
  5. Create your products - Shared Hosting and/or Reseller Hosting - with AdminBolt as the module (see Product configuration).
  6. Confirm the WHMCS cron is running, so disk and bandwidth usage for Shared Hosting services sync into the client area.

Installation

Extract the module package into the main WHMCS directory; the files land under modules/servers/AdminBolt.

Server configuration

In WHMCS, create a server and select AdminBolt in the Module field:

FieldValue
HostnameThe fully qualified domain name of the AdminBolt instance.
UsernameThe AdminBolt API key (ApiKeyAuth).
PasswordThe AdminBolt API secret (ApiSecretAuth).
Port8443 by default; change it if the panel runs on another port.

Use Test Connection to verify communication, then create a server group and assign the server to it. The API key and secret are issued in the panel under API Keys.

Product configuration

Shared Hosting - create a product with Product Type set to Shared Hosting, set Module Name to AdminBolt, and pick the server group. The module then shows a Hosting Plan dropdown (listing the plans defined in the AdminBolt panel) and an SSH Access option. It also creates a hidden custom field, Hosting Account ID, that stores the AdminBolt service identifier.

Reseller Hosting - create a product with Product Type set to Reseller Hosting, set Module Name to AdminBolt, and pick the server group. The module creates a hidden Reseller ID custom field.

Client area

For Shared Hosting services, the client area adds a Log in to Control Panel single-sign-on button (in the left menu and in the Hosting Information section) and a Resource Usage section with disk and bandwidth graphs.

Reseller Hosting services are provisioned and managed the same way, but currently expose no client-area single-sign-on button or usage graphs.

Logs

All API traffic between WHMCS and AdminBolt is recorded under System Logs → Module Log in WHMCS. Enable it only for testing, then turn it off.

WHMCS as an external DNS source

Separately from the provisioning module, the hub can mirror DNS zones served through WHMCS (via the ModulesGarden "DNS Manager for WHMCS" addon). This is read-only - the external source stays authoritative. A WHMCS-specific DNS source exists in the codebase but is hidden in the v1.1.0 UI because that addon's API is local-only; the selectable external source types are cPanel / WHM, DirectAdmin, Plesk, and Generic DNS server.

See DNS Cluster → External Sources for the DNS configuration fields.

Notes

  • The provisioning module is distributed and versioned separately from the panel (see the repository).