CloudLinux

Convert AlmaLinux to CloudLinux on a DirectAdmin, Plesk or panel-less server

Convert an AlmaLinux or Rocky server to CloudLinux OS with cldeploy, then set up LVE limits, CageFS and PHP Selector on DirectAdmin, Plesk or a server without a panel.

AdvancedVPS / dedicated servers2 min read

CloudLinux OS adds per-account resource limits (LVE), file system isolation (CageFS) and PHP Selector to a standard RHEL-compatible server. An existing AlmaLinux or Rocky Linux server can be converted in place. This guide covers DirectAdmin, Plesk and servers without a panel; for cPanel see install CloudLinux on a cPanel server. Why it matters: what CloudLinux does.

Before you start

  • OS: AlmaLinux or Rocky Linux 8 or 9, 64-bit, fully updated. CentOS 7 conversions are legacy.
  • Licence: a CloudLinux OS activation key, or an IP-based licence from your provider.
  • Kernel: a standard boot setup the converter can manage. Some VPS types (OpenVZ/LXC) cannot run CloudLinux; KVM and dedicated servers can.
  • A full backup or snapshot, and console access in case the reboot fails.

Prepare the server

  1. Update everything and reboot into the latest kernel:
    dnf -y update && reboot
  2. Make sure the control panel is fully up to date (DirectAdmin CustomBuild ./build update_versions; Plesk plesk installer update).

Convert to CloudLinux

  1. Download the converter:
    wget https://repo.cloudlinux.com/cloudlinux/sources/cln/cldeploy
  2. Run it with your key (or -i for an IP-based licence):
    sh cldeploy -k YOUR-ACTIVATION-KEY
  3. When it finishes, reboot into the CloudLinux kernel:
    reboot
  4. Confirm the conversion:
    cat /etc/redhat-release && uname -r
    The release should read CloudLinux and the kernel should contain lve (on CloudLinux 8/9 the standard kernel includes LVE support).

Install the management tools

dnf -y install lvemanager lve-utils lve-stats cagefs alt-php*

Then initialise CageFS and enable it for all users:

cagefsctl --init
cagefsctl --enable-all

Panel-specific steps

  • DirectAdmin: enable CloudLinux support in CustomBuild and rebuild PHP so PHP Selector works:
    cd /usr/local/directadmin/custombuild
    ./build set cloudlinux yes
    ./build set cagefs yes
    ./build update
    ./build rewrite_confs
    CloudLinux Manager then appears at admin level.
  • Plesk: CloudLinux Manager appears under Extensions after installing lvemanager. Set default limits there and enable PHP Selector for subscriptions.
  • No panel: manage limits on the command line with lvectl, for example lvectl set-user USERNAME --speed=100% --pmem=1G --maxEntryProcs=20.

Post-install settings

  • Set sensible default limits (CPU, physical memory, entry processes, I/O) in CloudLinux Manager.
  • Enable PHP Selector and choose the default alt-php version.
  • Turn on the notification emails for users who hit limits.

Verify

  • lvectl list shows default limits; lveinfo starts collecting statistics.
  • cagefsctl --list-enabled lists users in CageFS.

Troubleshooting

  • cldeploy fails on registration: the key is wrong or the IP licence is not active yet; check with your provider.
  • Server does not boot after conversion: pick the previous kernel from the console boot menu and contact CloudLinux support with the cldeploy log in /var/log/cldeploy.log.
  • PHP Selector shows no versions: install alt-php* packages and refresh with cagefsctl --force-update.

Next steps

Was this guide helpful?

Still stuck?

Ask MdmHost AI for a quick answer, or open a ticket and our team will take a look. We are here 24/7.