Thursday, July 21, 2005

RedHat up2date and Plesk

We run Plesk on our hosting servers at DogRiley. We chose it because the interface it offers our clients for managing aspects of their domains is quite nice. While Plesk has a nice interface upgrades to the base OS and to Plesk itself can be challenging and problematic. Unfortunately, due to the nature of the business, security updates for operating systems are something that cannot be avoided and we take them seriously.


So......


During a recent up2date session I learned a few tricks about how to better deal with the interaction of Plesk and RedHat, and thought I would cover them here, in case someone else can learn from them.


When running a normal up2date session I like to always test the environment by doing a dry run:

up2date –dry-run
it is a good way to get a feeling for any challenges you may be facing. Pay close attention to any dependency problems. Up2date is good, but sometimes it doesn't solve all your dependencies. When running up2date make sure that you have configured the pkgSkipList to exclude packages. Run

up2date –configure
and option 9 will allow you to add to the skip list. Normally for servers I have kernel* in there to prevent kernel upgrades. These I will do at seperate times and based on security issues that demand an upgrade, not just because a new kernel is out.


On our last up2date run we discovered 2 issues with the upgrade that affected our operations. The first was with the rpm packages. When rpm and its associated packages rpm, rpm-python, rpm-devel, rpm-libs and rpm-build get upgraded you run into an issue with Plesk 7. After the upgrad Plesk will no longer accept any logins to the control panel, it will complain about

“Unable to exec utility packagemng: packagemng: Unable to open rpm db: cannot open Packages using db3 - (-30982) “


A short term fix I found was to delete the __db.00* files that reside in /var/lib/rpm.

rm -f /var/lib/rpm/__db*
This allows Plesk logins again, but it causes an issue with rpm or up2date, they are unable to read the rpm database. To fix this issue you can delete the __db.00* files again and run
rpm –rebuilddb
You can then run up2date and rpm, but you cannot log into Plesk. I eventually found that by returning to an older revision of the rpm programs rpm-4.2.3-10 I was able to resolve this issue, and run both Plesk and up2date without any problems. So we now have excluded rpm* with up2date –config on all of our Plesk hosting servers.


The second issue I found with Plesk is that during the update process suexec was upgraded to a newer version. This in itself didn't present a problem until a client who uses FrontPage extensions called. It turns out that Plesk is fussy about suexec, and uses a special version called psa-suexec, when pas-suexec and suexec get out of sync a symptom is that FrontPage extensions stop working. Simply copy suexec to another file like suexec.original and then copy the existings psa-suexec to suexec.

cp /usr/sbin/psa-suexec /usr/sbin/suexec
This restores all of the necessary functionality for FrontPage extensions to work fine.

We will soon be doing the Plesk upgrade from Plesk 7 to Plesk Reloaded, I have read that there are some challenges with this, and of course will share what we learn with you all.


Till next time:
Sean Riley
President, DogRiley