Adrien Piron (Guide local) #1

I wanted to share some positive feedback after upgrading my CyberPanel server from Ubuntu 22.04 to Ubuntu 24.04.5 LTS.

Before starting, I searched for information about this kind of upgrade and mostly found posts from people whose migrations had gone badly. That is understandable, because people rarely create a forum topic just to say everything worked. But it can give a somewhat distorted impression of how risky the process actually is.

In my case, the upgrade went very well overall.

This was not a test server. It hosts several production WordPress websites, a Nextcloud instance, MariaDB, PowerDNS, CrowdSec, ModSecurity, Redis, Node.js and several CyberPanel-related services.

I first updated CyberPanel, then started the standard Ubuntu upgrade using do-release-upgrade.

The Ubuntu upgrade itself completed without any major issue. I simply kept my existing SSH configuration when Ubuntu asked me what to do.

After the first reboot, the server was correctly running Ubuntu 24.04.5 LTS with kernel 6.8.0-139-generic.

I then checked the services one by one.

Most of them started correctly, but I did encounter a few small issues after the upgrade.

The first one was related to DNS resolution. On my server, PowerDNS uses port 53 and systemd-resolved is disabled. After the upgrade, /etc/resolv.conf was still pointing to systemd-resolved, so the server temporarily lost outbound DNS resolution.

After fixing /etc/resolv.conf with external DNS resolvers, both PowerDNS and DNS resolution worked normally again.

The second issue affected CyberPanel itself.

The lscpd service started correctly, but the panel on port 8090 returned a 503 error.

After investigating, I found that CyberPanel was now using Python 3.12, while the existing lswsgi binary had still been compiled against Python 3.10.

It was looking for:

libpython3.10.so.1.0 => not found

So the Ubuntu 22.04 to 24.04 upgrade had correctly moved the system from Python 3.10 to Python 3.12, but the existing WSGI binary was still built for Python 3.10.

I rebuilt wsgi-lsapi 2.1 using the Python 3.12 environment currently used by CyberPanel, replaced the old lswsgi binary and restarted lscpd.

CyberPanel immediately started responding with HTTP 200 again.

I also had a small issue with CyberPanel’s web SSH terminal. Some Python dependencies such as uvicorn and paramiko were no longer available in the new Python 3.12 environment.

After reinstalling CyberPanel’s Python requirements, the FastAPI SSH service started working normally again.

Third-party repositories also needed some attention after the upgrade.

LiteSpeed, MariaDB, CrowdSec and NodeSource had to be checked or re-enabled for Ubuntu Noble. I also had to fix the LiteSpeed repository GPG key and remove a duplicated APT source.

MariaDB moved cleanly from the Ubuntu 22.04 packages to the Ubuntu 24.04 packages while staying on MariaDB 10.11.19.

My databases did not require any additional migration.

I deliberately kept OpenLiteSpeed on hold to prevent a normal APT upgrade from replacing the binary used by CyberPanel and my ModSecurity module.

Once everything was fixed, I rebooted the server again to make sure the changes were not only working temporarily.

After this final reboot, all major services came back normally:

OpenLiteSpeed, CyberPanel, MariaDB, PowerDNS, CrowdSec and the CyberPanel SSH terminal.

systemctl --failed currently reports no failed services.

The CyberPanel interface responds normally with HTTP 200.

MariaDB is now running the Ubuntu 24.04 build:

10.11.19-MariaDB-ubu2404

My WordPress websites, Nextcloud and the other hosted services are also working normally.

I also completed the kernel and firmware updates and updated the Secure Boot DBX using fwupd.

Secure Boot is still enabled after the reboot.

Overall, I would say the upgrade went very well.

It was not completely automatic, mainly because of the Python 3.10 to Python 3.12 transition and the third-party repositories, but I had no data loss, no broken databases and no need to reinstall CyberPanel or restore from backup.

Adrien Piron
Founder, Assistouest Informatique
Independent IT Technician and WordPress / Server Administrator