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.
CloudLinux OS does not support ARM-based CPUs (e.g. Graviton).
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.
Replacing the hardware installed on the server affects specifications and support for that 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 to restore the server it or adapt CloudLinux OS installation to the new hardware.
There are some incompatible devices with CL6:
|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.
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 email@example.com and we will help.
To get the activation key:
Get Trial Activation Key
You will get a key that looks like:
Sometimes it is required to convert already existing servers with
AlmaLinux and make them
It is easy to convert your existing installation by cldeploy script. The process takes a few minutes and replaces just a handful of RPMs.
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.
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
ACTIVATION_KEY is the one that you got on previous step.
Your CloudLinux OS edition will be detected automatically based on the
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:
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
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.
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).
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(RHEL systems only).
Here's what the cldeploy script does, if one runs it to uninstall CloudLinux:
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 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.
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
Type in installation URL in the corresponding field, configure proxy if needed and press the
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.
ISO file checkbox and press the
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.
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.
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
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
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:
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
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
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 ###
# this is used by apacheGetEnv.pm perl module if [ "$1" = 'show' ] ; then set | egrep "^APENV_" fi
Restart Apache afterward.
Don't forget to convert from mod_fastcgi to mod_fcgid.
To achieve the best results in productivity and stability we recommend converting from
$ wget -O /hsphere/local/config/httpd2/fcgi.conf https://repo.cloudlinux.com/cloudlinux/sources/mod_fcgid-hsphere/fcgi.conf
~httpd2/conf/extra/httpd-hostinglimits.confto 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:
PHP version/mode: php_fastcgi*
*No changes needed to
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
$ 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.customdoes 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
$ 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
$ 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
$ chmod 755 /hsphere/local/home
~httpd2/conf/extra/httpd-hostinglimits.confand 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.
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
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
How does this work:
/etc/digitalocean. If the file detected, we assume that this is DigitalOcean droplet;
kexecscript will be created in
/etc/rc.d/init.d/and set to run right after
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.
Your Droplet will be created in the same datacenter that your custom image resides in.
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/grubthe 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
$KVERSION is the version of the installed CloudLinux OS Shared 7 kernel.
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
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.
For EasyApache select
Currently Installed Packages.
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.
All additional information can be found here.
You can fing CageFS documentation here.
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_suphpcan be installed via cPanel EasyApache4 installation tool.
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:
Make sure all containers are stopped prior to doing this operation. Or reboot the server after the installation.
Please make sure you have
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.
Some servers require increasing
fs.ve-mount-nr on host node, otherwise CageFS will throw errors.
fs.ve-mount-nr, on a host node:
fs.ve-mount-nr = 15000 to
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
To do that:
Make sure grub and kernel packages are not excluded. Edit file
/etc/yum.conf and check
exclude= line for presence of
Backup lilo config file:
mv /etc/lilo.conf /etc/lilo.conf.bak
Convert to CloudLinux OS Shared using deploy2cl utility.
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-126.96.36.199-xxxx-grs-ipv4-64 root=/dev/sda1 ro root (hd0,0)
uname -rshould show something like:
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.
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.
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.
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.
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.
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
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
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:
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).
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).
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
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:
For EasyApache 4:
/usr/local/bin/ea_install_profile --install /etc/cpanel/ea4/profiles/cpanel/default.json
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.