How to Install cPanel on Ubuntu 24.04 — Plus AlmaLinux and Free Alternatives

Open Source, PHP, Tips & Tricks, and Tutorials

How to Install cPanel on Ubuntu 24.04 — Plus AlmaLinux and Free Alternatives

If you've searched for install cPanel on Ubuntu, here's the short answer that most older guides get wrong: cPanel & WHM now officially supports Ubuntu. As of 2026, cPanel runs on Ubuntu 24.04 LTS (Noble Numbat) alongside its long-standing RHEL-based options — AlmaLinux, Rocky Linux, and CloudLinux. Ubuntu support first landed as an experimental target back in cPanel v98 and has since become a fully supported install path.

There's one important catch: cPanel only supports LTS releases of Ubuntu, and only one LTS at a time. When cPanel qualifies a newer LTS, the previous one is deprecated. That's why guides pinned to Ubuntu 20.04 or 22.04 are now out of date — the currently supported LTS is 24.04. If you're provisioning a fresh server today, use Ubuntu 24.04, not an older release.

This guide covers three practical paths: installing cPanel on Ubuntu 24.04, installing it on AlmaLinux 8/9/10 (still the most battle-tested option for hosting businesses), and — if you'd rather skip cPanel's license fee entirely — a free, modern control panel on Ubuntu.

Which Operating System Should You Use for cPanel?

cPanel's installer checks your OS and version before it will run. Feed it something unsupported and it aborts immediately. Here's the current support matrix and the minimum cPanel version that introduced each OS:

Operating System Supported Versions Minimum cPanel Version
AlmaLinux OS 8, 9, 10 v110 / v114 / v132
Rocky Linux 8, 9 v86 / v102
CloudLinux 8, 9 v86 / v100
Ubuntu (LTS only) 24.04 v110+

A few hard limits worth knowing before you provision, straight from cPanel's requirements:

  • No IPv6-only servers. At least one IPv4 address is mandatory.
  • No ARM. Only x86_64 (64-bit) architecture is supported.
  • LTS-only on Ubuntu. Non-LTS Ubuntu (e.g. 24.10) will be rejected.
  • CentOS is gone. CentOS 7 hit end-of-life in June 2024 and CentOS Stream was never supported — AlmaLinux is the drop-in successor.

So which should you pick? If you're starting fresh and want the widest track record, third-party plugin compatibility, and the most community troubleshooting material, AlmaLinux 9 (or 10) is the safe default. If your team already runs Ubuntu everywhere and you want one consistent distro across your fleet, Ubuntu 24.04 is now a first-class option. For a deeper look at the trade-offs between these distros in a production context, see our breakdown on choosing a Linux distro for production deployments.

Server Requirements

Requirements are effectively identical across Ubuntu and the RHEL-based options:

Resource Minimum Recommended
RAM 2 GB 4 GB (3 GB+ if using ClamAV)
Disk Space 20 GB 40 GB (plus ~5 GB free in /usr/local/cpanel during install)
CPU 1.1 GHz 2 GHz
Architecture x86_64 x86_64
Network Static IPv4 Static IPv4 with rDNS configured

Your server must be a fresh installation — cPanel expects a clean OS with no pre-existing web server, mail server, or control panel. If you're repurposing a box, reinstall the OS first.

Path A: Installing cPanel on Ubuntu 24.04

Most cloud providers (DigitalOcean, Vultr, Linode, Hetzner, OVHcloud) offer Ubuntu 24.04 LTS as a one-click image. Provision a clean instance that meets the requirements above, then follow these steps.

Step 1: Prepare the Server

Connect via SSH and update packages:

ssh root@your-server-ip
apt update && apt upgrade -y

Set a fully qualified domain name (FQDN). cPanel uses this hostname for its own services, so it should be a subdomain you control — not your primary website domain:

hostnamectl set-hostname server.yourdomain.com
hostname -f
# Expected output: server.yourdomain.com

Make sure curl is available (it usually is on Ubuntu):

apt install -y curl

Step 2: Run the Installer

cPanel uses the same installer script on Ubuntu as on AlmaLinux — it detects the OS automatically:

cd /home
curl -o latest -L https://securedownloads.cpanel.net/latest
sh latest

Installation takes 30 to 60 minutes depending on the server. The installer downloads and compiles a large number of packages, and you'll see continuous output — don't interrupt it. On completion you'll get the WHM access URL:

Thank you for installing cPanel & WHM!
Visit https://your-server-ip:2087 to configure your server.

Step 3: Initial WHM Configuration

Open https://your-server-ip:2087. You'll hit a certificate warning (cPanel generates a self-signed cert during install) — proceed past it and log in with your root credentials. The Setup Wizard walks you through license agreement, contact email, DNS resolvers (Cloudflare's 1.1.1.1 or Google's 8.8.8.8 are reliable), FQDN/IP confirmation, nameservers, and which services to enable. Afterward, issue a real certificate for WHM/cPanel using the built-in AutoSSL (WHM → Manage AutoSSL).

On Ubuntu, cPanel manages the firewall through its own tooling once installed. During the run, ensure ports 22 (SSH), 2086/2087 (WHM), and 2082/2083 (cPanel) stay reachable so you don't lock yourself out.

Once cPanel is live, you'll want deploys to land automatically instead of dragging files over FTP. You can deploy from GitHub to your new server over SSH in a few minutes — connect the repo once and every push ships.

Path B: Installing cPanel on AlmaLinux (8, 9, or 10)

AlmaLinux remains the most common choice for cPanel hosting businesses, and cPanel added AlmaLinux 10 support in v132 (joining 8 and 9). The flow mirrors the Ubuntu path — only the package manager commands differ.

Step 1: Prepare the Server

ssh root@your-server-ip
dnf update -y
hostnamectl set-hostname server.yourdomain.com
hostname -f
dnf install -y perl curl

Perl is required by the installer on RHEL-based systems, so install it explicitly.

Step 2: Configure the Firewall

cPanel ships its own firewall stack — CSF/LFD (ConfigServer Security & Firewall + Login Failure Daemon) — which replaces firewalld. You don't need to disable firewalld manually; the installer handles the transition. Just make sure ports 22, 2086/2087, and 2082/2083 are open going in.

Step 3: Run the Installer

cd /home
curl -o latest -L https://securedownloads.cpanel.net/latest
sh latest

Step 4: Verify and Secure

Once WHM is configured, confirm the core services are healthy and CSF is active:

/scripts/restartsrv_httpd
/scripts/restartsrv_mysql
whmapi1 version
csf -v

CSF/LFD gives you hosting-oriented protection out of the box: brute-force detection with automatic IP blocking, per-IP connection limits, SYN-flood mitigation, and country-based allow/deny lists — which is why swapping out firewalld doesn't leave you exposed.

Path C: Free Ubuntu-Compatible Control Panels

If you don't need cPanel's specific ecosystem (WHM reseller accounts, cPanel-only plugins) and would rather avoid the monthly license, two modern panels run natively on Ubuntu — for free.

CloudPanel

CloudPanel is a free, high-performance panel built for Debian and Ubuntu. It's lightweight and covers the most common hosting tasks:

  • Web-based management with Nginx vhosts
  • PHP, Node.js, Python, and static site support
  • MySQL/MariaDB management
  • Let's Encrypt SSL automation
  • File manager, cron management, log viewer

Install on Ubuntu 22.04 or 24.04:

apt update && apt upgrade -y
curl -sS https://installer.cloudpanel.io/ce/v2/install.sh -o install.sh
sudo bash install.sh

Installation takes ~5–10 minutes. Access the panel at https://your-server-ip:8443 and create your admin account. CloudPanel is the cleanest choice for single-site or developer-focused hosting on Ubuntu.

HestiaCP

HestiaCP is a free, open-source panel forked from the now-abandoned VestaCP (development stopped after security vulnerabilities surfaced in 2018). It supports Ubuntu 22.04 and 24.04 and is the closest free equivalent to cPanel's feature set — including mail and multi-user hosting:

  • Web hosting management (Apache/Nginx)
  • Mail server with antivirus and antispam
  • DNS server management
  • MySQL/PostgreSQL databases
  • Let's Encrypt integration and multi-user hosting packages

