Before you order a server for cPanel & WHM, check that it meets cPanel's requirements. A server that is too small installs fine and then struggles as soon as mail scanning and backups start. This guide explains each requirement in plain terms and how to pick a sensible VPS size.
Note: You install cPanel on your own Linux VPS and buy the licence from cPanel or a partner. Licence prices and tiers change, so check cPanel's website for current terms.
Before you start
- Decide roughly how many cPanel accounts and websites you will host, and whether you will run email on the server.
- Have cPanel's official system requirements page open. The figures below match cPanel's documentation at the time of writing, but cPanel updates them with new releases.
Supported operating systems
cPanel & WHM supports a short list of 64-bit Linux distributions. At the time of writing, cPanel's documentation lists:
- AlmaLinux 8, 9 and 10. AlmaLinux 10 needs cPanel version 132 or later, and AlmaLinux 9 needs 114 or later.
- Rocky Linux and CloudLinux releases, each with its own requirements page.
- Ubuntu 24.04 LTS. cPanel supports Ubuntu LTS releases in step with its own LTS versions and retires older ones.
Some points that catch people out:
- ARM is not supported. The server must be x86_64.
- Debian is not supported, and neither are non-LTS Ubuntu releases.
- On Ubuntu, the only nameserver option is PowerDNS.
Tip: For a new server, choose the newest OS on cPanel's list that your software supports. It gives you the longest time before an OS upgrade.
Hardware: RAM, disk and CPU
cPanel's published figures for AlmaLinux and Ubuntu are:
- CPU: 1.1 GHz minimum (2 GHz recommended on Ubuntu).
- RAM: 2 GB minimum, 4 GB recommended, and at least 3 GB if you plan to use ClamAV virus scanning.
- Disk: 20 GB minimum, 40 GB recommended. Installs and updates need at least 5 GB free in
/usr/local/cpanel. - Inodes: on a single-partition server, at least 1,000,000 inodes, plus 50,000 for every cPanel account you plan.
These are the levels at which cPanel will install. They are not the levels at which a busy server runs well.
Clean install, static IP and hostname
A freshly installed OS
cPanel must go on a fresh operating system. Do not install a web server, database or mail server first, because the installer sets up its own versions. There is no uninstaller, so removing cPanel means reinstalling the OS.
A static public IP
The server needs a static IPv4 address. Addresses handed out by DHCP are not allowed, and IPv6-only servers are not supported. A VPS has a static public IP shown in your VPS provider's control panel.
An FQDN hostname
The hostname must:
- be a fully qualified domain name, such as
server.example.com; - resolve to the server's IP;
- be 60 characters or fewer;
- differ from every website domain on the server.
Firewall and SELinux
cPanel recommends turning off the OS firewall (firewalld or UFW) before installing, then adding a cPanel-aware firewall such as CSF. On AlmaLinux and Rocky Linux, SELinux must be disabled.
How to size a VPS for cPanel
Use these as starting points, not promises. Load depends on traffic, PHP code and mail volume.
- Personal or test server (a few sites, little mail): 2 vCPU, 4 GB RAM, 60 GB or more of disk.
- Small agency or reseller (10–30 sites, email on the server): 4 vCPU, 8 GB RAM, 120 GB or more of disk.
- Larger hosting (50 or more accounts, spam and virus scanning): 6–8 vCPU, 16 GB RAM or more, with disk sized at about twice the current site data to leave room for backups.
Things that raise the requirement:
- Email. SpamAssassin and ClamAV use a lot of memory per message.
- Local backups. Each backup can need as much space as the accounts themselves.
- WordPress with heavy plugins. More PHP-FPM workers need more RAM.
Tip: Start one size up from where you think you need to be. Moving accounts to a larger server later is much more work than resizing early.
Check it works
After you order and before you install, confirm the server matches:
cat /etc/os-release
uname -m
nproc
free -h
df -h /
df -i /
hostname -fLook for a supported OS name, x86_64, the expected CPU and RAM, at least the planned disk space and inode count, and an FQDN for the hostname.
Troubleshooting
- Installer says the OS is unsupported: the release is not on cPanel's current list. Reinstall with a supported one.
- Installer stops on low disk space:
/usr/local/cpanelneeds at least 5 GB free during install and updates. Choose a bigger disk. - Server slows down once email starts: spam and virus scanning use RAM. Add memory or move mail to a dedicated provider.
- Hostname rejected: it is the same as a website domain or does not resolve. Use a subdomain like
server.example.comwith its own A record.
Next steps
- Install on the RHEL family: install cPanel & WHM on AlmaLinux.
- Install on Ubuntu: install cPanel & WHM on Ubuntu 24.04.
- Weighing up options first: cPanel vs Plesk.
