• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Plesk update to 10.4 error

MikeyT

New Pleskian
Hi,

I've tried to install the plesk 10.4 update from 9.5 on a CentOs 5.8 server. The initial update failed and subsequent updates have failed using the ./bootstrapper.sh repair command. The failure message is:

Trying to set up APS controller database... Attempting to check APS db connection via ODBC, using /usr/bin/isql (empty output is good)
/usr/bin/isql: relocation error: /usr/lib64/libmyodbc3.so: symbol strmov, version libmysqlclient_15 not defined in file libmysqlclient.so.15 with link time reference
Failed, rc = 127.
Failed to establish test connection. Cleaning up.

I've confirmed that I can connect to the mysql database using:

mysql -h 127.0.0.1 -P 3306 -uadmin -p`cat /etc/psa/.psa.shadow`

Initially it wouldn't but on resetting the password, it now does.

Does anyone have any suggestions?

Thanks.
 
Last edited:
For completeness:

---------------------------------------------------------------
PRODUCT, VERSION, OPERATING SYSTEM, ARCHITECTURE
Plesk 10.4.4, CentOS 5 (64-bit)

PROBLEM DESCRIPTION

Error when trying to update to 10.4.4

STEPS TO REPRODUCE

Run ./bootstrapper.sh repair

ACTUAL RESULT

Error message:

Trying to set up APS controller database... Attempting to check APS db connection via ODBC, using /usr/bin/isql (empty output is good)
/usr/bin/isql: relocation error: /usr/lib64/libmyodbc3.so: symbol strmov, version libmysqlclient_15 not defined in file libmysqlclient.so.15 with link time reference
Failed, rc = 127.
Failed to establish test connection. Cleaning up.

httpd succesfully restarts, psa successfully restarts but update not successful. Home pages redirected to horde webmail login page. Can login to admin control panel but then get following error message:

ERROR: Zend_Db_Statement_Exception

Up Level
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'psa.smb_apsPackages' doesn't exist


EXPECTED RESULT

Update to run without errors

ANY ADDITIONAL INFORMATION
--------------------------------------------------------------
 
How did you do to resolve this problem ?
I exactly have the same on.

thanks
 
I haven't yet! Am still trying - have updated all packages but no luck. Will post back if I get a resolution but at some point will have to cut my losses and re-image the server.
 
I still have :


===> Installing /usr/sbin/suexec replacement
Trying to backup original /usr/sbin/suexec... done
`/usr/local/psa/suexec/psa-suexec' -> `/usr/sbin/suexec'
Trying to set up APS controller database... Attempting to check APS db connection via ODBC, using /usr/bin/isql (empty output is good)
/usr/bin/isql: relocation error: /usr/lib64/libmyodbc3.so: symbol strmov, version libmysqlclient_15 not defined in file libmysqlclient.so.15 with link time reference
Failed, rc = 127.
Failed to establish test connection. Cleaning up.

ERROR while trying to establish test connection to APS database via ODBC
Check the error reason(see log file: /tmp/plesk_10.4.4_installation.log), fix and try again

***** problem report *****
ERROR while trying to establish test connection to APS database via ODBC
Check the error reason(see log file: /tmp/plesk_10.4.4_installation.log), fix and try again




But mysql -h 127.0.0.1 -P 3306 -uadmin -p`cat /etc/psa/.psa.shadow` is working right now.
 
It's exactly the same error message as my server - I've just bought a support incident with Parallels as I need it back up and running asap and I can't find any solutions anywhere. I'll let you know if they manage to sort it out.
 
I ended up paying for support and although Parallels didn't fix it themselves for me, they pointed me in the right direction. After a few more hours pulling my hair out, this is the summary of how to fix the issue...

The real problem is php and mysql packages from 3rd party repositories, at some point in the past I added the atomic repository to the yum installer and it was these that was causing the update issues. I think I probably did it to upgrade to PHP 5.3.

1. Find out existing php rpm packages.

# rpm -qa|grep php

2. Delete all php rpm packages

I left all the psa packages but manually removed all the others one by one using command below (the no dependency and all matches flags stop error messages). I had to delete about 11 php packages and 5 mysql packages.

# rpm -e --nodeps --allmatches php-5.3.10-5.el5.art

3. Do the same for mysql packages

# rpm -qa|grep mysql

4. Remove any additional yum repositories

# cd /etc/yum.repos.d/

# ls

atomic.repo CentOS-Base.repo.rpmnew CentOS-Media.repo
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Vault.repo

You should only have the CentOs repositories listed - rename the atomic.repo so it doesn't get used by yum

# mv atomic.repo atomic.repo.old

5. Clean yum

Clean yum to remove any cached packages

# yum clean all

6. Reinstall mysql

Use the following command to reinstall the mysql group (includes server, client etc.)

# yum groupinstall "MySQL Database"

7. Start mysql and check connection

Restart mysql (it may not have been started)

