AlmaLinux on a VPS: moving off CentOS, control panels and choosing a version
AlmaLinux appeared in 2021 as a response to Red Hat's decision to wind down classic CentOS. It is developed by the non-profit AlmaLinux OS Foundation, and the first builds were backed by CloudLinux, a company that has long made operating systems for web hosting. That explains its main audience: owners of servers with control panels, online shops and websites that ran on CentOS for years and want to stay in the familiar RHEL ecosystem, with dnf, SELinux, firewalld and the same config paths.
Why move off CentOS and how it's done
CentOS 8 stopped receiving updates at the end of 2021, and CentOS 7 on 30 June 2024. A server on these versions keeps running, but vulnerabilities in OpenSSL, the kernel and PHP are no longer patched, and the repositories have moved to the archive, so even installing a package becomes a quest. More about the old versions is on the VPS with CentOS page.
There are two routes. The first is a new VPS with a ready AlmaLinux template and migrating your sites and databases: slower, but you get a clean system and no surprises. The second is an in-place upgrade. From CentOS 8 to AlmaLinux 8 you switch with the almalinux-deploy script, which swaps repositories and packages in a single run. For CentOS 7 the AlmaLinux project released ELevate: it is built on Leapp and takes the server through a major version change. Before either option, take a disk snapshot in your host's panel: if the server has third-party kernel modules or an old panel, the upgrade can stall halfway.
After the move, check three things. Third-party repositories (Remi, MariaDB, Nginx, Docker) need to be switched to the versions for the new branch, otherwise dnf will complain about dependencies. The command rpm -qa | grep el7 (or el8) lists packages left over from the old system. And networking: in newer versions the main configuration format is NetworkManager profiles, and the old ifcfg files are considered deprecated, so after the upgrade make sure the server brings up its address after a reboot while you still have the VNC console at hand.
Which version to choose
- AlmaLinux 9 is the main choice for a new server: security updates until 2032, and it is supported by all popular panels and almost any server software.
- AlmaLinux 10 is the fresh branch, supported until 2035. Not every host offers a template yet, and some panels and commercial modules add support with a delay.
- AlmaLinux 8 is for software that officially runs only on version 8. Security updates continue until 2029.
The 10 branch has a quirk that matters specifically for virtual servers. RHEL 10 and most of its clones are built for x86-64-v3 level processors (with AVX2 instructions). Some hosts expose a cut-down CPU model such as kvm64 to guests, and on such a machine the system simply won't boot. AlmaLinux additionally ships an x86_64_v2 build for older and emulated hardware. On a server that is already running, you can check the CPU level with /lib64/ld-linux-x86-64.so.2 --help: the output includes a list of supported levels.
Panels and typical stacks
The main use of AlmaLinux on a VPS is a web server under a control panel. After CentOS went away, cPanel made AlmaLinux one of its main systems, and it is also supported by Plesk, ISPmanager and most free panels. If the server hosts many client sites, take a look at CloudLinux: it is built on the same code base and can isolate sites from each other by resources, and a server on AlmaLinux can be converted to it without reinstalling.
The second common scenario is containers. Docker installs from the official repository for RHEL-based systems, and Podman is in the base repositories. For a LAMP stack with several PHP versions, people add the Remi and EPEL repositories, which work on AlmaLinux just as they did on CentOS.
What to check in a plan
- Template version. The host's OS list should include the major version you need. "AlmaLinux" without a number often means 8, so check
cat /etc/almalinux-releaseafter installation. - Your own ISO. If there is no template, on KVM you can install the system from the official image. Such plans are listed on the VPS with custom ISO installation page.
- Virtualisation. SELinux, firewalld and Docker need KVM; in OpenVZ and LXC containers some of these features are unavailable.
- Resources. A minimal system runs on 1 GB of memory, but a panel with a database and mail is comfortable from 2–4 GB and a 40 GB disk.