Creating hosting packages in WHM

A "package" in WHM is a template that defines what every cPanel account created from it can do: how much disk space, how many email accounts, what features are enabled, what cPanel theme they see. Resellers spend most of their setup time getting packages right because every customer they sell gets one. This article walks through creating packages well, including the gotchas that bite new resellers.

Quick conceptual model

  • Package: the template for a cPanel account's resource limits and features. You create a package once, then create accounts from it many times.
  • Feature List: which icons/tools appear in cPanel for that account. You can have multiple feature lists (e.g., a "Basic" list that hides advanced tools and a "Pro" list that shows everything).
  • cPanel Theme: Jupiter is the modern theme. Older themes (Paper Lantern) are deprecated.

Step 1: Plan your tiers before clicking

Most resellers offer 3-5 tiers. Decide on quotas before creating packages so you're not migrating mid-flight. Typical tier shape:

  • Starter: 1 domain, 5 GB disk, 50 GB transfer, 5 databases, 25 email accounts
  • Standard: 5 domains, 20 GB disk, 250 GB transfer, unlimited databases and email
  • Pro: unlimited domains, 50 GB disk, 1 TB transfer, full feature list

Match your tiers to what your customers actually need, not what your competitors offer. The biggest mistake new resellers make is "unlimited" everything — you'll attract customers who use 10x what you allocated for them.

Step 2: Create the package in WHM

  1. Log in to WHM (URL is in your reseller welcome email).
  2. Go to Packages → Add a Package.
  3. Fill in:
    • Package Name: something descriptive like starter or pro. Avoid spaces.
    • Disk Space Quota (MB): in megabytes (5 GB = 5120). Leave blank for unlimited.
    • Monthly Bandwidth (MB): same units. Hard set this — unlimited bandwidth invites abuse.
    • Max FTP Accounts: 5 is enough for most users.
    • Max Email Accounts: 25 for starter tiers; unlimited for higher tiers.
    • Max Databases: hard cap; database count maps directly to backup time.
    • Max Sub Domains, Parked Domains, Addon Domains: set per tier.
  4. Pick a Feature List (you can use the default, or create custom ones in Packages → Feature Manager).
  5. Pick a cPanel Theme: Jupiter.
  6. Save.

Step 3: Set per-account resource limits (CPU, memory, IO)

The package above limits disk and bandwidth, but not CPU or memory. On our reseller infrastructure, those are governed by CloudLinux LVE (Lightweight Virtual Environment). To configure them:

  1. Go to CloudLinux LVE Manager in WHM.
  2. Click on the package name.
  3. Set:
    • CPU: 100% means one full CPU core. 50% gives half a core. Reasonable starter: 100% cap, 25% reserved.
    • Physical memory (PMEM): 1024 MB for starter, 2048 MB for standard, 4096 MB for pro.
    • I/O (KB/s): 1024 KB/s starter, 4096 KB/s pro. Very low values cause WordPress sites to feel sluggish.
    • Inodes: 250000 starter, 500000 pro. Hosts use this to prevent runaway file creation.
  4. Save.

See our companion article on resource limits and overselling for ratio recommendations — the short version is don't allocate more than 4x your physical resources across all packages combined.

Step 4: Create a Feature List (optional but recommended)

Default cPanel shows ~80 icons. Most users use ~10. Hiding the rest reduces support tickets and makes your tier feel more polished.

  1. Packages → Feature Manager → Add Feature List.
  2. Name it (e.g., basic).
  3. Tick only the features you want. Recommended for a basic tier:
    • File Manager, FTP Accounts, Email Accounts, Webmail, Forwarders
    • Subdomains, Addon Domains, Zone Editor, MySQL Databases, phpMyAdmin
    • SSL/TLS Status, Softaculous, MultiPHP Manager
    • Backup, Backup Wizard
  4. Save. Then go back to your package and set the Feature List to your new one.

Step 5: Create accounts from the package

Once a package is defined, creating an account is fast:

  1. Account Functions → Create a New Account.
  2. Fill in domain and contact email.
  3. Pick the package.
  4. Click Create.

cPanel sends a welcome email automatically (customizable in Server Configuration → Customize Email Templates).

Modifying a package later

Changing a package modifies only the template — existing accounts created from it keep their original settings. To apply changes to existing accounts, use Packages → Modify a Package and tick the option to update existing accounts. Watch out: this can suddenly impose new resource limits on accounts that didn't have them before.

Common mistakes

  • Unlimited everything. Leads to one customer using 80% of your resources. Always set hard caps.
  • Same Feature List for every tier. Differentiate — a Pro tier should feel different from Starter.
  • Skipping LVE configuration. Disk and bandwidth limits are useless if a single account can pin a CPU. Set CPU/memory/IO limits.
  • No "demo" account. Create one account with each package and log in to confirm what your customers see. You'll spot bad defaults before they become support tickets.
  • WHM, reseller, packages, CloudLinux, feature lists
  • 0 brukere syntes dette svaret var til hjelp
Var dette svaret til hjelp?

Relaterte artikler

Setting up private nameservers for white-label reseller hosting

If you're running a white-label reseller hosting business on ipxcore, your clients should never...

Resource limits and overselling: avoiding disasters as a reseller

"Overselling" gets thrown around as a dirty word in hosting, but every reseller does it to some...

Migrating accounts between WHM servers

Whether you're moving a single client from your old reseller plan to your new ipxcore one,...

Onboarding your first reseller client: end-to-end workflow

Selling your first reseller hosting account is exciting. Onboarding it badly is how new resellers...

Suspending and terminating reseller accounts (the right way)

Suspending and terminating client accounts is the unglamorous side of running a reseller hosting...