# /etc/init.d/mysqld restart

Check connection

mysql -h 127.0.0.1 -P 3306 -uadmin -p`cat /etc/psa/.psa.shadow`

At one point in the failed upgrade, Plesk deleted the stored password. If you can't connect and you get an access denied error message then try this kb http://kb.parallels.com/112492.

8. Reinstall php

Use the following yum command

# yum install php

9. Restart mysql and apache

Just to make sure, I then restarted mysql and apache

# /etc/init.d/mysqld restart
# /etc/init.d/httpd restart

10. Rerun the Plesk repair install

Use the bootstrapper command to re-run the plesk install

# /usr/local/psa/bootstrapper/pp10.13.4-bootstrapper/bootstrapper.sh repair

The name of the subfolder 'pp10.13.4-bootstrapper' depends on the version of plesk you are upgrading to. This should now run without errors - be patient it might take a few moments to complete.

11. Check Plesk is working

Login to the control panel and make sure you can access everything

12. Check hosted sites

My static sites were now up and running but my Joomla sites were showing an MySQL adapter connection error. The server at this point really does only have the very basic php and mysql packages.

13. Install additional packages

The main one I needed to get Joomla up and running was php-mysql. Run yum to install:

# yum install php-mysql

14. Update PHP

I did run into a few problems on newer Joomla sites as Joomla 2.5 requires at least 5.2.4 and yum installs 5.1. Having got everything running I then removed php using steps 1 and 2 above and re-installed a newer version of php using:

# yum install php53
# yum install php53-mysql


Hopefully that's helped someone else - it took me about 24hrs to get the server up and running again! However, Plesk 10.4.4 does have the security update which forced me to start the update process initially.
 
Last edited:
Hey, thanks for that! Saved me a lot of time.

I'll just add a few comments which I hope can save others even more time.

1) yum groupinstall "MySQL Database" installs both 32-bit and 64-bit packages. I couldn't find an option to choose which. So afterwards I did a

# yum remove mysql.i386 unixODBC.i386 unixODBC-libs.i386

to remove the extra packages that were installed.

2) PHP... A few things:

2a) Generate a list of only php packages (and not any package with 'php' in the name)

# rpm -qa | grep ^php- > php-rpms

2b) To remove all the above packages in one go

# rpm -e --nodeps `cat php-rpms`

2c) To reinstall (after changing repo stuff) all the same packages, in one go, we use some perl/regex magic to strip off the package versioning (READ the next point before doing this). This avoids a situation where we later figure out we're missing some stuff and have to figure it out later.

# yum install `cat php-rpms | perl -n -e '/^([A-Za-z-]*)-[0-9]*.*$/m && print "$1 "'`

2d) However, if like the original author, you installed the additional repos to get PHP 5.3, you'll have problems downgrading back to 5.1. However, since CentOS 5.5, there are php 5.3 packages in the official repos, they're just named php53-*. So with more script magic, we can reinstall (most) of our old packages, but the 5.3 versions instead (i.e. run this command instead of the command above)

# yum install `cat php-rpms | perl -n -e '/^([A-Za-z-]*)-[0-9]*.*$/m && print "$1 "' | sed s/php-/php53-/g`

However, now we'll be missing some packages from PEAR and PECL, which aren't packages for us anymore, but we can build them again with these tools. First make sure PEAR is installed:

# yum install php-pear

I had some old stuff lying around, so I needed to first uninstall anything I wanted to install for it to work properly. e.g.

# pear uninstall DB
# pear install DB

The packages I was missing and needed was in pear: DB and PHP_Compat, and in pecl: apc, memcache and memcached. Note building apc required me to

# yum install pcre-devel.x86_64

Good luck everyone! Wishing you all an easy upgrade :)
 
The problem was caused by bug in package mysqlclient15 from Atomic repo that is installed together with mysql
Now fixed package is available in Atomic repository:
mysqlclient15-5.0.90-2.el5.art

#yum update mysqlclient15

#yum info mysqlclient15
Installed Packages
Name : mysqlclient15
Arch : x86_64
Version : 5.0.90
Release : 2.el5.art <----
Size : 2.9 M
Repo : installed
 
MikeyT:
Awesome!!!!! I've been reluctant to upgrade b/c I knew I'd have down time, but I thought it would be for hours. I followed your steps thru step 10 basically. I found that I had installed a few PHP and MySQL items, which I now remember. Really great!
 
The problem was caused by bug in package mysqlclient15 from Atomic repo that is installed together with mysql
Now fixed package is available in Atomic repository:
mysqlclient15-5.0.90-2.el5.art

#yum update mysqlclient15

#yum info mysqlclient15
Installed Packages
Name : mysqlclient15
Arch : x86_64
Version : 5.0.90
Release : 2.el5.art <----
Size : 2.9 M
Repo : installed

I just signed up solely to say a massive thank you - you saved my bacon!
 
Back
Top