CloudLinux OS supports all the hardware supported by RHEL/CentOS/AlmaLinux, with few exceptions. Exceptions are usually hardware that require binary drivers, and that doesn't have any open source alternatives.
Note
CloudLinux OS does not support ARM-based CPUs (e.g. Graviton).
Warning
In cases where your server hardware is incompatible with any version of RHEL/CentOS/AlmaLinux and CloudLinux OS or our components - we will not be able to provide assistance in adding such hardware support or solving possible issues related to such installation.
Note
Replacing the server hardware affects specifications and support for such hardware from CloudLinux OS end. It is most likely that the CloudLinux OS will stop working if you replace any hardware component on the server.
Example: the same HDD/SSD/NVMe model will have a new UUID and CloudLinux OS is mapped to old UUID which break the boot procedure.
In this case, we are not responsible for the CloudLinux OS operation and cannot assist you in restoring the server or adapting CloudLinux OS installation to the new hardware.
There are some incompatible devices with CL6:
Device | Binary Driver | Source |
B110i Smart Array RAID controller | hpahcisr | https://h10032.www1.hp.com/ctg/Manual/c01754456 |
B120i/B320i Smart Array SATA RAID Controller | hpvsa | https://www8.hp.com/h20195/v2/GetPDF.aspx/c04168333.pdf |
SanDisk DAS Cache | https://www.dell.com/en-us/work/learn/server-technology-components-caching |
With RHEL8 (CloudLinux OS 8/CloudLinux OS 7 Hybrid), some devices are no longer supported. You can check the entire list here: Hardware enablement considerations in adopting RHEL 8
You will need a trial or payed activation key to be able to use your CloudLinux OS Solo server.
The trial activation key can be used to convert your server to CloudLinux OS.
Note
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 sales@cloudlinux.com and we will help.
To get the activation key:
Get Trial Activation Key
You will get a key that looks like: 12314-d34463a182fede4f4d7e140f1841bcf2
Sometimes it is required to convert already existing servers with CentOS
or AlmaLinux
and make them CloudLinux OS
.
It is easy to convert your existing installation by cldeploy script. The process takes a few minutes and replaces just a handful of RPMs.
WARNING
Unlike Fresh installation, converting immediately requires CloudLinux OS license. Please refer to the guide to get activation key.
Currently supported OS for conversion:
Unsupported OS for conversion:
Supported control panels:
Other control panels:
Control panels not mentioned in the list of supported panels have native integration or integration by the developer of such a panel. We cannot guarantee the stability or correct operation of CloudLinux components on such panels.
Warning:
Some CloudLinux components may not be supported by the control panel itself or the control panel has its own analog of such a component. You can verify this information when reviewing the system requirements for installing a particular CloudLinux component.
CentOS 8 reached End Of Life (EOL) on December 31st, 2021. If you would like to convert from CentOS 8 to CloudLinux OS 8, do the following:
If you want to use your activation key for activation, run the following commands:
yum install wget -y
wget https://repo.cloudlinux.com/cloudlinux/sources/cln/cldeploy
bash cldeploy -k ACTIVATION_KEY
Where ACTIVATION_KEY
is the one that you got on previous step.
Your CloudLinux OS edition will be detected automatically based on the ACTIVATION_KEY
If your reseller provides you ip-based license, run the following commands:
To convert server into the CloudLinux OS Shared edition:
$ sh cldeploy -i
To convert server into the CloudLinux OS Admin edition:
$ sh cldeploy -i --to-admin-edition
After successful conversion, reboot your system by running the following command:
reboot
Once you reboot - your server should be running with CloudLinux OS LVE kernel.
You may check the booted kernel with the following command:
$ uname -r
Note
If after rebooting you do not see the CloudLinux kernel (the kernel has the abbreviation LVE in its name) then please consider check our knowledgebase or contact support.
Note
SELinux is not supported on CloudLinux OS 6 and 7. SELinux is supported on CloudLinux OS 8+, but might not work or be compatible with control panels and various components.
Note
At the end of conversion from CentOS 7.x to CloudLinux OS Shared 7, the cldeploy script converts CloudLinux OS Shared 7 to CloudLinux OS Shared 7 Hybrid.
Automatic hybridization will be performed for the AMD processors with the following CPU families:
Automatic hybridization may be skipped by passing extra option '--no-force-hybridize'. See also advanced options for cldeploy.
If you receive any troubles during the conversion process, please feel free to search our knowledgebase or contact our support and attach the conversion log (/var/log/cldeploy.log).
CloudLinux 9 uses non-modified AlmaLinux 9 kernel.
To make secure boot work with CloudLinux's kernel module you need to enroll CloudLinux secure boot key to your server.
This procedure shows how to do it
wget https://repo.cloudlinux.com/cloudlinux/SECURE-BOOT-KEY-cloudlinux-kmod.der
mokutil --import SECURE-BOOT-KEY-cloudlinux-kmod.der
Select Enroll MOK
Select View key 0
Make sure that CloudLinux's Secure Boot Key information is displayed
Press the Esc key when you are finished
Select Continue
on the screen from Step 2
It will ask "Enrol the key(s)?".
Select Yes/OK
Enter the password you used for importing the key (point 2.ii)
Select Reboot
(Older versions may say Continue boot
)
Now you can enable Secure Boot in BIOS options menu
mokutil --sb-state
to check current Secure Boot statemokutil --list-enrolled
to show list of enrolled keysWarning
Do not delete the key when secure boot is enabled - server will be unable to boot
mokutil --delete SECURE-BOOT-KEY-cloudlinux-kmod.der
mokutil --list-delete
(to check the key to be deleted)By its design, CloudLinux OS Shared is very close to the upstream operating system - RHEL. This makes the conversion process relatively straightforward, requiring just one reboot.
Here's what the cldeploy script does when you run it:
/etc/cl-convert-saved
./etc/cl-convert-saved
(RHEL systems only)./etc/fstab
has correct /dev/root
Here's what the cldeploy script does, if one runs it to uninstall CloudLinux:
Note
cldeploy doesn't remove the kernel to prevent condition when server has no kernels and wouldn't boot. Instead, script 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.
More information is also available here: Uninstall CloudLinux.
All CloudLinux OS editions may be installed using one ISO and source.
You can download the latest CloudLinux OS ISO and use it to install CloudLinux OS on your server:
CloudLinux OS 9
CloudLinux OS 8
CloudLinux OS 7
CloudLinux OS 6
There are multiple ISO types available:
CloudLinux-*-boot.iso
- this ISO is made specifically for network installation and does not contain any packages inside.CloudLinux-*-dvd1.iso
- this one contains all packages from network installation repository,
so you can set up any possible configuration without network access.CloudLinux-*-minimal.iso
- this one contains only minimal set of packages to set up light server without GUI and Development tools.The graphical installation interface is the preferred method of manually installing CloudLinux OS. It allows you to have full control over all available settings, including disk partitioning and storage configuration.
The graphical mode is used by default when you boot the system from the local media. Mount and boot the image, then follow the steps.
The first screen displayed is the language selection page.
First, find your preferred language in the left column and than select locale in the right one. Selected language will be used during installation and also as a default language of the installed system.
After you select your language and locale, click Continue
to confirm your selection
and proceed to the Installation Summary.
The Installation summary screen is the main dashboard of your installation parameters. Most of the options which can be configured during the installation can be accessed from here.
The summary screen displays links to other configuration screens, those links can be in several different states, which are graphically indicated:
Grayed out link means that the installer is currently updating this sections. Please wait a little before accessing this section.
A warning symbol next to an icon means that a screen requires your attention before you start the installation.
Links without warning symbol mean that screen does not require your attention. You can still change your settings in these screens, but it is not required to start installation.
The first thing that you should define is where the system will be installed from. There are basically two options:
Use this option to download packages to be installed from a network location. This is the preferred way as you automatically receive all critical bug fixes that may affect installation.
Note
Most likely your network is not configured by default, so you can see the URL configuration field greyed out, like on the screenshot below. Please refer to the Network Configuration screen first to set up a network connection.
The correct installation URL for CloudLinux OS is
https://repo.cloudlinux.com/cloudlinux/8/BaseOS/x86_64/kickstart/
Type in installation URL in the corresponding field, configure proxy if needed and press the Done
button.
This option is primary used as an alternative when you don't have internet connection on a target server. It is only available if you downloaded Minimal or DVD ISO which contains some bundled packages in.
Tick the ISO file
checkbox and press the Done
button.
After clicking Done
, you will be redirected to the Installation Summary screen
where Installation source and Software Selection links
will be greyed and the Downloading package metadata
message wll be shown.
Please hold on while that message disappears and proceed to the Software Selection section.
The Software Selection screen allows you to choose a Base Environment and Add-ons. These options control which software packages will be installed on your system during the installation process.
This screen is only available if Installation Source is properly configured and only after the installer has downloaded package metadata from the source.
It is not possible to select specific packages during a manual installation, you can only select pre-defined environments and add-ons.
You should choose the CloudLinux edition that matches your license on this stage:
The available options are:
CloudLinux OS Shared/Pro (minimal)
environment on the left of the screen.CloudLinux OS Admin (minimal)
environment on the left of the screen.CloudLinux OS Solo (minimal)
environment on the left of the screen.Then, on the right side of the screen, select one or more add-ons which you want to install by ticking the check boxes next to each add-on.
Installation is almost done, all you need to do is to configure your installation target
using the Installation Destination
menu and create your Root Password.
Doing that, the Begin installation
button becomes blue, so click it.
After this point, the installation process actually starts and changes are being made to your selected disks. It is not possible to go back to the Installation Summary and change any settings configured there; if you need to do so, you must wait for the installation process to finish, reboot your system, log in and change your settings on the installed system.
The bottom of the screen shows a progress bar and a message informing you of the current progress of the installation. When the installation finishes, you can press the Finish installation button to reboot your computer and log in to your newly installed system.
Warning
Before you finish the installation and reboot, either remove the media which you used to start the installation, or make sure that your system tries to boot from the hard drive before trying removable media. Otherwise, your computer will start the installer again instead of the installed system.
Reboot your system, login and check EULA which is located in the /usr/share/cloudlinux-release/EULA
.
Next, activate your installation in order to get updates.
To register your CloudLinux OS server with CloudLinux Network using activation key, run the following command:
$ yum install rhn-setup
$ /usr/sbin/rhnreg_ks --activationkey=<activation key>
Where <activation key> is like 1231-2b48feedf5b5a0e0609ae028d9275c93
If you have IP based license, use the clnreg_ks
command instead:
$ yum install rhn-setup
$ /usr/sbin/clnreg_ks --force
We build and release CloudLinux 7.9 and CloudLinux 8.6 for Azure and upload to the Mircosoft Azure Community Galleries.
Images are built in both types Azure supports: gen1 (BIOS based) and gen2 (UEFI based). CloudLinux Images could be found in the following regions: West Europe, Germany West Central, Southeast Asia, East US, West US 2. A publisher of CloudLinux Images in Azure is cloudlinux. Community gallery name is cloudlinux-cbc76afd-63bc-4f6e-b801-65bd2f1ab0a0.
How to use CloudLinux Image in Azure:
Note
We do not provide Xen images of CloudLinux OS Shared anymore, use ISO images instead
CloudLinux OS Shared image list can be found here
If you are going to use CloudLinux OS Shared with cPanel image, you may find useful the following article
Note
For H-Sphere 3.5+ Please note, that CageFS and PHP Selector are not supported for H-Sphere
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 OS Shared 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/apache-get-env.sh
The following lines should be there:
if [ -e /usr/lib64/liblve.so.0 -o -e /usr/lib/liblve.so.0 ]; then
APENV_DSSL="$APENV_DSSL -DLIBLVE"
fi
If those strings are absent, you should add it, after:
else
APENV_DSSL='-DSSL'
fi
###
and before:
# this is used by apacheGetEnv.pm perl module
if [ "$1" = 'show' ] ; then
set | egrep "^APENV_"
fi
strings.
Restart Apache afterward.
Note
Don't forget to convert from mod_fastcgi to mod_fcgid.
To achieve the best results in productivity and stability we recommend converting from mod_fastcgi
to mod_fcgid
.
Note
H-Sphere 3.6.3+
$ wget -O /hsphere/local/config/httpd2/fcgi.conf https://repo.cloudlinux.com/cloudlinux/sources/mod_fcgid-hsphere/fcgi.conf
~httpd2/conf/extra/httpd-hostinglimits.conf
to the following state:######
LoadModule hostinglimits_module /hsphere/shared/apache2/modules/mod_hostinglimits.so
<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
</IfModule>
#######
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
*Note
*No changes needed to httpd.conf.tmpl.custom
or usermodule.phpmode
as this version provides its own mod_fcgid.
$ yum install gcc liblve-devel zlib-devel openssl-devel
$ wget https://apache.osuosl.org//httpd/mod_fcgid/mod_fcgid-2.3.9.tar.gz
$ 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/mod_fcgid.so /hsphere/shared/apache2/modules
/hsphere/local/config/scripts/usemodule.phpmode
:$ wget https://repo.cloudlinux.com/cloudlinux/sources/mod_fcgid-hsphere/usemodule.phpmode.patch
$ patch /hsphere/local/config/scripts/usemodule.phpmode usemodule.phpmode.patch
/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 https://repo.cloudlinux.com/cloudlinux/sources/mod_fcgid-hsphere/httpd.conf.tmpl.patch to the /hsphere/local/config/httpd2/httpd.conf.tmpl.custom
:
$ wget https://repo.cloudlinux.com/cloudlinux/sources/mod_fcgid-hsphere/httpd.conf.tmpl.patch
$ patch --fuzz=3 /hsphere/local/config/httpd2/httpd.conf.tmpl.cusom httpd.conf.tmpl.patch
/hsphere/local/config/httpd2
:$ wget -O /hsphere/local/config/httpd2/fcgi.conf https://repo.cloudlinux.com/cloudlinux/sources/mod_fcgid-hsphere/fcgi.conf
/hsphere/shared/php5/bin/
and make it executable:$ wget -O /hsphere/shared/php5/bin/php-wrapper https://repo.cloudlinux.com/cloudlinux/sources/mod_fcgid-hsphere/php-wrapper
$ chmod 755 /hsphere/shared/php5/bin/php-wrapper
/hsphere/local/home
to 755:$ chmod 755 /hsphere/local/home
~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
</IfModule>
apache_version = 2
apacha_fastcgi = yes
apache_status = yes
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.
Note
After updating H-Sphere software on web server with CloudLinux OS Shared you need to re-apply step 2 (patch usemodule.phpmode) and restart apache with /hsphere/shared/scripts/apache-restart
script.
How to make CloudLinux OS Shared work on DigitalOcean:
DigitalOcean doesn't support custom kernels. The droplet (VM) always runs DigitalOcean's kernel. CloudLinux OS Shared requires its own kernel. To enable CloudLinux OS Shared work on DigitalOcean droplets, we provide ability to boot into CloudLinux OS Shared kernel using kexec
functionality.
How does this work:
/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 OS Shared kernel, and loads that kernel.
If the system cannot boot into CloudLinux OS Shared kernel (due to any reason), subsequent reboot will skip kexec
, allow droplet to boot into DigitalOceans' kernel.
To disable booting into Cloudlinux OS Shared kernel, run:
chkconfig --del kexec
To re-enable booting into CloudLinux OS Shared kernel, run:
chkconfig --add kexec
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 Shared 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 Shared image as a custom image. You can find more information on image options at https://www.digitalocean.com/docs/images/custom-images/overview/
Click Images on the left of the screen and then choose Custom Images. Click the Import via URL button and paste the CloudLinux OS Shared 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.
You can find more information about creating/adding SSH keys in this article.
You will then be able to start a CloudLinux OS Shared Droplet using the image.
Note
Your Droplet will be created in the same datacenter that your custom image resides in.
Warning
If you are installing CloudLinux OS Shared 8, please make sure you’ve read https://www.linode.com/community/questions/19397/i-just-upgraded-my-centos-8-linode-and-now-it-wont-boot-how-do-i-fix-this-proble
To install CloudLinux OS Shared 7 on Linode KVM server you should perform the following steps:
Deploy CL to your Linode following the steps from this section
Install grub on your system:
yum install grub2
/etc/default/grub
the following parameters:GRUB_TIMEOUT=10
GRUB_CMDLINE_LINUX="console=ttyS0,19200n8"
GRUB_DISABLE_LINUX_UUID=true
GRUB_SERIAL_COMMAND="serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1"
grub2-mkconfig -o /boot/grub/grub.cfg
Edit your Linode profile, change the boot settings to GRUB 2
.
Reboot your Linode.
After reboot you will have fully operational CloudLinux OS Shared 7 system and can proceed with other configuration you need.
To install CloudLinux OS Shared 7 on Linode Xen please perform the following steps:
Deploy CL to your Linode following the steps from this section.
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 OS Shared 7 kernel.
Note
You will need to update /boot/grub/menu.lst
manually after every kernel update.
Switch boot settings to pv-grub-x86_64
and switch off Auto-configure networking
in Linode settings.
Reboot your Linode.
In case if you will migrate to KVM later you will need only switch the boot settings to GRUB 2
.
To use CloudLinux Shared Pro in Virtuozzo container, please update the next packages to the specified versions (or higher):
yum clean all
)cd /home && curl -o latest -L https://securedownloads.cpanel.net/latest && sh latest
wget https://repo.cloudlinux.com/cloudlinux/sources/cln/cldeploy
chmod 775 cldeploy
./cldeploy -k SHARED_PRO_CLN_KEY_HERE --testing-repo
Wizard is a tool to set up CloudLinux OS components.
In the current version only the lsapi module can be installed.
CloudLinux OS Shared dashboard provides a quick overview of statistics and all administrative information for server administrators.
In the current version only statistics about the lsapi module is available.
To install Lsapi via CloudLinux Wizard, please turn off mod_ruid2 in EasyApache 4 -> Apache Modules.
Note
For EasyApache select Currently Installed Packages
.
Note
Currently mod_suexec is not available in containers and will be released in future versions. Just ignore this message, click "ok" and continue installing lsapi via the Wizard.
You can find the complete lsapi documentation here.
If you'd like to try Smart Advice and AccelerateWP you should participate in the Beta tester program. To become a beta tester, please send your request at our Beta program page with the signup form here. Once you submit the request, we will send you a confirmation email with program details, terms of use, and installation instructions.
All additional information can be found here.
You can fing CageFS documentation here.
Attention!
Kernel config variables are not available for the Virtuozzo container!
yum update alt-python27-cllib pam_lve lve-wrappers lve-utils liblve tuned-profiles-cloudlinux lvemanager
yum install cagefs
yum groupinstall alt-php
cagefsctl –init
yum install ea-apache24-mod_suexec
yum install ea-apache24-mod_suphp
mod_suexec
and mod_suphp
can be installed via cPanel EasyApache4 installation tool.Useful links:
Q: My CloudLinux Manager-> options menu is empty.
A: You don't have AccelerateWP enabled and PHP X-Ray enabled, so there is nothing to configure. Install and enable any of those features to see settings. This minor UI issue will be fixed in future updates.
Q: Dashboard says both: that data is updated and that I need to refresh it and both panels never disappear.
A: Just click the refresh button and reload the page, data will be loaded soon.
Q: Website monitoring does not appear enabled after clicking the toggle.
A: Just reload the page, the feature will be displayed as active.
Q: Website monitoring proposes me to enable autotracing while I disable it.
A: Issue is known and will be fixed soon.
We do not recommend using disk quota inside of containers - PHP Selector may be not functional for a user when disk quota is exceeded for the user.
The following systemd directives may break CageFS inside containers:
Note
Make sure all containers are stopped prior to doing this operation. Or reboot the server after the installation.
Note
Please make sure you have vzkernel-headers
and vzkernel-devel
packages installed.
yum install vzkernel-headers vzkernel-devel
$ wget -P /etc/yum.repos.d/ https://repo.cloudlinux.com/vzlve/vzlve.repo
$ 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 OS Shared 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 the container, follow standard CloudLinux installation procedures.
CloudLinux OS Shared license is required for each VZ container.
Note
Some servers require increasing fs.ve-mount-nr
on host node, otherwise CageFS will throw errors.
To increase fs.ve-mount-nr
, on a host node:
add fs.ve-mount-nr = 15000
to /etc/sysctl.conf
;
apply it with the sysctl -p
command.
In very rare cases the value should be increased higher, up to 50000.
CloudLinux OS can be deployed on servers that don't have grub installed, by installing хороgrub
first.
To do that:
Make sure grub and kernel packages are not excluded. Edit file /etc/yum.conf
and check exclude=
line for presence of kernel* grub*
.
Backup lilo config file:
mv /etc/lilo.conf /etc/lilo.conf.bak
Convert to CloudLinux OS Shared using deploy2cl utility.
Check grub.conf
– it should be configured automatically:
# cat /boot/grub/grub.conf
default=0
timeout=5
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-2.6.33.5-xxxx-grs-ipv4-64 root=/dev/sda1 ro
root (hd0,0)
/sbin/grub-install /dev/sda
uname -r
should show something like: 2.6.18-294.8.1.el5.lve0.7.33
.WARNING
CloudLinux ELevate project is currently in beta. Expect potenital issues, in particular with third-party packages and/or repositories. We don't recommend to use or test this tool on your production servers unless you're completely sure about what you're doing.
The ELevate project is an initiative to support migrations between major version of RHEL-derivatives.
The CloudLinux Elevate variant, built on top of the AlmaLinux ELevate project, aims to provide a streamlined method of upgrading CloudLinux 7 systems to CloudLinux 8 in-place.
The Leapp utility is the main tool used to perform the upgrade.
At the moment, only migrating from CloudLinux 7 to CloudLinux 8 on no-panel systems is supported.
ELevate is developed and built as a tool for RHEL-based distributives, not just CloudLinux specifically. ELevate supports migrating to/from other distributions and is open for all to contribute to and enhance. You can find more information and FAQ about the AlmaLinux ELevate this project is built upon at almalinux.org/elevate and Migration SIG, as well as contribute using the ELevate Contribution Guide.
WARNING
CloudLinux ELevate project is currently in beta. Expect potenital issues, in particular with third-party packages and/or repositories.
It is highly recommended to ensure you have a backup and/or a snapshot of your system before proceeding with the upgrade. Ideally, perform a trial run in a sandbox to verify that migration functions as expected before you attempt to migrate a system.
WARNING
We disclaim responsibility for incorrect or improper use of the tool. The support team will not be able to help you if you have not followed all the steps described in the documentation or converted a server with a control panel present.
In addition, support will not be provided if you have any third-party utilities that do not function after the upgrade, according to Support policy. Examples: webserver, DNS server, mail server, database server and other utilities that do not belong to our product line.
Note
The ELevate project only supports a subset of package repositories it's aware of. It doesn't support external repositories that aren't present in its list of vendors. Packages from repositories Leapp is unaware of will not be upgraded. This can cause your utilities and services to stop working completely after the update.
This can cause your utilities and services to stop working completely on the post-upgrade machine.
In particular, machines with control panels present are highly likely to encounter problems after the upgrade.
CloudLinux does not provide support related to integrating third-party repositories or packages into the upgrade process. However, you can add the aforementioned components to the Leapp database yourself. Please check the (Third-party integration)[https://github.com/AlmaLinux/leapp-repository/tree/almalinux#third-party-integration] section in the linked README for instructions on integrating external repositories.
This guide contains steps on how to upgrade CloudLinux 7 to CloudLinux 8.
First of all, make sure that your CloudLinux 7 is fully upgraded and on the latest kernel version.
After that, download the elevate-testing.repo file with the project testing repo:
sudo curl https://repo.almalinux.org/elevate/testing/elevate-testing.repo -o /etc/yum.repos.d/elevate-testing.repo
sudo rpm --import https://repo.almalinux.org/elevate/RPM-GPG-KEY-ELevate
sudo yum install -y leapp-upgrade leapp-data-cloudlinux
Start a preupgrade check. In the meanwhile, the Leapp utility creates a special /var/log/leapp/leapp-report.txt
file that contains possible problems and recommended solutions. No rpm packages will be installed at this phase.
WARNING
The preupgrade check will likely fail as the default CloudLinux 7 doesn't meet all requirements for migration. That is expected.
sudo leapp preupgrade
This summary report will help you get a picture of whether it is possible to continue the upgrade.
The preupgrade process may stall with the following message:
Inhibitor: Newest installed kernel not in use
Make sure your system is running the latest kernel before proceeding with the upgrade. If you updated the system recently, a reboot may be sufficient to do so. Otherwise, edit your Grub configuration accordingly.
Note
In certain configurations, Leapp generates /var/log/leapp/answerfile
with true/false questions. Leapp utility requires answers to all these questions in order to proceed with the upgrade.
Once the preupgrade process completes, the results will be contained in the file /var/log/leapp/leapp-report.txt
.
It's advised to review the report and consider how the changes will affect your system.
Should any packages or package repositories that are unknown to Leapp be detected, they will also be listed in the report. Consider how leaving the listed items unupgraded will affect the stability of your system.
If the packages listed as unknown in the report are critical for your system, consider adding the associated repositories to Leapp's database, as described (here)[https://github.com/AlmaLinux/leapp-repository/tree/almalinux#third-party-integration].
The following actions from the /var/log/leapp/leapp-report.txt
file are seen most often:
Some kernel modules are deprecated in the CloudLinux 8 major versions. To proceed with the upgade, unload them. Leapp will advise on the list of modules to be removed.
rmmod floppy pata_acpi btrfs
If your OpenSSH configuration file does not explicitly state the option PermitRootLogin in sshd_config file, this upgrade inhibitor will apperar. The option's default is "yes" in RHEL7, but will change in RHEL8 to "prohibit-password", which may affect your ability to log onto this machine after the upgrade.
To prevent this from occuring, set the PermitRootLogin option explicity to preserve the default behaivour after migration:
echo PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config
or configure the SSHD so that the option is present explicitly, without leaving it to the default behaviour.
PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD. Leaving this module in PAM configuration may lock out the system.
Allow Leapp to disable the pam_pkcs11 module in PAM configuration by adding an entry to the Leapp answerfile:
sudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True
Start an upgrade. You’ll be offered to reboot the system after this process is completed.
sudo leapp upgrade
sudo reboot
Note
The upgrade process after the reboot may take a long time, up to 40-50 minutes, depending on the machine resources. If the machine remains unresponsive for more than 2 hours, assume that the upgrade process has failed during the post-reboot phase.
If it's still possible to access the machine in some way, for example, through remote VNC access, the logs containing the information on what went wrong are located in this folder: /var/log/leapp
.
A new entry in GRUB called ELevate-Upgrade-Initramfs will appear. The system will be automatically booted into it. Observe the update process in the console.
After the reboot, login into the system and check the migration report. Verify that the current OS is the one you need.
cat /etc/redhat-release
cat /etc/os-release
rpm -qa | grep el7 # check if there are unupgraded packages present
cat /var/log/leapp/leapp-report.txt
cat /var/log/leapp/leapp-upgrade.log
In addition, check the leapp logs for .rpmnew configuration files that may have been created during the upgrade process. In some cases os-release or yum package files may not be replaced automatically, requiring the user to rename the .rpmnew files manually.
You can always uninstall CloudLinux OS. In this case, the system will be converted back to AlmaLinux or CentOS* (Depends on what system the conversion was done from).
WARNING
CentOS Linux 8 reached End Of Life (EOL) on December 31st, 2021. You can still uninstall CloudLinux and return to CentOS 8, but we don't guarantee stable operation of the system and its repositories after this action.
The following actions will be taken:
In the end, the script will provide instructions on how to finish the conversion back to AlmaLinux or CentOS*. That will require removal of CloudLinux OS Shared kernel (manual step), and installation of AlmaLinux or CentOS* kernel (if needed).
WARNING
Do not forget to free up a CloudLinux OS Shared 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 https://repo.cloudlinux.com/cloudlinux/sources/cln/cldeploy
$ sh cldeploy -c
Now you have converted back to AlmaLinux or CentOS* and it is the time to install kernel.
To delete CloudLinux OS kernel, run (change the kernel package name to the one you've been using):
rpm -e --nodeps $(rpm -qa | grep kernel | grep lve)
To install new AlmaLlinux or CentOS* kernel once you deleted CloudLinux OS Shared kernel, run the following command:
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
Note
Some of the packages from CloudLinux OS repo will still be present. They are the same as AlmaLinux or CentOS* packages, and don't have to be removed. They will be updated in the future from AlmaLinux or CentOS* repositories, as new versions come out.