Install on Ubuntu 22.04 or 24.04:

wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
sudo bash hst-install.sh --hostname server.yourdomain.com --email admin@yourdomain.com

For a full walkthrough of pairing HestiaCP with a Git workflow, see our guide on automated Git deployments with HestiaCP on Linode.

Control Panel Comparison

Feature cPanel CloudPanel HestiaCP Plesk Webmin
Ubuntu Support Yes (24.04 LTS) Yes Yes Yes Yes
AlmaLinux Support Yes (8/9/10) No Yes Yes Yes
License Cost $15.99/mo+ Free Free $14.50/mo+ Free
Web Hosting Yes Yes Yes Yes Limited
Mail Server Yes No Yes Yes Via config
DNS Management Yes Yes Yes Yes Via config
Database GUI phpMyAdmin Built-in phpMyAdmin Built-in Via module
SSL Automation AutoSSL Let's Encrypt Let's Encrypt Let's Encrypt Manual
Multi-User WHM No Yes Yes Usermin
Reseller Support Yes No Yes (basic) Yes No
Learning Curve Medium Low Low–Medium Medium High

Bottom line: For reseller hosting with client isolation, cPanel (on Ubuntu 24.04 or AlmaLinux) or HestiaCP are your best bets. For single-site or developer hosting, CloudPanel is the leanest option.

cPanel Licensing and Cost Breakdown (2026)

cPanel moved to a monthly, account-tiered licensing model in 2019, and prices have risen several times since. Current pricing direct from cPanel:

Plan Monthly Cost Accounts Included Additional Accounts
Solo $15.99/mo 1 account Not available
Admin $27.99/mo Up to 5 accounts Not available
Pro $41.99/mo Up to 30 accounts Not available
Premier $55.99/mo Up to 100 accounts $0.30/account/mo

Some hosts and license resellers offer 20–40% discounts. On top of the license, budget for the server itself:

Provider Minimum VPS for cPanel Monthly Cost Total with cPanel Solo
DigitalOcean 4 GB RAM droplet $24/mo ~$40/mo
Vultr 4 GB RAM instance $24/mo ~$40/mo
Hetzner CPX21 (4 GB RAM) ~$7/mo ~$23/mo
OVHcloud VPS Starter ~$12/mo ~$28/mo

If you're weighing this against managed shared hosting, our comparison of shared hosting vs a VPS breaks down when the control (and cost) of your own server is worth it. Compared to the free panels: CloudPanel or HestiaCP on a $5–12/month Ubuntu VPS delivers most of the same functionality. The main reasons to pay for cPanel are WHM reseller support, the plugin ecosystem, and familiarity when migrating from shared hosting.

However you host, you'll want deploys automated rather than manual. DeployHQ can set up automatic deployments from Git to any cPanel, CloudPanel, or bare Linux server, so a git push becomes a live release.

Deploying to Your Server with DeployHQ

Whether you ran cPanel on Ubuntu, chose AlmaLinux, or went with a free panel, you'll want an automated deployment workflow. DeployHQ connects to your server and ships code from your Git repository on every push — no manual uploads.

Setting Up SSH/SFTP Deployment

