• Please be aware: Kaspersky Anti-Virus has been deprecated
    With the upgrade to Plesk Obsidian 18.0.64, "Kaspersky Anti-Virus for Servers" will be automatically removed from the servers it is installed on. We recommend that you migrate to Sophos Anti-Virus for Servers.
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • We’re working on enhancing the Monitoring feature in Plesk, and we could really use your expertise! If you’re open to sharing your experiences with server and website monitoring or providing feedback, we’d love to have a one-hour online meeting with you.

Upgrade from 9.2.2 to 9.5.4 - serious issue

zmitro

New Pleskian
This story began when we were notified by our hosting company about critical vulnerability found in Plesk 9.x. Officially suggested solution for Plesk 9 was "Update to Plesk 9.5.4 MicroUpdate #11", which we've done by going to Plesk panel > Updates, ticking updates and clicking install button. Since then we had the server with 70 domains dead for 6 hours and a lot of angry clients on the phone.

Symptoms: after upgrade attempt from Plesk 9.2.2 to Plesk 9.5.4 on CentOS 5, the process stops in the middle leaving half of the modules from Plesk 9.2 and the rest from Plesk 9.5. When trying to reach web control panel, all you can see is an error message saying "The licence key is not valid". All virtual hosts forward to Plesk webmail.

Cause: The problem is in psa-9.5.4-cos5.build95101209.08.x86_64.rpm, which is a part of upgrade package. It contains MySQL updates using the old syntax. There's *at least* two occurances:

1. CREATE TABLE ...TYPE=InnoDB (usr/local/psa/etc/db/psa_db_upgrade_920.sql)
2. show innodb status (many files e.g. usr/local/psa/bin/mysqldump.sh)

Both statement work until MySQL version 5.2 (because it is backward-compatible with MySQL 4), but fail in any older version (like MySQL 5.5 which we had installed)

Resolution:
1. Backup all databases with mysqldump --all-databases
2. Find (rpm -qa | grep '9.2.2') all Plesk 9.2.2 packages and remove them with rpm -e
3. Find (rpm -qa | grep 'mysql') all MySQL packages and remove them with rpm -e --nodeps
!!You can't use yum remove or yum downgrade, because it will basically erase all Plesk modules!!
4. Install mysql-5.0.95-5.el5_9.x86_64.rpm and mysql-server-5.0.95-5.el5_9.x86_64.rpm (5.2 RPMs should also work).
5. Restore all databases from the backup (luckily at this stage we had no data incompatible with MySQL 5.0, but if we had, it would require additional steps)
6. Install psa-9.5.4-cos5.build95101209.08.x86_64.rpm and then all the other RPMs found in /psa/PSA_9.5.4/dist-rpm-CentOS-5-x86_64/base
7. (optional) Upgrade MySQL back to 5.5 with yum upgrade mysql
8. Yum install php-mysql
10. Restart psa

Basically, after these 10 easy steps (that costed me 6 hours of research with the dead server in hands), Plesk is back and in a good shape as far as I can see. Autoinstaller runs no prob as well. However, it looks really strange that:

1. There's no rollback procedure and in case of any error the updates leaves the system unoperational
2. There's no mysql server version check

It would be good to know whether or not we can now rely on the autoinstaller and upgrade the system to Plesk 11 (taking into account MySQL 5.5 installed on the server) without angry clients trying to kill us again.
 
Back
Top