Since CentOS 7 has reached End-of-Life (EOL), you must upgrade your Operating System to stay secure. cPanel provides the ELevate tool to upgrade your existing CentOS 7 server to AlmaLinux 8 in-place, preserving your data and configurations.
⚠️ CRITICAL WARNING: HIGH RISK OPERATION
This process replaces your entire Operating System while it is running.
- Data Loss Risk: If the upgrade fails mid-process, the server may become unbootable. You MUST create a snapshot (backup) before starting.
- Downtime: The process takes 30-90 minutes. Your websites and email will be offline during this time.
Prerequisites
Before you begin, ensure your system meets the requirements:
- Root Access: You must be logged in as root via SSH.
-
Latest cPanel: Your cPanel version must be up to date.
/scripts/upcp - Snapshot: Confirm you have a valid snapshot in the MyTilaa dashboard.
Step 1: Install the ELevate Script
Download the official cPanel ELevate script to your server.
wget -O /scripts/elevate-cpanel https://raw.githubusercontent.com/cpanel/elevate/release/elevate-cpanel
chmod 700 /scripts/elevate-cpanelStep 2: Pre-flight Check (Dry Run)
Run a check to see if your server is ready. This command does not make changes yet, but checks for blockers.
/scripts/elevate-cpanel --checkOutcome: You will likely see a list of errors (red) or warnings (yellow). You must resolve all blocking errors before you can proceed.
AlmaLinux 8 requires newer database versions. If the check fails on MySQL, upgrade it using this cPanel API command (updates to MariaDB 10.6):
/usr/local/cpanel/bin/whmapi1 start_background_mysql_upgrade version=10.6Wait for the database upgrade to finish, then run the check again.
Step 3: Start the Elevation
Once the check returns "There are no known blockers to start the elevation process", you can begin the actual upgrade.
/scripts/elevate-cpanel --startThe script will verify everything one last time and then reboot your server to start the OS migration. Your SSH session will disconnect.
Step 4: Monitoring the Process
Since the server reboots multiple times, you cannot watch the process in a single SSH session. To check the current status after a reboot:
- Log back in via SSH (or use the Video Display console).
- Run:
# Check status summary
/scripts/elevate-cpanel --status
# View detailed logs (live)
/scripts/elevate-cpanel --logThe process is finished when the status reports that the server is running AlmaLinux 8.
Step 5: Verification
After the final reboot:
- Check your OS version:
cat /etc/redhat-release - Log in to WHM and verify that services (Apache, MySQL, Mail) are running.
- Check your websites for functionality.