cPanel servers accept SSH connections, the recommended protocol for DeployHQ. (If you're deciding between transfer methods for other targets, our comparison of SFTP, SCP, and rsync covers the trade-offs.)

  1. Generate an SSH key in DeployHQ (or upload your own) when adding a new server
  2. Add the public key to your cPanel account under SSH Access
  3. Configure the server in DeployHQ:
Setting Value
Protocol SSH/SFTP
Hostname your-server-ip or domain
Port 22
Username your cPanel username
Deployment Path /home/username/public_html

For addon domains or subdomains, adjust the path accordingly — e.g. /home/username/subdomain.com.

Build Pipelines and Post-Deploy Commands

If your project needs a build step (bundling assets, installing dependencies), configure a build pipeline to run it before files transfer. A typical frontend pipeline:

npm ci
npm run build

DeployHQ runs this in a clean build environment and deploys only the compiled output — so you don't need Node.js on your cPanel server. For a full example, see how to configure build pipelines in DeployHQ. You can also run commands on the server after each deploy:

# Clear PHP opcache
php -r "opcache_reset();"

# Laravel example
php artisan migrate --force
php artisan cache:clear

Deploying a PHP app to shared cPanel hosting without SSH? Our walkthrough on how to deploy a Laravel app to cPanel shared hosting covers the FTP-only path.

Zero-Downtime Deployments

For production sites that can't take downtime, DeployHQ supports zero-downtime deployments using an atomic symlink strategy: each deploy lands in a fresh release directory, then the live symlink is swapped instantly — with one-click rollback if anything goes wrong.

Troubleshooting Common Issues

Installation Fails with Unsupported Operating System

You're on an OS or version cPanel doesn't support — most often a non-LTS Ubuntu (like 24.10), a deprecated LTS (20.04/22.04), or plain Debian. Reprovision with Ubuntu 24.04 LTS or AlmaLinux 8/9/10, or use a free panel like CloudPanel or HestiaCP.

License is Not Active After Installation

cPanel verifies your license during install. Common causes:

  • Your server IP isn't registered to a license yet — purchase or start a trial at store.cpanel.net.
  • Your server's IP changed since the license was issued — update it in your cPanel Store account.
  • A firewall is blocking outbound access to verify.cpanel.net on port 2089.

WHM/cPanel Interface Not Loading

If https://your-ip:2087 won't load:

/scripts/restartsrv_cpsrvd
ss -tlnp | grep -E '2086|2087|2082|2083'
csf -g your-local-ip

If LFD blocked your IP after failed logins, clear and whitelist it:

csf -dr your-local-ip
csf -a your-local-ip

High Memory Usage After Installation

cPanel runs many services at once (Apache, MySQL, Exim, cPHulk). On a 2 GB box you'll see high memory right after install. Fixes:

  • Move to at least 4 GB RAM
  • Disable services you don't use (Exim if you use external email, SpamAssassin, ClamAV)
  • Switch from Apache to LiteSpeed or Nginx via WHM

MySQL/MariaDB Won't Start

Usually a memory issue on low-RAM servers. Check the log:

tail -50 /var/log/mysqld.log

If you see InnoDB: Cannot allocate memory, lower the buffer pool in /etc/my.cnf, then restart:

[mysqld]
innodb_buffer_pool_size = 128M
/scripts/restartsrv_mysql

Frequently Asked Questions

Can I install cPanel on Ubuntu?

Yes. cPanel & WHM officially supports Ubuntu 24.04 LTS. Support is limited to LTS releases, and only the most recent qualified LTS at a time — so use 24.04, not the older (now deprecated) 20.04 or 22.04. If you'd rather not pay for a license, CloudPanel and HestiaCP are free Ubuntu alternatives.

Which Ubuntu version does cPanel support?

Currently only Ubuntu 24.04 LTS (Noble Numbat). When cPanel qualifies a newer LTS, it deprecates the previous one, so always match your Ubuntu release to cPanel's current supported LTS before provisioning.

Does cPanel support AlmaLinux 10?

Yes — AlmaLinux 10 is supported as of cPanel v132. AlmaLinux 9 (v114+) and 8 (v110+) remain supported too.

Is there a free version of cPanel?

cPanel offers a 15-day free trial but no permanent free tier; licenses start at $15.99/month. For a free alternative, CloudPanel and HestiaCP cover most of the same core functionality.

What happened to VestaCP?

Development was abandoned after security vulnerabilities were found in 2018. It was forked as HestiaCP, which is actively maintained and is the recommended successor.

How do I deploy code to my cPanel server automatically?

Use a deployment automation tool like DeployHQ: connect your Git repository, add your cPanel server as an SSH/SFTP target, and every push to your chosen branch deploys automatically — no manual FTP.


Need to automate deployments to your hosting server? Sign up for DeployHQ free and connect your Git repository to your server in minutes — whether you're running cPanel on Ubuntu, AlmaLinux, CloudPanel, or managing your server by hand.

Questions? Email us at support@deployhq.com or reach out on X/Twitter @deployhq.