Debian 11 (bullseye) left Debian LTS on 31 August 2026, and Plesk Obsidian 18.0.81 (15 September 2026) is the last Plesk release that supports it. A Plesk server still on bullseye gets no more Plesk updates and no more Debian security fixes. That includes panel CVE patches like the ones in the 18.0.79 security release.
This guide covers the official in-place route: Plesk's debian11to12 tool. It also covers the known issues open on the tool's GitHub tracker and the post-upgrade fixes Plesk documents. It is for operators who run Plesk on their own KVM or dedicated servers.
In-place upgrade or migrate
Plesk supports the Debian 11 to 12 dist-upgrade from Obsidian 18.0.57. You have two options:
In-place debian11to12 | Migrate to a fresh Debian 12 box | |
|---|---|---|
| Downtime | 20–30 minutes, all sites and mail down | Per-subscription, near zero with DNS planning |
| Rollback | Snapshot only, after the package upgrade | Old server stays live |
| Licensing | Same server, same key | Two Plesk licenses during cutover |
| Containers (OpenVZ, Virtuozzo, LXC) | Not supported | Only option |
If the server runs in a container, migration is your only option. The tool refuses to run in containers, and Plesk documents dist-upgrade as unsupported there. If the box has been dist-upgraded twice already (Debian 9 → 10 → 11), consider migrating anyway: it inherits years of config drift, and that drift causes most of the failures below. For everything else, the in-place tool is the faster path.
Before you start
Requirements from the tool's README and Plesk's KB:
- Plesk on the latest version available for Debian 11, which is 18.0.81. Run
plesk installer updateand confirm withplesk version. - At least 5 GB free disk and 2 GB RAM.
- Out-of-band console access (IPMI, KVM-over-IP, or your provider's VNC console). Plesk calls this the "remote management module". In testing,
sshdsometimes failed to start mid-upgrade. - A full server backup with all databases, plus a hypervisor snapshot. Use Plesk Backup Manager to S3 or Wasabi for the backup, then take the snapshot immediately before you start.
Pre-flight checks that prevent known failures
Run these first. Each one matches an issue reported on github.com/plesk/debian11to12:
# 1. Third-party APT repos (MariaDB upstream, etc.)
ls /etc/apt/sources.list.d/
grep -r "dlm.mariadb.com" /etc/apt/sources.list.d/
# 2. Interface names on servers originally installed as Debian 9 or older
ls /sys/class/net
grep -E "^(auto|iface)" /etc/network/interfaces
# 3. GRUB install devices
debconf-show grub-pc | grep install_devices
lsblk -o NAME,TYPE,SIZE,FSTYPE,MOUNTPOINT
What to look for:
- Upstream MariaDB repository. An open issue (#15) reports that the tool rewrites the
11in.../mariadb-server/10.11/...to12. The repository URL then 404s and the run stops. If you installed MariaDB 10.11 or 11.x fromdlm.mariadb.com, fix that file by hand when the tool stops, or plan around it. Plesk's manual procedure supports MariaDB only, so servers running Oracle MySQL are outside the supported path. - Legacy
eth0naming. Issue #6 describes a box that came back from the post-upgrade reboot with no network. Its config referenced an interface name that no longer existed. If/etc/network/interfacesnames an interface that/sys/class/netdoes not list, fix that first. - Multiple GRUB devices. v1.0.7, released 17 September 2026, wrongly fails its GRUB check on software RAID1 and dual-NVMe boxes with
Grub's install-device is not found: /dev/sda, /dev/sdb. The fix is merged in the repository but missing from the v1.0.7 archive. Do not delete a valid GRUB target to get past the check. Use a build that includes PR #33.
Also check the Plesk repair utility for errors before you start. plesk repair all -n runs every check in diagnostic mode without changing anything. Fix whatever it reports, because the upgrade will not fix it for you.
Run the upgrade
Fetch the current release. Plesk's own KB still links v1.0.3, but v1.0.7 is the latest release on GitHub:
wget https://github.com/plesk/debian11to12/releases/download/v1.0.7/debian11to12-1.0.7.zip
unzip debian11to12-1.0.7.zip
chmod 755 debian11to12
./debian11to12 --show-plan
--show-plan runs the preparation checks and prints every stage without changing anything. If it is clean, start the conversion inside screen:
screen -S debian11to12
./debian11to12
The run takes 20–30 minutes and reboots three times. After the first reboot, the plesk-dist-upgrader systemd service resumes the run. Reconnect and watch it:
./debian11to12 --monitor
systemctl status plesk-dist-upgrader
journalctl -u plesk-dist-upgrader -f
The full log is at /var/log/plesk/debian11to12.log. When the run succeeds, the login banner reads "The server has been upgraded to Debian 12". Remove that banner from /etc/motd.
If it stops
- Before the first reboot: fix the cause, then run
./debian11to12 --resume. - After the first reboot: fix the cause, then run
systemctl restart plesk-dist-upgrader. - For a bug report: run
./debian11to12 --prepare-feedbackand attach the archive to a GitHub issue.
After the upgrade
Confirm the OS and the Plesk build, then look for failed units:
cat /etc/debian_version
plesk version
systemctl --failed
apt update
apt update shows any third-party repository still pointing at bullseye or a dead URL. Agents like Imunify360 and KernelCare ship their own repositories. Make sure they now resolve for bookworm, and reinstall from the vendor if not. See installing Imunify360 on Plesk.
libodbc2 unmet dependency
Plesk documents this one. apt upgrade or plesk installer update fails with plesk-librdbmspp : Depends: libodbc2 (>= 2.3.1) but it is not installed, and apt --fix-broken install reports that it is trying to overwrite '/usr/lib/x86_64-linux-gnu/libodbc.so.2.0.0'. The Debian 11 ODBC packages are blocking the Debian 12 ones:
dpkg -r --force-depends libodbc1 odbcinst1debian2 odbcinst
apt --fix-broken install
plesk installer update
If other updates still fail, work through the Plesk update failure checklist. Then run plesk repair installation and test mail, FTP, and one PHP site per handler version.
Debian 12 is not the end
Debian 12 has LTS coverage until 30 June 2028. Plesk supports the Debian 12 to 13 dist-upgrade from 18.0.74 with a separate debian12to13 tool. That jump also moves MariaDB 10.11 to 11.8. Do one major version at a time. Run on bookworm for a week, confirm backups and renewals work, then plan for trixie.
The OS upgrade does not change your license. The key stays bound to the same Plesk installation. If you migrate to a new server instead, you need a second key for the overlap. Check the Plesk license tiers to see whether a cheaper edition now fits.
Is Plesk still supported on Debian 11?+
How long does the Plesk Debian 11 to 12 upgrade take?+
Can I upgrade Plesk from Debian 11 straight to Debian 13?+
Can I roll back a failed Plesk dist-upgrade?+
Do I need a new Plesk license after upgrading Debian?+
Next steps
- Re-check panel health with Plesk repair utility commands.
- Set up off-server backups with Plesk Backup Manager to S3, Wasabi, or B2.
- Renew or change editions on the Plesk license page.