Dist-Upgrade Support

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

  • Debian 6 to Debian 7
  • Debian 7 to Debian 8
  • Ubuntu 12.04 to Ubuntu 14.04

Warning: If you are running Plesk on a Linux distribution that is not Debian 6 or 7, or Ubuntu 12.04, do not attempt to upgrade the operating system. Such upgrade paths are not supported, and attempting to upgrade will damage your Plesk installation.

Warning: Read the instructions below carefully and follow them closely. Failure to do so may result in Plesk and its services being inoperable.

To perform the dist-upgrade, follow these steps:

  1. Before performing the dist-upgrade, make sure you have read about the possible issues you may encounter:
  2. Run the pre-upgrade script. The pre-upgrade script is named distupgrade.helper.<OS.old-OS.new>_pre.sh and is located in the /usr/local/psa/bin directory.
  3. Perform the dist-upgrade according to the operating system documentation:
  4. Run the post-upgrade script. The post-upgrade script is named distupgrade.helper.<OS.old-OS.new>_post.sh and is located in the /usr/local/psa/bin directory.

After the post-upgrade script finishes, Plesk should be up and running. You can check the upgrade log /var/log/plesk/install/plesk-distupgrade.log for detailed information about the upgrade.

Recovering from a Failed Dist-Upgrade

To recover from a failed dist-upgrade, follow these steps:

Check updates for system packages

  1. Make sure that both /etc/apt/sources.list and the repositories in /etc/apt/sources.list.d/ are switched to the new OS release (i.e. "jessie" if you are upgrading to Debian 8, "wheezy", to Debian 7, and "trusty", to Ubuntu 14).
  2. Run the apt-get update, apt-get upgrade, and apt-get dist-upgrade commands. If no packages need to be updated, then the upgrades have already been installed. Otherwise, packages need to be upgraded. See the Upgrade packages section below for details.

Check updates for Plesk packages

  1. Inspect the list of installed packages. Run the dpkg -l | less command. Plesk packages are usually prefixed or suffixed with "plesk-", "psa", or "sw-". Make sure that the version of all Plesk packages contains the name of the OS you are upgrading to (e.g. "debian8" if you are upgrading from Debian 7).
  2. If the version of one or more Plesk packages contains the name of the OS you are upgrading from (e.g. "debian6" if you are upgrading from Debian 6), those packages need to be upgraded. See the Upgrade packages section below for details.

Upgrade packages

  1. Enable Plesk repositories.
    1. Run the plesk-installer --skip-cleanup command (add other options as necessary).
    2. Select the currently installed Plesk version, e.g. 12.5.30.
    3. Wait for the list of components to load, then cancel the installation.
    4. The file /etc/apt/sources.list.d/50sw_autoinstaller.list will be created.
  2. Edit apt repositories (/etc/apt/sources.list and /etc/apt/sources.list.d/*.list) by replacing the OS codename with the new one, as necessary (i.e. replace "precise" with "trusty", "squeeze" with "wheezy", and "wheezy" with "jessie").
  3. Upgrade the packages.
    1. Run the apt-get update command.
    2. Run the apt-get upgrade command.
    3. Run the apt-get dist-upgrade command.
    4. If the installation of packages fails, run the apt-get install -f command to reconfigure the packages that were not installed successfully, fix any errors, and try again.

Upgrade Plesk components

  1. After packages are upgraded, run the Plesk Installer again and install updates for the installed components.

Repair Plesk

  1. Run the plesk repair installation command.
  2. Run the plesk repair all -n command to check for problems with the Plesk configuration.
  3. If any problems are detected, you can try to fix them automatically with the plesk repair command (use the corresponding aspect, e.g. plesk repair mail or plesk repair web). If this fails, try fixing the detected issues manually or contact support.
Potential Issues
  • The "API module structure...is garbled" error message when configuring Apache indicates that Apache was updated, but one or more modules were not. Disable the affected modules to resolve the issue.
  • The "No matches for the wildcard '*.conf'" error message when configuring Apache indicates that Apache was updated, but one or more of its configuration files found in /etc/apache2/conf.d and /etc/apache2/plesk.conf.d still contain the Include directive with the old syntax. Replace Include with IncludeOptional to resolve the issue.
  • The "Could not open configuration file ..." error message when starting Apache may indicate that the specified file is a symlink pointing to a non-existent file. Remove the symlink to resolve the issue.
  • The "Invalid command 'LockFile'" error message when starting Apache indicates that Apache was updated, but the configuration file /etc/apache2/apache2.conf contains the deprecated LockFile directive. Replace the line
LockFile ${APACHE_LOCK_DIR}/accept.lock

with the line

Mutex file:${APACHE_LOCK_DIR} default

to resolve the issue.

  • The "SSLSessionCache ... session cache not supported" error message when starting Apache may indicate that the socache_shmcb.load file is missing. Run the following command
cp /etc/apache2/mods-available/socache_shmcb.load /etc/apache2/mods-enabled/

to resolve the issue. You should also edit the /etc/apache2/mods-enabled/ssl.conf file and replace the line

SSLMutex file:${APACHE_RUN_DIR}/ssl_mutex

with the line

Mutex file:${APACHE_LOCK_DIR} ssl-cache

to avoid a different issue.

  • The "Invalid command 'Order'" error message when starting Apache indicates that Apache was updated, but one or more of its configuration files found in /etc/apache2/conf.d and /etc/apache2/plesk.conf.d still contain the deprecated Order directive. Replace the lines
Order allow,deny
Allow from all

with

Require all granted

to resolve the issue.

  • The "Config file dir.conf not properly enabled" error message may indicate that the file /etc/apache2/mods-enabled/dir.conf is a real file instead of a symlink. Remove the file and create a symlink pointing to /etc/apache2/mods-available/dir.conf to resolve the issue.
  • The "Failed to get D-Bus connection" error message may indicate an incomplete switch from init to systemd. Restart the server to resolve the issue.