Back to tutorials
Tutorial

cPanel Reseller Setup Guide Tutorial (2026): Configure WHM Packages, Feature Lists, Nameservers, and Safe Defaults

cPanel reseller setup guide tutorial for 2026: build WHM packages, feature lists, nameservers, and account defaults that scale safely.

By Anurag Singh
Updated on Oct 08, 2026
Category: Tutorial
Share article
cPanel Reseller Setup Guide Tutorial (2026): Configure WHM Packages, Feature Lists, Nameservers, and Safe Defaults

Your first reseller account in WHM feels simple. Your tenth is where bad defaults start burning time.

Common examples include the wrong PHP versions, customers with unlimited outbound mail, “Addon Domains” you never meant to allow, and DNS that fails during a cutover. This cPanel reseller setup guide tutorial gives you a clean baseline you can reuse on every new hosting VPS.

This walkthrough assumes VPS-based reseller hosting where you control WHM. If you’re on shared reseller hosting without root-level WHM access, you can still use the account-level steps (packages, feature lists, branding). Skip hostname, nameserver, and service-level settings.

What you’ll build in this tutorial (and what you need)

By the end, you’ll have:

  • Reseller-ready WHM packages that prevent “unlimited everything” chaos
  • Feature lists that expose only what you want customers to touch
  • Nameservers and DNS defaults that won’t break during cutovers
  • Account skeleton: PHP selector policy, email safety limits, and predictable skeleton files
  • A quick audit checklist you can run before onboarding clients

Prereqs

  • A VPS or dedicated server with cPanel/WHM installed (current supported release)
  • Root WHM access (or at least full WHM admin privileges)
  • A domain you control for nameservers (example: ns1.yourbrand.tld, ns2.yourbrand.tld)

If you’re still choosing infrastructure, pick a VPS with enough headroom for mail and PHP workers. For a small reseller, 2–4 vCPU and 4–8 GB RAM is a predictable starting point.

If you’d rather not learn the hard parts during an outage, managed VPS hosting can cost less than fixing email/DNS/updates by incident.

Step 1: Set a clean server identity (hostname, resolvers, time)

Do these basics before you create any reseller accounts. When they’re wrong, SSL and mail issues show up later.

  1. Set a proper hostname (FQDN that resolves):

    /usr/local/cpanel/bin/set_hostname host.yourbrand.tld

    Then confirm:

    hostname -f
    ping -c1 host.yourbrand.tld
  2. Check DNS resolvers (avoid random ISP resolvers):

    cat /etc/resolv.conf

    On modern systems, this may be managed by NetworkManager/systemd-resolved. Provider resolvers or reputable public resolvers are fine.

    The goal is consistency. Don’t guess or mix unreliable resolvers.

  3. Confirm time sync (SSL and mail hate clock drift):

    timedatectl
    chronyc tracking 2>/dev/null || true

    If you suspect drift, fix it before you issue AutoSSL. See VPS time sync troubleshooting.

Step 2: Create your nameservers without painting yourself into a corner

Reseller hosting lives and dies on DNS. Plan for two nameservers, glue records at the registrar, and A records you can move during migrations.

Option A (common): ns1/ns2 on the same server IPs

This works for a small reseller setup. Know the tradeoff: if the server is down, DNS is down too.

  1. Pick nameserver hostnames:

    • ns1.yourbrand.tld → server IP
    • ns2.yourbrand.tld → same server IP (or a second IP if you have one)
  2. In WHM go to: Home → Server Configuration → Basic WebHost Manager® Setup

    • Set “Primary Nameserver” and “Secondary Nameserver”
    • Set “Contact Email Address” to an address you actually monitor
    • Set “Hostname” if not already set
  3. Configure nameserver IPs in: Home → DNS Functions → Nameserver IPs

    Assign the correct IP for each nameserver hostname.

  4. Create glue records at your domain registrar for ns1 and ns2.

    This step happens outside WHM. Without glue, your domains won’t resolve reliably.

Option B (better): a separate DNS node or cluster

If you plan to sell hosting seriously, you want DNS that survives a web server outage. cPanel DNS clustering is the usual route. For a hands-on build, follow cPanel DNS cluster setup.

Quick DNS sanity checks

# Replace with your brand domain
whois yourbrand.tld | sed -n '1,60p'

dig +short ns yourbrand.tld

dig +short A ns1.yourbrand.tld

dig +short A ns2.yourbrand.tld

Step 3: Build WHM packages that enforce reality (disk, bandwidth, email, processes)

Packages are your guardrails. They protect stability and reduce “but you said unlimited” arguments.

Upgrades are easy. Cleaning up an overloaded server is not.

