Panellicense

Upgrade Plesk from Debian 11 to 12: debian11to12 walkthrough

Debian 11 reached end of life on 31 August 2026 and Plesk 18.0.81 is its last release. How to run Plesk's debian11to12 tool, avoid known failures, and fix what breaks.

pleskdebiandist-upgradeend-of-lifemariadbos-upgrade
schema: HowToschema: FAQPage

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 debian11to12Migrate to a fresh Debian 12 box
Downtime20–30 minutes, all sites and mail downPer-subscription, near zero with DNS planning
RollbackSnapshot only, after the package upgradeOld server stays live
LicensingSame server, same keyTwo Plesk licenses during cutover
Containers (OpenVZ, Virtuozzo, LXC)Not supportedOnly 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 update and confirm with plesk 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, sshd sometimes 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:

  1. Upstream MariaDB repository. An open issue (#15) reports that the tool rewrites the 11 in .../mariadb-server/10.11/... to 12. The repository URL then 404s and the run stops. If you installed MariaDB 10.11 or 11.x from dlm.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.
  2. Legacy eth0 naming. 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/interfaces names an interface that /sys/class/net does not list, fix that first.
  3. 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-feedback and 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?+
No. Debian 11 reached end of life on 31 August 2026, and Plesk Obsidian 18.0.81 is the last Plesk release that supports it. Later Plesk updates, including security fixes, are not published for Debian 11.
How long does the Plesk Debian 11 to 12 upgrade take?+
Plesk estimates 20–30 minutes, with three reboots. Websites, mail, and the panel are down for the whole run, so schedule a maintenance window and notify customers.
Can I upgrade Plesk from Debian 11 straight to Debian 13?+
No. Upgrade to Debian 12 with debian11to12 first, then run the separate debian12to13 tool. The Debian 12 to 13 path requires Plesk Obsidian 18.0.74 or later.
Can I roll back a failed Plesk dist-upgrade?+
Only partly. The tool's --revert option works if the failure happens before Debian 12 packages are installed. After that, restore from a snapshot or a full backup.
Do I need a new Plesk license after upgrading Debian?+
No. An in-place dist-upgrade keeps the same Plesk installation and license key. You only need a second license if you migrate to a new server and run both during cutover.

Next steps

Switch in an afternoon

Switch from your current reseller — free.

We migrate active cPanel, Plesk, LiteSpeed and CloudLinux licenses from any reseller. We prorate the first month so you never pay twice, and your customers see zero downtime during the swap.