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.)
- Generate an SSH key in DeployHQ (or upload your own) when adding a new server
- Add the public key to your cPanel account under
SSH Access
- 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.neton 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.