Panellicense

How to install CloudLinux OS on an existing cPanel server

Convert a CentOS, AlmaLinux, or Rocky cPanel server to CloudLinux OS in place — license activation, cldeploy, CageFS, and verifying the lve kernel after reboot.

schema: HowToschema: FAQPageschema: BreadcrumbList

This guide converts a running cPanel server from its current base OS (CentOS 7, AlmaLinux 8/9, or Rocky 8/9) to CloudLinux OS without reinstalling. End-to-end you should budget 20 minutes plus one reboot.

It assumes a working WHM, root SSH, and a valid CloudLinux activation key. If you don't have a key yet, grab one from the CloudLinux product page — the single-server licenses activate immediately and you can apply the key during the steps below.

Before you start

CloudLinux ships its own kernel and a userspace agent (lvectl, cagefsctl, clnreg_ks). The deploy script swaps repositories, installs the new kernel alongside the existing one, and registers the server against your account. The original OS kernel stays on disk as a fallback grub entry.

Requirements:

  • x86_64 only — ARM is not supported as of CloudLinux OS 9.
  • 2 GB RAM minimum, 4 GB recommended once CageFS and the PHP Selector alt-php stack are populated.
  • 1 GB free under /usr/share/cagefs-skeleton (CageFS skeleton tree).
  • An active cPanel license — the conversion does not touch cPanel, but you'll be rebooting, so verify your cPanel license is healthy before starting.

Activate the license

The cldeploy script accepts the activation key directly, so you don't need to run clnreg_ks separately on a fresh install. But if you're re-registering an existing host or moving a license between IPs, run it first:

clnreg_ks --activation-key=YOUR-KEY-HERE

A successful registration writes /etc/sysconfig/rhn/systemid and prints the registered hostname. If the command exits with License key is invalid, the key is either typoed, already bound to a different IP, or expired — check the licensee email or contact sales before proceeding.

Run cldeploy

cldeploy is the official conversion script. It detects the current OS, swaps in the CloudLinux repositories, installs the kernel and userspace, and configures grub. From a root shell:

wget https://repo.cloudlinux.com/cloudlinux/sources/cln/cldeploy
sh cldeploy -k YOUR-KEY-HERE

Expect 5-15 minutes depending on disk and network speed. The script is idempotent — if it fails partway, you can re-run it after fixing the underlying issue (usually a held package or a third-party repo conflict).

When it finishes, you'll see:

Please reboot your system to apply changes.

Do not skip the reboot. The userspace tools will load but LVE limits, CageFS, and the alt-php selector all depend on the CloudLinux kernel.

reboot

Verify the new kernel

After the host comes back up, confirm you booted into the CloudLinux kernel:

uname -r

You should see something with .lve in the version string, for example 5.14.0-503.40.1.lve.el9.x86_64. If uname -r still shows the stock AlmaLinux or Rocky kernel, the grub default didn't update — check /boot/grub2/grub.cfg, set the CloudLinux entry as default with grub2-set-default 0, and reboot once more.

Also verify the registration:

cldetect --check-license

A registered server prints License is OK. An unregistered one prints Not registered, in which case re-run clnreg_ks with your key.

Enable CageFS

CageFS is the per-user virtualised filesystem that hides other tenants' processes and files. It's optional on paper but mandatory in practice — without it, the LVE limits still apply but users can ps auxf their way to every other account on the box.

yum install cagefs -y
cagefsctl --init
cagefsctl --enable-all

--init builds the skeleton (about 5 minutes, mostly hardlinking system binaries). --enable-all flips every existing cPanel user into a cage. New accounts created via WHM are caged automatically once CageFS is initialised.

Wire up the cPanel integration

WHM detects CloudLinux automatically after reboot and adds an LVE Manager entry under Plugins. If it doesn't appear, install the integration package manually:

yum install lvemanager -y
/usr/local/cpanel/scripts/check_cpanel_rpms --fix

