Hardware compatibility

CloudLinux supports all the hardware supported by RHEL/CentOS, with few exceptions. Exceptions are usually hardware that require binary drivers, and that doesn't have any open source alternatives.


CloudLinux OS does not support ARM-based CPUs (e.g. Graviton)

There are some incompatible devices with CL 6:

Device Binary Driver Source
B110i Smart Array RAID controller hpahcisr
B120i/B320i Smart Array SATA RAID Controller hpvsa
SanDisk DAS Cache

With RHEL 8 (CloudLinux 8/CloudLinux 7 Hybrid), some devices are no longer supported. You can check the entire list here:

Converting existing servers

It is easy to convert your existing CentOS or AlmaLinux server to CloudLinux. The process takes a few minutes and replaces just a handful of RPMs.

$ wget
$ sh cldeploy -k <activation_key>
  • If you have an IP-based license, run the following commands:
$ sh cldeploy -i
  • Reboot by running the following command:
$ reboot

Once you reboot, you are running CloudLinux kernel with LVE enabled.

  • For CloudLinux 6 — (RHEL) 2.6 kernel
  • For CloudLinux 6 hybrid — (RHEL) 3.10 kernel
  • For CloudLinux 7 — (RHEL) 3.10 kernel
  • For CloudLinux 7 hybrid — (RHEL) 4.18 kernel
  • For CloudLinux 8 — CloudLinux 8 follows the upstream (RHEL) 4.18 kernel mainline. All CloudLinux-specific features are added as a separate module (lve-kmod).

The script automatically detects and supports the following control panels:

It will install CloudLinux kernel, Apache module, PAM module, command line tools as well as LVE Manager.


* For InterWorx cldeploy script installs mod_hostinglimits, lve-utils, lve-stats packages. Find more about LVE Manager installation here


CloudLinux 8 supports cPanel 11.94 and newer, Plesk Obsidian and newer and DirectAdmin out of the box.

ISPmanager 5 has native support for CloudLinux. To deploy CloudLinux on a server with ISPmanager 5, you would need to purchase CloudLinux license directly from ISPSystems and follow ISPmanager's deployment guide.

Starting from version 1.61, at the end of conversion from CentOS 7.x to CloudLinux 7, the cldeploy script converts CloudLinux 7 to CloudLinux 7 Hybrid.

Automatic hybridization will be performed for the AMD processors with the following CPU families:

  • Zen / Zen+ / Zen 2 / Zen 3
  • Hygon Dhyana

See also advanced options for cldeploy


We normally recommend to install lvemanager, lve-utils, lve-stats, and cagefs packages after installing a control panel.
But when you deploy CloudLinux from the ISO image, these packages will be preinstalled. You can reinstall them after installing the control panel.

CLDeploy Explained

By its design, CloudLinux OS is very close to the upstream operating system, CentOS. This makes the conversion process relatively straightforward, requiring just one reboot. Here's what the cldeploy script does when you run it:

  • Backups the original repository settings into /etc/cl-convert-saved.
  • Backups RHEL system ID into /etc/cl-convert-saved (RHEL systems only).
  • Installs CL repository settings & imports CL RPM key.
  • Replaces redhat/centos-release, redhat-release-notes, redhat-logos with CL version.
  • Removes cpuspeed RPM (as it conflicts with CPU limits).
  • Re-installs CL version of rhnlib/rhnplugin.
  • Checks for binary kernel modules, finds replacement if needed.
  • Detects OVH servers and fixes mkinitrd issues.
  • Detects Linode servers and fixes grub issues.
  • Checks if LES is installed.
  • Checks that /etc/fstab has correct /dev/root
  • Checks for efi.
  • Installs CL kernel, lve-utils, liblve, lve-stats RPMs.
  • Installs LVE Manager for cPanel, Plesk, DirectAdmin, and ISPManager*
  • Installs mod_hostinglimits Apache module *:
    • RPM install for Plesk, ISPManager & InterWorx;
    • On Plesk, replaces psa-mod_fcgid* with mod_fcgid;
    • custombuild for DirectAdmin.

CLDeploy Explained - reverting back to CentOS:

Here's what the cldeploy script does, if one runs it to revert the system back to CentOS:

  • Restores CentOS repositories, and centos-release/release-notes/logos.
  • Removes lve, mod_hostinglimits, lve-stats, lvemanager.
  • mod_hostinglimits RPM is removed.

Note that cldeploy doesn't remove the kernel to prevent condition when server has no kernels and wouldn't boot. Instead, we provide the instructions on how you could remove it manually later, when it is safe to do so.

On cPanel servers, rebuild of Apache with EasyApache will complete the conversion back, but doesn't have to be performed immediately. *

On DirectAdmin servers, rebuild of Apache with custombuild will complete the conversion back, but doesn't have to be performed immediately.

Common issues and troubleshooting during conversion

If you receive any troubles during the conversion process, most likely it is because of some licensing CLN (CloudLinux Network)-related issues. Check our troubleshooting guides here to resolve them:


Getting trial license

You will need a trial activation key to be able to convert your CentOS server to CloudLinux. The trial license subscription will work for 30 days.

If you have any issues getting activation key or if you have any questions regarding using your trial subscription – contact and we will help.

To get the activation key:

  1. Register with CloudLinux Network: (skip it if you already registered)
  2. You will receive an email with activation link
  3. Login at
  4. Click on Get Trial Activation Key

You will get a key that looks like: 12314-d34463a182fede4f4d7e140f1841bcf2

Use it to register your system or to convert CentOS server to CloudLinux server.

License activation

To register your server with CloudLinux Network using activation key run:

$ yum install rhn-setup --enablerepo=cloudlinux-base
$ /usr/sbin/rhnreg_ks --activationkey=<activation key>

Where activation key is like 1231-2b48feedf5b5a0e0609ae028d9275c93

If you have IP based license, use clnreg_ks command:

$ yum install rhn-setup --enablerepo=cloudlinux-base
$ /usr/sbin/clnreg_ks --force

Installing new servers

You can download the latest CloudLinux ISO and use it to install CloudLinux on your server:


Once you install server from the ISO, make sure you register your system and then run yum update.


We recommend to reinstall lvemanager, lve-utils, lve-stats, and cagefs packages after installing a control panel.

Mount and boot the image, then follow the steps.

  1. Configure a network connection as shown below.

    • the network name depends on your operating system
    • you can specify your hostname

  2. Configure installation sources:

    • select the On the network installation source and enter the following repository URL: for CloudLinux 6 for CloudLinux 7 for CloudLinux 8.
    • also, in case you'd like to get the latest packages from the Update repository, add the additional Update repository URL: for CloudLinux 6 for CloudLinux 7 and for CloudLinux 8.

  3. Select software: select the Minimal install environment.

CloudLinux OS images

Xen images


We do not provide Xen images of CloudLinux OS anymore, use ISO images instead

Net install

To install CloudLinux over network:

  1. Download & boot using the netboot image from:

For CloudLinux 8:

Alternatively, you can configure your PXE server using following folder as reference:

For CloudLinux 7: It will boot into CloudLinux installer.

Alternatively, you can configure your PXE server using following folder as reference:

  1. During the CloudLinux installation, select URL as installation source and enter URL:

For CloudLinux 8: and continue with installation.

For CloudLinux 7: and continue with installation.

To install CloudLinux 6 instead, use the following URL:

Same URLs can be used to install para-virtualized Xen using either command-line or virt manager.

Provider-specific guidelines


CloudLinux OS image list can be found here

If you are going to use Cloudlinux OS with cPanel image, you may find useful the following article



For H-Sphere 3.5+

