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](https://www.deployhq.com/blog/linux-distros-for-deployment).

### 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](https://www.deployhq.com/deploy-from-github) 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](https://www.cloudpanel.io) 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](https://hestiacp.com) 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](https://www.deployhq.com/blog/how-to-simplify-workflows-with-deployhq-and-linode-via-hestiacp).

### Control Panel Comparison

| Feature | cPanel | CloudPanel | HestiaCP | [Plesk](https://www.deployhq.com/compare/deployhq-vs-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](https://www.deployhq.com/blog/shared-hosting-vs-vps-a-comprehensive-guide-for-junior-developers) 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](https://www.deployhq.com) can [set up automatic deployments from Git](https://www.deployhq.com/features/automatic-deployments) 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](https://www.deployhq.com/compare/deployhq-vs-cpanel) on Ubuntu, chose AlmaLinux, or went with a free panel, you'll want an automated deployment workflow. [DeployHQ](https://www.deployhq.com) 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](https://www.deployhq.com). (If you're deciding between transfer methods for other targets, our comparison of [SFTP, SCP, and rsync](https://www.deployhq.com/blog/sftp-vs-scp-vs-rsync-choosing-the-right-file-transfer-method) covers the trade-offs.)

1. **Generate an SSH key** in [DeployHQ](https://www.deployhq.com) (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](https://www.deployhq.com/features/build-pipelines) to run it before files transfer. A typical frontend pipeline:

```
npm ci
npm run build
```

[DeployHQ](https://www.deployhq.com) 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](https://www.deployhq.com/blog/build-pipelines-in-deployhq-streamline-your-deployment-workflow). 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](https://www.deployhq.com/blog/deploy-laravel-to-cpanel-shared-hosting) covers the FTP-only path.

### Zero-Downtime Deployments

For production sites that can't take downtime, [DeployHQ](https://www.deployhq.com) supports [zero-downtime deployments](https://www.deployhq.com/features/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](https://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](https://www.deployhq.com/signup)[DeployHQ](https://www.deployhq.com) 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](mailto:support@deployhq.com) or reach out on [X/Twitter @deployhq](https://x.com/deployhq)._

