Setting up cPanel and WHM means starting from a freshly installed, supported Linux distribution, running cPanel’s own install script as root, working through the WHM first-run wizard to set the hostname and nameservers, creating the first cPanel account, pointing DNS at the server, and letting AutoSSL issue the first certificates - in that order, because each step assumes the one before it finished cleanly. It takes roughly an hour of mostly waiting once the requirements are met, and the requirements are the part people skip: a fresh OS install, a static IP, a registered domain with nameservers you control, and a license, because cPanel is commercial software that stops working without one after the trial period.
This walks the setup in the order it actually happens, not the marketing order, and includes the requirement most guides bury: a single small site rarely needs a panel at all, and knowing when to skip one is as useful as knowing how to install it.
Table of contents
- What you need before running the installer
- Running the install script
- The WHM first-run wizard
- Creating the first account and pointing DNS
- AutoSSL and the certificate step
- Licensing, honestly
- When a panel is overkill
- How this fits the rest of the stack
- FAQ
What you need before running the installer
- A freshly installed, supported OS. cPanel officially supports AlmaLinux and CloudLinux; it must be installed on a clean system, not one already running other web server software, because the installer takes over ports 80/443 and expects to manage the web server itself.
- Enough resources. cPanel’s own minimum system requirements call for multiple CPU cores and several gigabytes of RAM at minimum for a production install - more than a small minimal VPS typically offers if the panel is meant to run more than a couple of low-traffic accounts.
- A static IP address, so DNS records set once do not need to change.
- A registered domain, and access to set its nameservers at the registrar.
- Root access to the server, since the installer and the WHM wizard both require it.
- A license, or acceptance of the free trial’s time limit - see the licensing section below.
Skipping any of these usually surfaces mid-install as a cryptic dependency or port-conflict error rather than a clear message, so it is worth confirming all six before starting.
Running the install script
The install itself is a single command run as root from the server’s home directory, which downloads and executes cPanel’s official installer:
cd /home && curl -o latest -L https://securedownloads.cpanel.net/latest && sh latest
This pulls the current stable release and installs it end to end - web server, mail server, DNS server, FTP, the cPanel and WHM interfaces themselves - which is why it takes on the order of 30 to 60 minutes depending on the server’s network speed and CPU. It should run uninterrupted; a connection drop partway through a first install is one of the more common causes of a broken setup that ends up needing a clean reinstall rather than a resume.
The WHM first-run wizard
Once the install finishes, logging into WHM’s secure port triggers the first-run setup wizard. It asks for the server’s hostname, the nameservers it will present to accounts created on it, the contact email for server notifications, and whether to enable cPanel’s own DNS clustering if there is more than one server. None of these are easy to change later without follow-on cleanup - especially the hostname, which gets baked into the SSL certificates the server issues for itself - so it is worth deciding them before clicking through rather than accepting defaults.
The wizard also prompts for the initial nameserver IP addresses if the plan is to run authoritative DNS from this server rather than delegating to the registrar or a third party. Most single-server setups are simpler running DNS elsewhere and letting WHM manage records through an API, but the option exists and some hosts genuinely want it.
Creating the first account and pointing DNS
A fresh WHM install has no cPanel accounts yet - WHM is the administrative layer, and each site or client gets its own cPanel account underneath it. Creating one from WHM’s account creation page asks for the domain, a username, and a package (a preset bundle of resource quotas - disk space, bandwidth, email accounts - more on what those numbers mean in cPanel packages).
Once the account exists, the domain’s registrar-level nameservers need to point at the server, either at the server’s own DNS (the addresses set in the wizard above) or at a third-party DNS provider with an A record pointing at the server’s IP. DNS propagation is the slow part here - anywhere from minutes to about 48 hours depending on the previous record’s TTL - and nothing past this point works until it resolves.
AutoSSL and the certificate step
cPanel’s AutoSSL runs automatically once DNS resolves to the server, checking each domain on the server and issuing a free domain-validated certificate for it without anyone requesting one manually. It re-checks on a schedule and renews before expiry, which removes the manual certificate renewal that used to be one of shared hosting’s most common outages.
AutoSSL fails silently in one common case worth knowing before it happens: if a domain’s DNS does not yet point at the server, or if a firewall blocks the validation request, the certificate issuance simply does not happen and the site serves over unencrypted HTTP, or an expired or self-signed certificate, with no obvious error in the account owner’s view. Checking AutoSSL’s status in WHM after the first DNS propagation is worth the two minutes it takes.
Licensing, honestly
cPanel is commercial software, licensed per server, with the free trial period covering only initial evaluation - the trial explicitly is not for production use and stops working once it expires. The difference between cPanel and WHM matters here too: WHM is the administrative interface bundled with the same license, not a separate product, so there is one license cost per server regardless of how many cPanel accounts run under it.
This post does not quote a number for the license, because prices change and a stale figure would be worse than none - check cPanel’s own current pricing page before budgeting. What is worth planning for is that the license is a recurring cost on top of the server itself, and it does not scale down for a server running one small site.
When a panel is overkill
cPanel earns its cost when there are multiple client accounts, each needing self-service email, FTP, and database management without involving whoever administers the server - that is the job it was built for, and it does that job well. For a single site, a single developer, and a deploy pipeline that already handles the domain, TLS and environment variables, a panel adds a license fee, a second attack surface to patch, and an interface most of whose features never get touched.
A static site or service deployed straight from a repository gets custom domains, automatic certificates and a file manager without any of the panel install steps above - the honest comparison is the hour of setup and the recurring license against a build-from-repo flow that starts from a git push. None of that replaces cPanel for its actual job of managing many independent client accounts on shared infrastructure; it replaces the specific case of one site that only ever needed a place to deploy, a domain, and a certificate.
How this fits the rest of the stack
Whether the panel earns its keep comes down to how many accounts actually live behind it - one is rarely enough to justify the license and the patching burden, a dozen usually is. For the single-site case, the RunxBuild hosting calculator prices a repository-based deploy with a certificate handled automatically, which is the same end state as the AutoSSL step above without the install, the wizard, or the per-server license.
Useful related references:
- Difference Between cPanel and WHM: Who Uses Which, and Why It Matters
- cPanel Control Panel: What It Does, What It Costs, and When to Skip It
- cPanel Packages: What the Quotas Mean, and How They Translate
- Services on RunxBuild
FAQ
What are the minimum requirements to install cPanel?
A freshly installed, supported Linux distribution (AlmaLinux or CloudLinux), several gigabytes of RAM and multiple CPU cores at minimum for a production install, a static IP address, root access, and a registered domain with nameservers you can configure. cPanel’s own documentation lists current exact minimums per OS.
How long does a cPanel and WHM install take?
The install script itself typically takes 30 to 60 minutes, since it installs the web server, mail server, DNS server and FTP alongside cPanel and WHM. DNS propagation for the first domain afterward can take anywhere from minutes to about 48 hours depending on the previous record’s TTL.
Is WHM free if I have a cPanel license?
WHM is bundled with the same license as cPanel, not sold separately, so there is one per-server license cost regardless of how many individual cPanel accounts run underneath it. cPanel offers a free trial period for evaluation, which is explicitly not intended for production use.
Why did AutoSSL not issue a certificate for my domain?
AutoSSL requires the domain’s DNS to already resolve to the server before it can validate and issue a certificate; if DNS has not propagated yet, or a firewall blocks the validation request, issuance silently fails and the site keeps serving without a valid certificate until the next check.
Do I need cPanel for a single small website?
Usually not. cPanel earns its license cost when multiple client accounts need self-service email, FTP and database management independent of whoever administers the server. A single site deployed from a repository to a managed platform gets a custom domain and an automatic certificate without a panel install or its recurring license.