In WHM: Home → Packages → Add a Package

Suggested starter set (adjust to your hardware):

  • Starter-5GB: Disk 5 GB, Bandwidth 100 GB, FTP 5, Email accounts 20, Databases 5
  • Business-15GB: Disk 15 GB, Bandwidth 300 GB, FTP 15, Email accounts 100, Databases 20
  • Pro-30GB: Disk 30 GB, Bandwidth 600 GB, FTP 50, Email accounts 250, Databases 50

Two package fields matter more than they look:

  • Max hourly email by domain and Max % of failed or deferred messages per hour: use these to limit spam outbreaks. If your WHM exposes them, set conservative caps. Increase only for known, verified senders.
  • Max processes / entry processes (often via CloudLinux or resource management features): if available, set limits. This keeps one account from punishing everyone else.

If you’ve dealt with deliverability before, treat it as part of setup. Don’t leave it for “later.”

Keep these two internal tutorials handy: email deliverability setup and reverse DNS setup.

Step 4: Feature lists that reduce support load (and risk)

A feature list decides what customers can use in cPanel. When it’s right, customers self-serve safely.

When it’s wrong, you spend time undoing avoidable changes.

Start with a conservative default list. Then offer an optional “developer” list.

In WHM: Home → Packages → Feature Manager

Recommended baseline feature list (safe default)

  • Enable: Email Accounts, Forwarders, Autoresponders, Spam Filters, File Manager, FTP Accounts, SSL/TLS Status, Backup (restore only if you provide), Domains (as needed), Databases (as needed)
  • Disable (usually): BoxTrapper, Ruby on Rails (rarely needed), Git Version Control (enable only for dev plans), “Raw Access Logs” (optional), any legacy app installers you don’t support

Pitfall: “Addon Domains” vs “Additional Domains” gets confusing depending on theme and feature flags. Pick a policy and stick to it.

Typical options:

  • One primary domain per account (cleanest for resellers)
  • Multiple domains per account (more support work and more cross-site risk)

Create a “Developer” feature list (optional)

If you sell to agencies, a second feature list can be a clean upsell. Add only what you’re willing to support:

  • Git Version Control
  • Terminal (only if you’re comfortable supporting it)
  • SSH Access (better: keep disabled by default and enable per-account on request)

If you enable SSH for customers, use keys instead of passwords. Pair this tutorial with cPanel SSH key setup.

Step 5: Create reseller accounts with controlled privileges

Resellers should manage customer accounts, not server configuration. Keep permissions tight.

Expand access only when you have a clear reason.

  1. Create the reseller’s cPanel account (owner account):

    WHM → Account Functions → Create a New Account

    • Choose the right package
    • Assign your conservative feature list
    • Set a strong password and require 2FA later
  2. Convert the account to a reseller:

    WHM → Resellers → Reseller Center

    • Select the account and “Add”
    • Grant only what they need (typically: create/suspend/terminate accounts, list accounts, manage DNS zones if you allow it)

Practical rule: Don’t grant “All Features” unless the reseller is your internal team. Every extra checkbox turns into a future ticket.

Step 6: Set account skeleton defaults (public_html, .well-known, security headers)

cPanel uses a skeleton directory when it creates new accounts. Treat it like a template.

Standardize the small stuff once, then stop redoing it per customer.

Typical path (varies):

  • /root/cpanel3-skel/ or /root/cpanel-skel/ depending on server setup

From WHM, look for: Home → cPanel → cPanel Skeleton Directory (menu naming can vary by build).

Recommended skeleton items:

  • A basic public_html/index.html placeholder with support contact info
  • A pre-created public_html/.well-known/ directory (helps some ACME/verification flows)
  • A simple robots.txt that doesn’t block everything by default

If you standardize security headers at the server level, document the policy for customers. If you manage headers per-site, keep an internal baseline and reuse it.

For cPanel environments, see cPanel security headers setup.

Step 7: Turn on 2FA, API tokens, and safe admin habits (without repeating a full hardening guide)

This isn’t a full WHM hardening guide. Reseller hosting still needs a minimum security bar from day one.

  • Require 2FA for WHM admins and resellers: enable cPanel 2FA and enforce it for privileged users.
  • Use API tokens for automation instead of sharing root credentials. See cPanel API token setup.
  • Disable password SSH logins on the server if you can, and use key-based auth.

If you want the full checklist-style lockdown, use our existing hardening tutorial: secure cPanel/WHM without breaking customers.

Step 8: Configure backups with reseller reality in mind (restore speed beats backup size)

Reseller backups usually fail in two ways. They fill the disk, or they don’t restore cleanly when you need them.

Design for restores: one account, one point in time, minimal downtime.