Please note, that CageFS and PHP Selector are not supported for H-Sphere


  1. CloudLinux with liblve 0.8 or later.
  2. Apache 2.2.x or 1.3.
  3. mod_suexec should be enabled.

To achieve optimal performance, we recommend to convert from mod_fastcgi to mod_fcgid.

There is no need to install mod_hostinglimits – it comes built in with H-Sphere. Once you load kernel from CloudLinux with liblve 0.8 or later – it will get enabled.

You can check if LVE is enabled by running:

$ ps aux | grep httpd | grep DLIBLVE

If you see no output, it means that Apache didn't pick up LVE. Try checking file /hsphere/shared/scripts/

The following lines should be there:

if [ -e /usr/lib64/ -o -e /usr/lib/ ]; then

If those strings are absent, you should add it, after:


and before:

# this is used by perl module
if [ "$1" = 'show' ] ; then
set | egrep "^APENV_"


Restart Apache afterward.

Converting from mod_fastcgi to mod_fcgid

To achieve the best results in productivity and stability we recommend converting from mod_fastcgi to mod_fcgid.


H-Sphere 3.6.3+

  1. Download our fcgi.conf file:
$ wget -O /hsphere/local/config/httpd2/fcgi.conf
  1. Edit ~httpd2/conf/extra/httpd-hostinglimits.conf to the following state:
LoadModule hostinglimits_module /hsphere/shared/apache2/modules/

<IfModule mod_hostinglimits.c>
SkipErrors Off
AllowedHandlers cgi-script %php% fcgid-script application/x-miva-compiled
DenyHandlers hs-php5-script hs-php53-script hs-php54-script
Include /hsphere/local/config/httpd2/fcgi.conf
  1. Go to P.Servers > web server [Config] and be sure to have enabled:
    • apache_version=2
    • apache_mpm=prefork
    • apache_fastcgi
    • apache_fcgid
    • PHP version/mode: php_fastcgi*


*No changes needed to httpd.conf.tmpl.custom or usermodule.phpmode as this version provides its own mod_fcgid.

Older versions of H-Sphere

  1. Compile mod_fcgid module:
$ yum install gcc liblve-devel zlib-devel openssl-devel 
$ wget
$ tar zxvf mod_fcgid-2.3.9.tar.gz
$ cd mod_fcgid-2.3.9/
$ APXS=/hsphere/shared/apache2/bin/apxs ./configure.apxs 
$ make
$ mv modules/fcgid/.libs/ /hsphere/shared/apache2/modules
  1. Download and apply patch to /hsphere/local/config/scripts/usemodule.phpmode:
$ wget 
$ patch /hsphere/local/config/scripts/usemodule.phpmode usemodule.phpmode.patch
  1. If /hsphere/local/config/httpd2/httpd.conf.tmpl.custom does not exists – create it:
$ cp -rp /hsphere/local/config/httpd2/httpd.conf.tmpl /hsphere/local/config/httpd2/httpd.conf.tmpl.custom

Download and apply patch to the /hsphere/local/config/httpd2/httpd.conf.tmpl.custom:

$ wget 
$ patch --fuzz=3 /hsphere/local/config/httpd2/httpd.conf.tmpl.cusom  httpd.conf.tmpl.patch
  1. Download pre-defined config file to /hsphere/local/config/httpd2:
$ wget -O /hsphere/local/config/httpd2/fcgi.conf
  1. Download our wrapper file into /hsphere/shared/php5/bin/ and make it executable:
$ wget -O /hsphere/shared/php5/bin/php-wrapper
$ chmod 755 /hsphere/shared/php5/bin/php-wrapper
  1. Change permissions for /hsphere/local/home to 755:
$ chmod 755 /hsphere/local/home
  1. Edit ~httpd2/conf/extra/httpd-hostinglimits.conf and add DenyHandlers, so section will look like:
<IfModule mod_hostinglimits.c>
SkipErrors Off
AllowedHandlers cgi-script %php% fcgid-script application/x-miva-compiled
DenyHandlers hs-php5-script hs-php53-script hs-php54-script 
  1. Configure physical server from H-Sphere admin > E.Manager > P.Servers > server_name [parameters] icon, settings should be:
apache_version = 2
apacha_fastcgi = yes
apache_status = yes

  1. Set PHP configuration to:
php_libphp5 enabled but not default
php_fastcgi5 enabled and is default

Other options could be configured according to personal needs.

When done - click SUBMIT to apply changes.


After updating H-Sphere software on web server with CloudLinux you need to re-apply step 2 (patch usemodule.phpmode) and restart apache with /hsphere/shared/scripts/apache-restart script.


How to make CloudLinux work on DigitalOcean:

DigitalOcean doesn't support custom kernels. The droplet (VM) always runs DigitalOcean's kernel. CloudLinux requires its own kernel. To enable CloudLinux work on DigitalOcean droplets, we provide ability to boot into CloudLinux kernel using kexec functionality.

How does this work:

  • cldeploy script checks for presence of /etc/digitalocean. If the file detected, we assume that this is DigitalOcean droplet;
  • kexec-tools are installed;
  • kexec script will be created in /etc/rc.d/init.d/ and set to run right after rc.sysinit.

When executed, script /etc/rc.d/init.d/kexec detects the latest installed CloudLinux kernel, and loads that kernel.

If the system cannot boot into CloudLinux kernel (due to any reason), subsequent reboot will skip kexec, allow droplet to boot into DigitalOceans' kernel.

To disable booting into Cloudlinux kernel, run:

chkconfig --del kexec

To re-enable booting into CloudLinux kernel, run:

chkconfig --add kexec

Adding CloudLinux OS image to DigitalOcean

Custom images are Linux distributions that have been modified to fit the specific needs of DigitalOcean users. You can find some basics of importing a custom CloudLinux OS image below.

Importing custom images to DigitalOcean is free, as you are only charged for the storage of your image. To save money, you can easily import your image, start a Droplet from your image, and delete the image, so you don’t incur any storage costs.

Below, we will describe how to add a qcow2 (QEMU/KVM) CloudLinux OS image as a custom image. You can find more information on image options at

  1. To choose the right image, navigate to Several different images are available for download (with and without a control panel).

  1. Copy the link for the image you are going to use and log into

Click Images on the left of the screen and then choose Custom Images. Click the Import via URL button and paste the CloudLinux OS image link.

There are several options here, but the most important is Choose a datacenter region, i.e. which datacenter region your Droplets should be created in for this image.

Click the Upload Image button and wait until the image is successfully uploaded.

  1. Add your public key to access your droplets using key-based authentication: navigate to the Security sidebar menu and click the Add SSH Key button.

You can find more information about creating/adding SSH keys in this article.

  1. You will then be able to start a CloudLinux OS Droplet using the image.


    Your Droplet will be created in the same datacenter that your custom image resides in.

  1. Now, use your preferred SSH client software to connect to your Droplet. You can find more information on SSH client setup here.


CloudLinux on Linode KVM

To install CloudLinux 7 on Linode KVM server you should perform the following steps:

  1. Deploy CL to your Linode following the steps from this section

  2. Install grub on your system:

yum install grub2
  1. Add to /etc/default/grub the following parameters:
GRUB_SERIAL_COMMAND="serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1"
  1. Update grub config:
grub2-mkconfig -o /boot/grub/grub.cfg
  1. Edit your Linode profile, change the boot settings to GRUB 2 .

  2. Reboot your Linode.

After reboot you will have fully operational CloudLinux 7 system and can proceed with other configuration you need.

CloudLinux on Linode Xen

To install CloudLinux 7 on Linode Xen please perform the following steps:

  1. Deploy CL to your Linode following the steps from this section.

  2. Create the file /boot/grub/menu.lst with the following content:

timeout 5
title CloudLinux 7.1, $KVERSION
root (hd0)
kernel /boot/vmlinuz-$KVERSION root=/dev/xvda1 ro quiet
initrd /boot/initramfs-$KVERSION.img

where $KVERSION is the version of the installed CloudLinux 7 kernel.


You will need to update /boot/grub/menu.lst manually after every kernel update.

  1. Switch boot settings to pv-grub-x86_64 and switch off Auto-configure networking in Linode settings.

  2. Reboot your Linode.

In case if you will migrate to KVM later you will need only switch the boot settings to GRUB 2.

Virtuozzo and OpenVZ


Starting from November 1st, 2019, we do not support Virtuozzo and OpenVZ containers. However, you can run CloudLinux OS on OpenVZ 6 and Virtuozzo 6 hypervisors. The hypervisor virtualization is the same as for Xen/KVM/VMware. Check how to run hypervisors here.


  • Virtuozzo 6 and OpenVZ 6 are supported.
  • Virtuozzo 7 and OpenVZ 7 are not supported.


Kernel 2.6.32-042stab088.4 or later required

CloudLinux provides limited support for OpenVZ and Virtuozzo. At this stage only the following functionality works:

  • CageFS
  • PHP Selector
  • max entry processes
  • mod_lsapi
  • MySQL Governor


VZ Node (needs to be done once for the server):


Make sure all containers are stopped prior to doing this operation. Or reboot the server after the install.


Please make sure you have vzkernel-headers and vzkernel-devel packages installed. If no - install them with yum

yum install vzkernel-headers vzkernel-devel

$ wget -P /etc/yum.repos.d/
$ yum install lve-kernel-module

This will setup LVE module for VZ kernel, as well as DKMS to update that module each time VZ kernel is updated.

After this is done, you can add LVE support for any container on a node, at any time.

To make CloudLinux work inside VZ container, VZ node has to be enabled. This should be done for any container where LVE support needs to be added:

$ vzctl set CT_ID --devnodes lve:rw --save

To disable LVE support for Container:

$ vzctl set CT_ID --devnodes lve:none --save

Inside container, follow standard CloudLinux installation procedures.

CloudLinux license is required for each VZ container.


Some servers require increasing on host node, otherwise CageFS will throw errors.

To increase, on a host node:

  1. add = 15000 to /etc/sysctl.conf;

  2. apply it with sysctl -p command.

In very rare cases the value should be increased higher, up to 50000.

LILO boot loader

CloudLinux can be deployed on servers that don't have grub installed, by installing хороgrub first.

To do that:

  1. Make sure grub and kernel packages are not excluded. Edit file /etc/yum.conf and check exclude= line for presence of kernel* grub*.

  2. Backup lilo config file:

mv /etc/lilo.conf /etc/lilo.conf.bak
  1. Convert to CloudLinux using deploy2cl utility.

  2. Check grub.conf – it should be configured automatically:

# cat /boot/grub/grub.conf
title CloudLinux Server (2.6.18-294.8.1.el5.lve0.7.33)
     kernel /boot/vmlinuz-2.6.18-294.8.1.el5.lve0.7.33 root=/dev/sda1  ro
     root (hd0,0)
     initrd /boot/initrd-2.6.18-294.8.1.el5.lve0.7.33.img
     title linux centos5_64
     kernel /boot/bzImage- root=/dev/sda1  ro
     root (hd0,0)
  1. Install grub to master boot record:
/sbin/grub-install /dev/sda
  1. Reboot and check that you are running CloudLinux. uname -r should show something like: 2.6.18-294.8.1.el5.lve0.7.33.


You can always uninstall CloudLinux OS. In this case, the system will be converted back to CentOS (even if the original system was RHEL)

The following actions will be taken:

  1. LVE related packages will be removed.
  2. CloudLinux repositories & yum plugin will be removed.
  3. CentOS repositories will be set up.

