A package in WHM is a template of limits: how much disk an account gets, how many domains, mailboxes and databases, and which cPanel features it can use. Every account is created from a package, so building a few good ones first saves you from fixing accounts one by one later. This guide walks through Add a Package and explains each limit.
Before you start
- Root or reseller access to WHM on a cPanel server running on a Linux VPS.
- A rough plan of the plans you want to offer, such as Small, Medium and Large, or one package per client.
- Optional: a feature list built in Feature Manager. See use WHM Feature Manager.
Name packages clearly
Package names appear in account lists, reports and API output. Pick names that say what the package is:
basic-5gb,business-20gb,agency-50gb- or by client type:
wordpress-single,email-only
Avoid spaces and odd characters. Package names are hard to change later because every account refers to them.
Tip: Resellers' packages are automatically prefixed with the reseller's username, for example reseller_basic. This keeps them apart from root's packages.
Open Add a Package
In WHM, go to Home » Packages » Add a Package. Enter the Package Name at the top.
Set the resource limits
Each limit has a numeric field and an Unlimited option.
- Disk Quota (MB): total storage for files, email and databases. Set a real number. Unlimited disk on a VPS means one account can fill the server.
- Monthly Bandwidth (MB): traffic allowance per month. When reached, the sites stop serving until the next month or until you raise it.
- Max FTP Accounts, Max Email Accounts and Max Mailing Lists: set what the plan needs.
- Max Quota per Email Address (MB): caps the size of any single mailbox, so one inbox cannot use the whole quota.
- Max SQL Databases: MySQL or MariaDB databases.
- Max Sub Domains, Max Parked Domains (aliases) and Max Addon Domains: set addon domains to 0 for single-site plans.
- Maximum Hourly Email by Domain Relayed and Maximum percentage of failed or deferred messages: per-package outbound mail limits. They override the server default from Tweak Settings. Set sensible limits to contain spam from a hacked site.
Pick settings and features
Under Settings:
- Dedicated IP: leave unticked unless the package includes its own IP and you have spare IPs.
- Shell Access: leave unticked for most customers. Give SSH only to trusted users, and prefer the jailed shell when you do.
- Feature List: choose the feature list that matches the plan.
defaultgives everything that is enabled server-wide. - Theme: keep the default
jupiter. - Locale: the default language for new accounts.
Click Add to save the package.
Example: a small WordPress package
- Disk Quota: 5000 MB
- Monthly Bandwidth: 50000 MB
- Max Email Accounts: 10, Max Quota per Email Address: 1024 MB
- Max SQL Databases: 3
- Max Addon Domains: 0, Max Sub Domains: 5, Max Parked Domains: 2
- Maximum Hourly Email by Domain Relayed: 200
- Shell Access: off, Feature List: a list without Terminal
These figures are examples, not recommendations for every server. Size packages against your VPS disk and RAM.
Check it works
- Go to Home » Packages » Edit a Package and confirm the package appears with the right values.
- Create a test account with the package (see create a cPanel account in WHM).
- Log in to that cPanel account and check the statistics sidebar shows the expected limits.
You can also list packages from SSH:
ls /var/cpanel/packages/
cat /var/cpanel/packages/basic-5gbTroubleshooting
- Disk limit not enforced: quotas are not enabled on the server. See fix cPanel disk quotas.
- Package missing in Create a New Account: a reseller can only use their own packages, and only if they have the privilege to use them.
- Changing a package did not change existing accounts: edits apply to accounts using the package when you save, but per-account overrides set in Modify an Account stay in place.
- Users see tools they should not: the wrong feature list is attached. Edit the package and choose the right one.
Next steps
- Control which tools appear: use WHM Feature Manager.
- Use the package: create a cPanel account in WHM.
- Give packages to resellers: create a reseller account in WHM.
