CentOS 7 Upgrade


Options for web hosts

The Situation

In just a few months, Red Hat (RHEL) will stop providing updates for CentOS 7. The latest CentOS 9 Stream (CS9) is a rolling-release, which isn’t ideal for continued use on production servers. If you’re currently using CentOS 7 and looking at your CentOS 7 upgrade options, you may already be considering alternatives like AlmaLinux and Rocky Linux, or, could it be worthwhile to transition to my favourite, Debian?

CentOS 7 Upgrade

Control Panels

The problem is if you use cPanel. Debian isn’t officially supported by cPanel, but it will work. Whether you choose to switch to Debian or not depends how you feel taking the risk considering it’s not officially supported, should any cPanel updates in the future happen to cause it to break.

How to install cPanel on Debian tutorial: webjethost.com

If you use Plesk instead of cPanel, it supports Debian so you’re good to go and the stability and open source nature of Debian make it the obvious choice. However, CloudLinux is not designed to run on Debian so if you need to isolate the web hosting accounts, continue reading the section below.

Isolating Accounts

Another consideration is containerisation, particularly the need to isolate resources. CloudLinux is the ideal option, thanks to its Lightweight Virtualised Environments (LVEs) technology. However, it involves paying an ongoing fee.

While Docker is a popular containerisation platform, it may not be the ideal choice for hosting environments where strict resource isolation is essential. Docker may not offer the same level of resource management features as CloudLinux, limiting its suitability for production servers.

Another option is Virtualmin. Virtualmin allows for the isolation of hosting accounts, albeit with some effort. You would need to set up a control panel for each account, which can introduce a considerable amount of additional work compared to using CloudLinux. However, Virtualmin can still serve as a viable option for achieving account isolation, especially if you’re willing to invest the necessary time and effort.

CentOS 7 Upgrade Scripts

If you’re considering switching to AlmaLinux or CloudLinux, there are scripts available to make it easy called Elevate and Cldeploy which automate the migration or upgrade from CentOS to AlmaLinux or CloudLinux. They may succeed 90% of the time but are still incomplete and there’s no guarantee the process which takes roughly an hour and a half to complete will go smoothly. Therefore I highly recommend making a complete backup first.

If you want to switch from CentOS 7 to Debian, there’s no automatic upgrade script available and you’ll have to handle the entire process manually. If you have cPanel you can use the built in “Transfer Tool” or for Plesk, the “Plesk Migrate” tool to migrate the accounts, following setting up the server config to match your CentOS 7 configuration.

Backup before CentOS 7 upgrade

Be sure to make a full off-site backup, perhaps a bare metal backup before you proceed with your upgrade or migration for disaster recovery. If you have a large server this will add a considerable amount of time to the process, possibly also additional cost and wear on your storage media.

Not ready for CentOS 7 upgrade?

If you’re not ready for a CentOS 7 upgrade, you may be able to avoid it for a while (at least) by purchasing long term support from TuxCare

If you want to begin setting up your own web server at home, see my other post aimed at beginners: Installing a Web Server