In the end, the script will provide instructions on how to finish the conversion back to CentOS. That will require removal of CloudLinux kernel (manual step), and installation of CentOS kernel (if needed).


Do not forget to free up a CloudLinux OS license by removing the server from the Servers section of your CLN account. After that, if you don't intend to use the license anymore, you can remove it to avoid being billed for it.

To uninstall CloudLinux OS, run:

$ wget -O cldeploy
$ sh cldeploy -c

Now you have converted back to CentOS and it is the time to install kernel.

To delete CloudLinux kernel, run (change the kernel package name to the one you've been using):

rpm -e --nodeps kernel-2.6.32-673.26.1.lve1.4.27.el6.x86_64

To install new CentOS kernel once you deleted CloudLinux kernel, type yum install kernel.

If yum says that the latest kernel is already installed, it is OK.

Please check your bootloader configuration before rebooting the system.

To remove unused kmods and lve libs run:

yum remove lve kmod*lve*

Kernel package and related LVE packages should be deleted and the required kernel will be installed.

Before the reboot, the following command should be executed for restoring Apache and httpd.conf without mod_hostinglimits:

For EasyApache 3:

/scripts/easyapache --build

For EasyApache 4:

/usr/local/bin/ea_install_profile --install /etc/cpanel/ea4/profiles/cpanel/default.json


Some of the packages from CloudLinux repo will still be present. They are the same as CentOS packages, and don't have to be removed. They will be updated in the future from CentOS repositories, as new versions come out.

Migration to EasyApache 4

Advices and limitations

  • Use cPanel 11.55.999.66(55.999.66) or higher version.
  • Hardened EA4 limitations:
    • ea-php51 and ea-php52 have no PHP-FPM support. Please use mod_lsapi instead.

Follow the instructions here to install and configure mod_lsapi.

CentOS with EasyApache 4

If EasyApache 4 was installed earlier on your CentOS server and you would like to migrate to CloudLinux:

  1. Convert server from CentOS to CloudLinux (see these instructions).

  2. Restart Apache service.

CentOS without EasyApache 4

If EasyApache 4 was not installed earlier on your CentOS server and you would like to migrate to CloudLinux:

  1. Convert server from CentOS to CloudLinux (see these instructions).

  2. Run:

cd ~; wget; sh cloudlinux_ea3_to_ea4 --convert

(Find examples of cloudlinux_ea3_to_ea4 script usage below).

CloudLinux without EasyApache 4

Install EasyApache4 on clean CloudLinux from ISO image or migrate to EasyApache4 on existings CloudLinux servers:

  1. Install cPanel.
  2. Run:
cd ~; wget; sh cloudlinux_ea3_to_ea4 --convert

(Find examples of cloudlinux_ea3_to_ea4 script usage below).

More about cloudlinux_ea3_to_ea4 script

About cloudlinux_ea3_to_ea4 migration script parameters:

cloudlinux_ea3_to_ea4 [ADDITIONS] ACTIONS


-h, --help Print this message

Actions (required parameter, shows what should script do):

-c, --convert Convert EA3 to EA4
-r, --revert Revert to EA3

Additions (optional parameter, adds to action installation of extra components):

-m, --mod_lsapi Install mod_lsapi
-p, --mod_passenger Install alt-mod-passenger
-a, --altphp Install/Update alt-php


  • If you want to install EA4 with mod_lsapi and update/install alt-php:
sh cloudlinux_ea3_to_ea4 --convert --mod_lsapi --altphp 
  • If you want to install EA4 with mod_lsapi, alt_mod_passenger and update/install alt-php:
sh cloudlinux_ea3_to_ea4 --convert --mod_lsapi --altphp --mod_passenger
  • To restore EA3 with mod_lsapi:
sh cloudlinux_ea3_to_ea4 --revert --mod_lsapi

See also: FAQ