The LVE Manager plugin gives you per-user CPU, memory, I/O, and process limits, plus the PHP Selector for letting customers pick their own PHP version and extensions. To enable the PHP Selector:

yum groupinstall alt-php -y
cagefsctl --setup-cl-selector

This pulls every supported alt-php version (5.6 through 8.4 as of writing) and registers them with CageFS. It's a ~2 GB download — if you only need a couple of versions, install them individually with yum install alt-php82 alt-php83 instead.

Tune the defaults

The out-of-the-box LVE limits (CPU 100%, memory 1 GB, I/O 1024 KB/s) are too generous for most shared hosting. Drop them to something realistic before you start onboarding customers — the CloudLinux LVE tuning guide covers the specific numbers we recommend for low-density and high-density shared plans.

Next steps

Can I install CloudLinux without reinstalling the OS?+
Yes. The cldeploy script converts an existing CentOS, AlmaLinux, or Rocky install in place by swapping repositories and installing the CloudLinux kernel. The original kernel stays as a grub fallback entry.
Does CloudLinux replace cPanel?+
No. CloudLinux sits underneath cPanel as a kernel and userspace layer. cPanel keeps managing accounts, mail, and DNS; CloudLinux enforces per-user CPU, memory, and I/O limits and isolates users with CageFS.
Will my existing cPanel accounts work after switching to CloudLinux?+
Yes. Accounts, mail, databases, and DNS zones are untouched by the conversion. After reboot you run cagefsctl --enable-all to cage existing users, but no data migration is needed.
How long does the CloudLinux install take on a cPanel server?+
About 20 minutes of active work plus one reboot. cldeploy runs for 5-15 minutes, the reboot is 1-2 minutes, and CageFS initialisation is another 5 minutes for a typical shared host.
What kernel does CloudLinux use on AlmaLinux 9?+
A CloudLinux-patched 5.14 kernel — verify with uname -r after reboot. The version string contains .lve.el9, for example 5.14.0-503.40.1.lve.el9.x86_64.
Can I roll back to AlmaLinux after installing CloudLinux?+
Technically yes, but it's painful — glibc and several core packages get replaced. Always snapshot the VM before running cldeploy so you can revert in one click if something fails.
how to
Add custom binaries to the CageFS skeleton on CloudLinux
Expose Composer, WP-CLI, Node tools, or any custom binary inside CageFS so end users can run them over SSH or cron without leaking the rest of the host.
8 min read
how to
Set up CloudLinux Node.js Selector on a cPanel server
Give shared-hosting customers their own Node.js runtime per app — version 18/20/22, isolated under CageFS, managed from cPanel's Setup Node.js App icon. End-to-end in about 25 minutes.
9 min read
how to
Set up CloudLinux PHP Selector on a cPanel server
Let each cPanel user pick their own PHP version and extensions, without breaking shared-server stability. Install alt-php, enable CageFS, and avoid the three configuration mistakes that turn this into a support flood.
7 min read
how to
Set up CloudLinux Python Selector on a cPanel server
Let shared-hosting customers pick their own Python runtime per app — Django, Flask, or FastAPI on Python 3.9 through 3.12, isolated under CageFS, managed from cPanel. End-to-end in about 30 minutes.
10 min read
how to
Set up CloudLinux AccelerateWP on a cPanel hosting server
Ship one-click WordPress acceleration to every cPanel user. Install AccelerateWP, configure the object cache, set feature policies, and avoid the conflicts that break existing caching plugins.
7 min read
how to
Install Imunify360 on a cPanel and CloudLinux server
A 20-minute install of Imunify360 on a cPanel + CloudLinux node — license activation, the installer, Proactive Defense, and the three default settings to change before letting customers log in.
7 min read
Switch in an afternoon

Switch from your current reseller — free.

We migrate active cPanel, Plesk, LiteSpeed and CloudLinux licenses from any reseller. We prorate the first month so you never pay twice, and your customers see zero downtime during the swap.