Starting with Plesk 12.5, it is possible to upgrade the operating system on a Plesk server. The following dist-upgrade paths are supported in Plesk:

  • Debian 6 to Debian 7
  • Debian 7 to Debian 8
  • Ubuntu 12.04 to Ubuntu 14.04
  • Ubuntu 14.04 to Ubuntu 16.04 (supported by Plesk Onyx only)

Dist-upgrade is not a simple process. To go through it you must have considerable experience in the system administration, the knowledge of the system and its components.

If you have never performed dist-upgrade before, it is recommended to do the following first:

  1. Install the 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:

  2. 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)

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.

Note: Note: Most of APS application will not work with PHP 7.x

Performing the dist-upgrade from Ubuntu 14 to Ubuntu 16

To perform the dist-upgrade from Ubuntu 14 to Ubuntu 16:

  1. Run the script below 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.

  2. During the script execution you will be asked to reboot the server. Reboot the server.

  3. After the server reboot, run the script once again.

Performing the dist-upgrade from Debian 6,7 and Ubuntu 12

Preparing server for upgrade:

  1. Create a full server backup. Before you begin the upgrade, make a full server backup. Also notify your customers about upcoming downtime of one to three hours.

  2. 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
    
  3. Run pre-upgrade helper script (in this case dist-upgrade from Debian 7 to Debian 8) and prepare Plesk and the system for the upgrade:

    # /opt/psa/bin/distupgrade.helper.deb7-deb8_pre.x64.sh
    

    The script logs all its actions in /var/log/plesk/install/plesk-distupgrade.log.

  4. Disable switching to systemd during the OS upgrade. Create the file /etc/apt/preferences.d/local-pin-init with the following content:

# cat /etc/apt/preferences.d/local-pin-init
Package: systemd-sysv
Pin: release o=Debian
Pin-Priority: -1

Performing the dist-upgrade

  1. Update information about system packages:

    # apt-get update
    
  2. Upgrade the system:

    • On Debian:

      # apt-get dist-upgrade
      
    • 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 (answer Y ).

Finalizing the upgrade

  1. Run the post-upgrade helper script:

    # /opt/psa/bin/distupgrade.helper.deb7-deb8_post.x64.sh
    

    The script logs all its actions in /var/log/plesk/install/plesk-distupgrade.log.

  2. Remove the file /etc/apt/preferences.d/local-pin-init and install systemd-sysv package:

    # rm -f /etc/apt/preferences.d/local-pin-init
    # apt-get install systemd-sysv
    
  3. Reboot your server.

  4. Check if Plesk and all its services are working.