Shahid Malla

WHMCS cPanel Integration: Complete Configuration Guide

Shahid Malla Shahid Malla January 10, 2026 12 min read
WHMCS cPanel Integration: Complete Configuration Guide

The WHMCS-cPanel integration is the backbone of most hosting automation setups. When configured correctly, it enables seamless account provisioning, suspension, upgrades, and terminations without manual intervention. This guide covers every aspect of setting up and maintaining this critical integration.

Prerequisites

Before integrating WHMCS with cPanel, ensure you have:

  • A working WHMCS installation
  • A cPanel/WHM server with root access
  • SSL certificates on both WHMCS and WHM (required for API security)
  • Firewall access between WHMCS and WHM servers (port 2087)

Adding Your Server in WHMCS

Step 1: Navigate to Server Configuration

In WHMCS admin, go to Setup → Products/Services → Servers. Click "Add New Server" to begin configuration.

Step 2: Enter Server Details

Fill in the following information:

  • Name: A friendly name for this server (e.g., "Server 1 - Dallas")
  • Hostname: Your server's FQDN (e.g., server1.yourdomain.com)
  • IP Address: Primary IP of the server
  • Maximum Accounts: Set a limit to prevent overselling (optional)

Step 3: Configure Server Access

Under Server Details:

  • Type: Select "cPanel/WHM"
  • Username: "root" or a reseller username with API access
  • Password: The account password OR API token (recommended)
  • Access Hash: Leave blank if using API token
  • Secure: Enable this for SSL connections (strongly recommended)

Step 4: Test the Connection

Click "Test Connection" to verify WHMCS can communicate with WHM. If successful, you'll see a confirmation message. If it fails, check firewall rules and credentials.

Creating Hosting Packages

WHM packages define resource limits that WHMCS assigns to accounts.

WHM Package Configuration

Log into WHM and navigate to Packages → Add a Package. Create packages matching your WHMCS products:

  • Package Name: Use consistent naming (basic_hosting, business_hosting)
  • Disk Space: Storage quota in MB
  • Monthly Bandwidth: Transfer limit in MB
  • Max FTP Accounts: Number of FTP users allowed
  • Max Email Accounts: Email mailbox limit
  • Max Mailing Lists: Mailing list quota
  • Max Databases: MySQL database limit
  • Max Subdomains: Subdomain quota
  • Max Parked Domains: Alias domain limit
  • Max Addon Domains: Additional domain limit

Configuring WHMCS Products

Now link your WHMCS products to the cPanel module and WHM packages.

Product Module Settings

Edit your hosting product and navigate to the "Module Settings" tab:

  • Module Name: Select "cPanel/WHM"
  • Server Group: Choose your server or server group
  • Package Name: Select the matching WHM package

Automation Settings

Configure when WHMCS should provision accounts:

  • Automatically setup: When payment is received (recommended)
  • Create as Pending: For manual review before provisioning

Custom Fields

Consider adding these custom fields for additional information:

  • Username preference (if allowing custom usernames)
  • Primary domain (for shared hosting without included domains)
  • Server location preference (if offering multiple locations)

Automation Features

Account Creation

When a customer orders hosting and payment is confirmed:

  1. WHMCS generates a username (based on domain or custom logic)
  2. Generates a secure password
  3. Calls WHM API to create the account
  4. Assigns the specified package and resources
  5. Sends welcome email with login credentials

Suspension and Unsuspension

For overdue accounts:

  • WHMCS suspends the account via WHM API
  • Customer sees suspension page instead of their website
  • Upon payment, WHMCS automatically unsuspends

Termination

After the grace period:

  • WHMCS terminates the account via WHM API
  • All data is deleted from the server
  • Resources are freed for new accounts

Troubleshooting Common Issues

Connection Failed

If WHMCS can't connect to WHM:

  • Verify the server IP and hostname are correct
  • Check firewall rules allow port 2087 from WHMCS server
  • Ensure SSL is working if "Secure" is enabled
  • Verify credentials are correct (try logging into WHM manually)

Account Creation Fails

When provisioning fails:

  • Check the WHMCS Module Log for detailed error messages
  • Verify the package exists in WHM
  • Ensure no duplicate username or domain conflicts
  • Check server disk space (no space = creation failures)

SSL Certificate Errors

If you see SSL verification errors:

  • Install a valid SSL certificate on WHM (port 2087)
  • Or disable SSL verification in configuration.php (not recommended)

Best Practices

  • Use API tokens: More secure than passwords, can be revoked independently
  • Enable logging: Turn on Module Logging during setup for troubleshooting
  • Test thoroughly: Create test orders through the complete workflow
  • Monitor capacity: Set maximum accounts to prevent overselling
  • Use server groups: Balance load across multiple servers automatically

Conclusion

A properly configured WHMCS-cPanel integration transforms your hosting business. Orders are fulfilled instantly, customers receive credentials immediately, and your team focuses on growth rather than manual account creation.

If you're struggling with cPanel integration or want to optimize your existing setup, I can help. With hundreds of successful integration projects, I know the nuances that make the difference between a good setup and a great one.

Need Help with cPanel Integration?

I configure WHMCS-cPanel integrations for hosting companies worldwide. Fast setup with full testing and documentation.

Share this article:
Shahid Malla

About Shahid Malla

Expert

Full Stack Developer with 10+ years of experience in WHMCS development, WordPress, and server management. Trusted by 600+ clients worldwide for hosting automation and custom solutions.