Baseline approach:

  • Daily backups (7–14 days retention) stored off-server
  • Weekly backups (4–6 weeks retention) stored off-server
  • Monthly backups (3–6 months) for business customers

Even if you use cPanel’s built-in backup system, schedule real restore tests. Backups that can’t restore are just large files.

Use VPS backup verification to build a repeatable restore process.

Quick backup checklist for WHM/cPanel resellers

  • Confirm the backup destination isn’t the same disk as /home
  • Confirm you can restore a single cPanel account without restoring the whole server
  • Write down where DNS zones live (cluster vs local) so restores don’t create split-brain DNS
  • Store a copy of critical configs (nameserver settings, feature lists, packages) in a password manager

Step 9: Set email deliverability defaults before your first customer sends mail

Email is where reseller brands get hurt fast. One compromised WordPress site can send enough spam to get your IP flagged.

Minimum deliverability baseline:

  • Correct hostname with matching PTR/rDNS
  • SPF + DKIM + DMARC aligned for each sending domain
  • Reasonable sending limits per domain/account
  • TLS enabled; keep ciphers modern via your OS and cPanel updates

If you manage customer domains through WHM, this tutorial will save you hours: cPanel SPF/DKIM/DMARC setup guide.

Step 10: Onboarding workflow you can repeat (domain, DNS, SSL, cutover)

Once the platform is sane, onboarding becomes the next bottleneck. Don’t wing it.

Use a checklist, and run the same steps every time.

Customer onboarding checklist (copy/paste)

  1. Collect: domain name, current DNS provider, current host access, mail setup (MX records, mailboxes), and SSL details.
  2. Create cPanel account using the right package + feature list.
  3. Set correct DNS zone (A/AAAA, MX, TXT). If the domain uses external DNS, document it before you touch anything.
  4. Issue SSL (AutoSSL or Let’s Encrypt) and verify renewals are working.
  5. Migrate website files + databases, then test via hosts file or temporary URL.
  6. Cut over DNS with lowered TTL (do this before the change, not during).
  7. Monitor: web errors, mail queue, and SSL for 24–48 hours.

If you need a low-drama migration path for WordPress clients moving off shared hosting, use this existing playbook: WordPress migration without downtime, broken SSL, or lost email.

Step 11: Quick diagnostics: the 5 problems resellers hit in month one

These show up early. They usually start after you onboard a few customers and real traffic arrives.

1) “My domain points to the server but I see the wrong site”

  • Check DNS propagation and authoritative nameservers: dig NS yourdomain.tld
  • Confirm the A record points to the correct IP: dig +short A yourdomain.tld
  • Confirm the vhost mapping in cPanel and that the domain is added to the correct account

2) AutoSSL fails or issues the wrong certificate

3) Webmail login loops or blank pages

4) Server load spikes after onboarding a WooCommerce site

5) Outbound mail starts deferring or queues build up

Summary: your reseller baseline for 2026

Reseller hosting stays profitable when you make the right choices once, then reuse them. Keep packages predictable, feature lists conservative, DNS understandable, and backups tested.

Customers won’t notice these decisions on day one. You’ll notice them the first time something breaks.

If you want a VPS sized for reseller workloads with clean WHM control, start with a HostMyCode VPS. If you’d rather not own patching, monitoring, and the sharp edges around mail/SSL/DNS, managed VPS hosting is the calmer option as your reseller brand grows.

If you’re building reseller hosting in 2026, run it on infrastructure you can predict. HostMyCode offers plans that fit WHM/cPanel-style hosting, from a straightforward HostMyCode VPS to hands-on managed VPS hosting for teams that want support with stability, updates, and security.

FAQ

Should I allow unlimited email accounts or unlimited sending in reseller packages?

No. Unlimited email accounts drive storage churn and support load. Unlimited sending is worse.

One compromised site can trash your IP reputation. Set caps, then raise them for verified senders.

Is it okay to host ns1 and ns2 on the same VPS?

It works for small setups, but it’s not redundant. As you grow, move DNS to a separate node or a cPanel DNS cluster so a web outage doesn’t also take out DNS.

What’s the safest default: one domain per cPanel account or multiple domains?

One domain per account is easier to secure, migrate, and restore. Multiple domains per account can work for agencies, but expect more cross-site issues and messier backups.

What’s the first automation step worth doing as a reseller?

Standardize packages and feature lists, then save your onboarding checklist somewhere safe.

If you automate anything, use WHM API tokens (not root passwords) and keep changes auditable.

How do I verify my reseller backups are actually restorable?

Schedule a restore test of a single account into a staging location and validate: the site loads, SSL can re-issue, and mailboxes are present. Run that test monthly at minimum.