I did a lot of testing to get the update right from Debian Stretch to Debian Buster running Plesk 18.0.28.2. Unfortunately, Plesk currently doesn't officially support this like it used to do in previous versions. It's possible if you adhere to some specific steps.
Caveats:
Contrary to previous releases, there is no "distupgrade.helper" script anymore.
If you would run dist-upgrade instantly after upgrade, this would lead to a problem with "Removing psa-imp...". Uninstallation will hang and in your mail log you will find this:
Workaround in that case:
At least this was a problem in my VM, although it might be caused by Postfix not being configured.
Steps to follow:
1) Prevent a problem with postfix service not starting:
2) Update your "/etc/apt/sources.list" to use buster instead of stretch.
Don't update the Plesk files in "/etc/apt/sources.list.d", yet! If you do, dist-upgrade would remove Plesk including its database.
3) Upgrade:
4) Update Plesk:
5) plesk.list is adapted by autoinstaller. Need to adapt a second file.
6) Run Dist-Upgrade:
7) MySQL needs special treatment as it won't be updated automatically:
8) Remove old packages:
Some old Plesk packages left:
Workaround: Manually download and install the debian10-version of those files. The file names are current as of today. Check the repository in your browser if you find that some files cannot be downloaded.
The repository URL is here:
9) Fix for bind9 that won't start, printing out lots of AppArmor messages (see Unable to start bind on Plesk Ubuntu/Debian server: loading configuration from '/etc/named.conf' loading configuration: permission denied)
edit 2020-10-09:
10) Noticed that "plesk bin php_settings -u" showed errors "No such file or directory: '/run/plesk/php7.3-fpm.sock'"
To fix this, make sure that every file for a specific PHP version in "/etc/php/*/fpm/pool.d/plesk-service.localdomain.conf" is also using that version inside the file, e.g.
Caveats:
Contrary to previous releases, there is no "distupgrade.helper" script anymore.
If you would run dist-upgrade instantly after upgrade, this would lead to a problem with "Removing psa-imp...". Uninstallation will hang and in your mail log you will find this:
Code:
postfix/postdrop[2812]: warning: mail_queue_enter: create file maildrop/718876.2812: No such file or directory
Code:
killall apt-get; killall dpkg; dpkg --configure -a; apt-get --fix-broken install
Steps to follow:
1) Prevent a problem with postfix service not starting:
Code:
postfix.service: Service has Restart= setting other than no, which isn't allowed for Type=oneshot services. Refusing.
Code:
rm -f /lib/systemd/system/postfix.service.d/respawn.conf
2) Update your "/etc/apt/sources.list" to use buster instead of stretch.
Don't update the Plesk files in "/etc/apt/sources.list.d", yet! If you do, dist-upgrade would remove Plesk including its database.
Code:
sed -i 's:stretch:buster:' /etc/apt/sources.list
3) Upgrade:
Code:
apt-get update && apt-get upgrade
4) Update Plesk:
Code:
/opt/psa/admin/bin/autoinstaller --select-release-current --upgrade-installed-components
5) plesk.list is adapted by autoinstaller. Need to adapt a second file.
Code:
cd /etc/apt/sources.list.d && test -f plesk-ext-panel-migrator.list && \
sed -i "s:stretch:buster:g" plesk-ext-panel-migrator.list && \
apt-get update
6) Run Dist-Upgrade:
Code:
apt-get dist-upgrade
7) MySQL needs special treatment as it won't be updated automatically:
Code:
apt-get install default-mysql-server
8) Remove old packages:
Code:
export PACKAGES="cpp-6 gcc-6 gcc-6-base iproute libasan3 libdns-export162 libdns162 libgcc-6-dev libirs141 libisc-export160 libisc160 libisccc140 libisccfg140 libmagickcore-6.q16-3 libmagickwand-6.q16-3 libprocps6 libssl1.0.2 linux-image-4.9.0-12-amd64 perl-modules-5.24 plesk-distupgrade host"
apt-get purge $(for i in ${PACKAGES}; do dpkg -l "$i" 2>/dev/null | grep -q "^ii" && echo "$i"; done)
Some old Plesk packages left:
Code:
clear; dpkg -l | egrep "stretch|debian9|+deb9|16.04|debian\.9" | egrep -v "rc |php7|php-common"
Workaround: Manually download and install the debian10-version of those files. The file names are current as of today. Check the repository in your browser if you find that some files cannot be downloaded.
The repository URL is here:
Code:
cat /etc/apt/sources.list.d/plesk.list | grep pool
Code:
export MAIN="http://autoinstall.plesk.com/pool/PSA_18.0.28_3548/"
export DEBPATH="dist-deb-Debian-10.0-x86_64/contrib/"
export PARTS="php-ioncube-loader_10.3.9-v.debian.10+p18.0.28.0+t200522.1515_amd64.deb plesk-libboost-1.65_1.65.1-debian.10.200518.2114_amd64.deb plesk-libboost-chrono1.65_1.65.1-debian.10.200518.2114_amd64.deb plesk-libboost-date-time1.65_1.65.1-debian.10.200518.2114_amd64.deb plesk-libboost-filesystem1.65_1.65.1-debian.10.200518.2114_amd64.deb plesk-libboost-iostreams1.65_1.65.1-debian.10.200518.2114_amd64.deb plesk-libboost-locale1.65_1.65.1-debian.10.200518.2114_amd64.deb plesk-libboost-program-options1.65_1.65.1-debian.10.200518.2114_amd64.deb plesk-libboost-regex1.65_1.65.1-debian.10.200518.2114_amd64.deb plesk-libboost-serialization1.65_1.65.1-debian.10.200518.2114_amd64.deb plesk-libboost-system1.65_1.65.1-debian.10.200518.2114_amd64.deb plesk-libboost-thread1.65_1.65.1-debian.10.200518.2114_amd64.deb plesk-libpoco-1.9.0_1.9.0-debian.10.200519.1248_amd64.deb plesk-libstdc++6.3.0_6.3.0-debian.10.190730.1530_amd64.deb plesk-milter_8.14.5-debian.10.200514.1326_amd64.deb plesk-mysql-server_18.0-v.debian.10+p18.0.28.0+t200519.1248_all.deb psa-pear_1.10.9-20191112.debian.10.200519.1248_all.deb sw-tar_1.32-v.debian.10+p18.0.28.0+t200519.1248_amd64.deb"
for PART in ${PARTS}; do wget -q --show-progress "${MAIN}${DEBPATH}${PART}"; done
dpkg -i * && apt-get autoremove
9) Fix for bind9 that won't start, printing out lots of AppArmor messages (see Unable to start bind on Plesk Ubuntu/Debian server: loading configuration from '/etc/named.conf' loading configuration: permission denied)
Code:
cat <<EOF >> /etc/apparmor.d/local/usr.sbin.named
/var/named/run-root/** rwm,
EOF
systemctl reload apparmor
edit 2020-10-09:
10) Noticed that "plesk bin php_settings -u" showed errors "No such file or directory: '/run/plesk/php7.3-fpm.sock'"
To fix this, make sure that every file for a specific PHP version in "/etc/php/*/fpm/pool.d/plesk-service.localdomain.conf" is also using that version inside the file, e.g.
Code:
sed -i 's:7.0:7.3:g' /etc/php/7.3/fpm/pool.d/plesk-service.localdomain.conf && \
plesk bin php_settings -u
Last edited: