Applicable to:
- Plesk 12.5 for Linux
- Plesk Onyx for Linux
According to Plesk 12.5 release notes dist-upgrade procedure is supported on Debian 6, Debian 7 and Ubuntu 12. Plesk 12.5 or later is required to perform the dist-upgrade.
How to perform dist-upgrade?
Note: dist-upgrade
from Ubuntu 14 to Ubuntu 16 and from Debian 8 to Debian 9 is supported by Plesk Onyx only.
Table of contents
- General information
- Performing the dist-upgrade from Ubuntu 14 to Ubuntu 16
- Performing the dist-upgrade from Debian 6,7,8 and Ubuntu 12
- Potential issues
General information
Warning: Dist-upgrade is not a simple process. Considerable experience in the system administration, the knowledge of the system and its components are required in order to fulfill this task.
Warning: if PHP by OS vendor was updated from third-party sources prior to dist-upgrade, it may break webmail functionality.
If you have never performed dist-upgrade before it is recommended to do the following first:
- Install previous version of OS on a test server or inside a virtual machine. Upgrade it using instructions provided in the documentation by the OS vendor:
Debian 6 to Debian 7
Debian 7 to Debian 8
Debian 8 to Debian 9
Note: According to Debian dist-upgrade documentation it is not recommended to use aptitude
during upgrade from Debian 7 to Debian 8.
Preferred way to perform dist-upgrade on Ubuntu is using do-release-upgrade
tool.
Ubuntu 12 to Ubuntu 14 - Repeat the process on the test server, but with Plesk 12.5 installed using OS documentation and instructions from this article.
- Solve all potential problems and make sure that Plesk is working after the upgrade. Only after that run the upgrade on the production server.
Ubuntu 14 to Ubuntu 16 (Ubuntu 16 is not supported by Plesk 12.5)
Warning: Currently, Plesk does not support dist-upgrade from Ubuntu 16.04 to Ubuntu 18.04 yet. Dist-upgrade support from Ubuntu 16.04 to Ubuntu 18.04 to Plesk, will be added in a future product update.
During an upgrade from Ubuntu 14 to Ubuntu 16, system PHP 5.x shipped by OS vendor will be upgraded to PHP 7.x. So to avoid any PHP compatibility issues, before an upgrade, it is highly recommended to switch all sites having PHP handler 5x by OS vendor to corresponding custom PHP handlers. Please refer to these KB articles for details: KB #213382129 KB #213933525 . Also, MySQL server upgrade can fail during the upgrade. The issue and its resolution are described in KB #115003430813.
Note: Most of APS application will not work with PHP 7.x
Performing the dist-upgrade from Ubuntu 14 to Ubuntu 16
-
Create a full server backup. Before the upgrade, make a full server backup. Also notify the customers about upcoming downtime of one to three hours.
-
Run below script and follow the wizard:
# /opt/psa/bin/distupgrade.helper.ubt14-ubt16.x64.sh
The script logs all its actions in
/var/log/plesk/install/plesk-distupgrade.log
. -
During the script execution you will be asked to reboot the server. Reboot the server.
-
After the server reboot, run the script once again.
Performing the dist-upgrade from Debian 6,7,8 and Ubuntu 12:
-
Create a full server backup. Before the upgrade, make a full server backup. Also notify the customers about upcoming downtime of one to three hours.
-
Consider to remove sources list backup files which might be left from previous dist-upgrade:
/etc/apt/sources.list.saved_by_plesk_distupgrade
- /etc/apt/sources.list.d/50sw_autoinstaller.list.saved_by_plesk_distupgrade`
-
Run pre-upgrade helper script (in this case dist-upgrade from Debian 8 to Debian 9) and prepare Plesk and the system for the upgrade:
# /opt/psa/bin/distupgrade.helper.deb8-deb9_pre.x64.sh
The script logs all its actions in
/var/log/plesk/install/plesk-distupgrade.log
. -
For upgrade from Debian 6,7 disable switching to systemd during the dist-upgrade by creating the file
/etc/apt/preferences.d/local-pin-init
:# echo -e "Package: systemd-sysv\nPin: release o=Debian\nPin-Priority: -1" > /etc/apt/preferences.d/local-pin-init
-
Update source.list file and configure repository for the OS release that is going to upgrade to. For example, for upgrade from Debian 8 to Debain 9:
# cat /etc/apt/sources.list
deb http://deb.debian.org/debian stretch main contrib non-free
deb http://security.debian.org/debian-security/ stretch/updates main contrib non-free
deb http://deb.debian.org/debian stretch-updates main contrib non-free -
Update information about system packages:
# apt-get update
-
Upgrade the system:
-
On Debian:
If Plesk Onyx 17.8 is installed, dist-upgrade should be performed by the execution of the script below:
# /opt/psa/bin/distupgrade.helper.deb8-deb9.x64.sh
-
On Ubuntu:
# do-release-upgrade
This command will perform a complete upgrade of the system, install the newest available versions of all packages and resolve all possible dependency changes between packages in different releases.
During the upgrade the system might produce prompts like:
Configuration file/etc/mysql/my.cnf
==> Modified (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ?
Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** my.cnf (Y/I/N/O/D/Z) [default=N] ?
Choose to replace configuration files with a new one (answerY
).
-
-
Run post-upgrade helper script:
# /opt/psa/bin/distupgrade.helper.deb8-deb9_post.x64.sh
The script logs all its actions in
/var/log/plesk/install/plesk-distupgrade.log
. -
For Debian 6 and Debian 7, remove file
/etc/apt/preferences.d/local-pin-init
and installsystemd-sysv
package:# rm -f /etc/apt/preferences.d/local-pin-init
# apt-get install systemd-sysv -
Reboot the server.
-
Check that Plesk and all its services are working.
Potential issues
All known issues are described in #213373289 Dist-upgrade: known issues
Comments
40 comments
Unfortunately my vserver hosted by hosteurope does not come online again after running
and rebooting after. Although there were no errors.
@Sebastian: Same here ... I've read your comment too late :-(
@Sebastian, @Andy it will be great if you can shed some light on the issues that you faced.
Only the pre-installed version and their updates are usable.
A dist-upgrade attempt will result in a system that is no longer running after a reboot.
I'm still waiting for the backup process of 300 gigabytes (for 6 hours) to repair this bullshit ... please put a hint right over the call.
Reason:
The virtualization software of hosteurope is probably not compatible with the updated kernel and no longer find the VM.
@See: https://www.hosteurope.de/faq/server/server-allgemeines/selbst-installation-sicherheitsupdates/
Hi,
@Sebastian and @Andy are problems solved?
I need to upgrade my debian server with plesk12.5 from wheezy to jessie this weekend. Can you share any recommendations about this upgrade?
@Andy please tell me what virtualization type is used. You can use "virt-what" utility to check it.
My "Solution": I ordered a new clean ubuntu 16.04 and installed plesk by myself. Very disappointing.
Prevent do-release-upgrade to be run directly or at least inject on it a clear warning message requesting confirmation.
Plesk adds its pretty text to the SSH greeting message, so it should be doable. As per this KB article, you have to run a Plesk script; forgetting that and running do-release-upgrade directly may cause high troubles.
Updating from Ubuntu 14.04 to Ubuntu 16.04.1 using do-release-upgrade will fail because MySQL is updated from 5.5 to 5.7, that is unsupported update path as per MySQL official documentation. Your script should do these pre-checks and prevent upgrade or automatically solve the issue before the upgrade.
@Marco, did you check Dist-upgrade potential issues article? Maybe it contains the issue you are talking about and the solution for that.
@Bulat Tsydenov Yes I do and this is not listed. It seems like a bug, infact running the script as described in this article on a clean Ubuntu 14.04 installation, will upgrade MySQL 5.5 to 5.7 that is an unsupported upgrade. Too, command 'update-alternatives' is not run. This will work only if MySQL was manually upgraded to 5.6 before, but this is not mentioned anywhere.
Beware after upgrading from Ubuntu 14 to 16, cron jos set to be run with "PHP from OS vendor" won't run anymore, failing with error "/bin/sh: /usr/bin/php5: No such file or directory" because PHP 5 is not available anymore.
"plesk repair" tool won't regenerate cron jobs.
You have to fix them manually, just open them one by one from Plesk UI, and hit OK button. This will be enough to regenerate cron files.
The issue maybe related to the fact that the "Use PHP version" dropdown still shows PHP 5.5.9 from OS vendor after upgrade. This maybe happens because there are residual 5.5.9 packages in the system that wasn't purged during upgrade.
@Marco, I have reproduced the behavior on a test server and created a request to developers to find out if this is a bug.
All updates regarding the investigation will be sent to your email.
Thank you for the feedback.
@Denis please see https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1725222/
Please note that after upgrade, MySQL event scheduler won't be enabled again, if it was before the upgrade, and you should fix that manually.
@Marco we have created an internal request. You'll be notified via email.
Thank you for the feedback.
@Marco a solution was found and sent to your email. "General information" section of this article was updated. Thank you.
Will there be pre and post upgrade helper files for deb8 to deb 9?
@Marian
Instruction for an upgrade to Debian 9 will be added to this article soon.
Click "Follow" to be notified when the article will be updated.
If MySQL event scheduler (SET GLOBAL event_scheduler = ON) was enabled before the upgrade, it won't be enabled again after following this KB article, without any notice to user.
@Ivan I'm upgrading OS from Debian 7 to 8. After run file /opt/psa/bin/distupgrade.helper.deb7-deb8_pre.x64.sh , I got the error message as picure below

What should i do?
Regards,
@Trung, such errors are usually caused by incompatibility of Plesk with repositories that are configured on the server.
Please, make sure that standard repositories only are configured on the server and restart the script.
Hi, since Ubuntu 18.04.1 was released a month ago, when the upgrade will be available ?
+ Do you recommend an upgrade or a migration on a fresh install ?
Thanks
Hello @Florent, the upgrade will be available soon. There is no exact ETA but this article will be updated with the corresponding information.
> Do you recommend an upgrade or a migration on a fresh install?
Both methods are ok and the choice is up to you.
Hi, i try to update my Debian 8 up tp 9 with Plesk 17.8.11
but it dies everytime at the 'Bootstrapper repair actions failed'
Take a look:
Actually I couldn't figure out how to fix this, do you have any idea?
(And this is the Screenshot out of the told .log file...)
Please help me. :D
Thanks in advance and kind regards.
@Janusz Kucharczyk
Please check the following article:
https://support.plesk.com/hc/en-us/articles/213373289-Dist-upgrade-potential-issues
If the article is not helpful I would recommend you submitting a Support ticket.
I attempted today the upgrade from debian 8 to 9 following the above instructions. All went fine (except in the beginning that I had to manually remove some atomicorp repos [1] which were stopping the procedure), until at the end of the dist-upgrade that I got:
Fetched 76.2 MB in 21s (3472 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package psa-php-configurator
Some error during dist-upgrade middle stage have occurred.
Check /var/log/plesk/install/plesk-distupgrade.log for error details.
Visit https://docs.plesk.com/en-US/current/administrator-guide/server-administration/distupgrade-support.74627/ for information about troubleshooting and recovering from failed dist-upgrade.
STOP Distupgrade
Just out of curiosity I tried to run the post upgrade script (# /opt/psa/bin/distupgrade.helper.deb8-deb9_post.x64.sh) but there was no such script.
I rebooted the server, everything looked fine, I entered Plesk and at the home screen I saw:
Debian 9.8
Product Plesk Onyx
Version 17.8.11 Update #45
It looked as if the upgrade had succeeded. But this being a critical server, I could not risk it, so I restored the server from the snapshot I had taken just before.
So, what happened? Why those errors? Should I try again changing something?
[1]
Err http://updates.atomicorp.com stretch/main amd64 Packages
404 Not Found [IP: 158.69.253.161 80]
Err http://updates.atomicorp.com stretch/main i386 Packages
404 Not Found [IP: 158.69.253.161 80]
Ign http://updates.atomicorp.com stretch/main Translation-en
Fetched 111 kB in 6s (17.8 kB/s)
W: Failed to fetch http://updates.atomicorp.com/channels/tortix-common/debian/dists/stretch/main/binary-amd64/Packages 404 Not Found [IP: 158.69.253.161 80]
W: Failed to fetch http://updates.atomicorp.com/channels/tortix-common/debian/dists/stretch/main/binary-i386/Packages 404 Not Found [IP: 158.69.253.161 80]
Hello Μίστερ Μολ,
The case looks quite complex to discuss it in article comments. Please submit a ticket for us and we will be glad to investigate the issue and assist you.
Hi @Alexandr.
Thanks for your offer, but I cannot submit a ticket since I'm on a licence key bought from Hetzner, which does not provide free support. And my company is not willing to pay for support on a thing that looks like a plesk bug... It's a deadlock! Can you help otherwise?
Μίστερ Μολ,
Thank you for the feedback, I have provided an answer in this article: https://support.plesk.com/hc/en-us/articles/213953025
Please sign in to leave a comment.