• 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

Problem upgrading SB 3 to SB 4.

S

spliff

Guest
Hello.

As the subject indicates, I'm experiencing a problem with upgrading SB 3.0.2 to SB 4.0.0.

Sitebuilder 3.0.2 was initially installed on a server that was running CentOS 4.5 well over a year ago and during that time, quite a few of our customers are using it. Recently, a server with CentOS 5 installed on it was installed to replace the old server and so we had to transfer SB 3.0.2 over from the old server to the new server.

So in order to retain all of our existing SB sites, the plan was to install SB 3.0.2 on the new server that is running CentOS 5 as well as the same set and version of the modules and templates and then delete /usr/local/sitebuilder/ and the sitebuilder3 database on the new server after which, the SB folder from the old server was to be copied over to the new server and the database dump from the old server then imported into an empty sitebuilder3 database on the new server.

This actually did work as SB 3.0.2 is now running fine on our CentOS 5 server and all of our customer's SB sites appear to be intact.

Now comes the problem: I first tried to upgrade using the AutoInstaller. However, instead of getting a menu as is mentioned here:

http://download1.swsoft.com/SiteBui.../en_US/html/upgrading_using_autoinstaller.htm

and as "illustrated" in this forum post here:

http://forum.swsoft.com/showthread.php?s=&threadid=48789

All I get is this:

Select Plesk software source
===============================================================================

You can install Plesk in one of the following ways:

* Local Media
* Plesk server
* Other network site


Current settings:
Install Plesk from Plesk server
Install required system packages from Plesk server
Store downloaded files to: /root/swsoft

N) Next page; P) Go back; Q) Cancel installing
S) Change source; T) Change target directory;
Select an action and press ENTER [N]:

There's no mention of Sitebuilder - let alone which version I want to install and in fact, this was exactly the same thing as what occurred when I attempted to use the Autoinstaller to install SB 3 over a year ago (just a guess here: but does the AutoInstaller expect Plesk to be installed on the server first?). So, I then chose the alternate installation method using yum by creating /etc/yum.repos.d/sitebuilder.repo, editing it accordingly and then running `yum install sitebuilder'. And so here's the real problem that I'm having: It all seems to proceed fine until it aborts with dependency errors. Specifically, rpm reports the following for each and every installed template:

Error: Missing Dependency: sitebuilder3x_package is needed by package <package>

Where <package> is any one of the installed Template rpms. However, if I run:

`rpm -q --provides sitebuilder'

The result is:

sitebuilder3x_package
sitebuilder = 3.0.2-all.build06112310

So if anyone provide a solution to this, it would be most appreciated.

Thanks in advance,
spliff
 
There's no mention of Sitebuilder - let alone which version I want to install and in fact
Press Enter several times and you will see a list of installable products.

(just a guess here: but does the AutoInstaller expect Plesk to be installed on the server first?).
Actually no. Autoinstaller was originally designed to install plesk and is full of "Plesk" hardcode.

So, I then chose the alternate installation method using yum by creating /etc/yum.repos.d/sitebuilder.repo, editing it accordingly and then running `yum install sitebuilder'. And so here's the real problem that I'm having: It all seems to proceed fine until it aborts with dependency errors. Specifically, rpm reports the following for each and every installed template:

Error: Missing Dependency: sitebuilder3x_package is needed by package <package>

Where <package> is any one of the installed Template rpms.


Try adding the following lines to /etc/yum.repos.d/sitebuilder-templates.repo:
Code:
[sb-templates]
name=sitebuilder 4.0.0 templates
baseurl=http://autoinstall.plesk.com/SiteBuilder/SiteBuilder4/update-rpm-CentOS-4.3-x86_64
enabled=1
gpgcheck=0
the "centos-4.3" line may seem strange, but that is where upgrades for 3.0.2 templates are.

The same "hack" is required to successfully upgrade using autoinstaller
Code:
./ai --add-source repodata,1,[url]http://autoinstall.plesk.com/SiteBuilder/SiteBuilder4/update-rpm-CentOS-4.3-x86_64[/url]
 
FWIW the problem in this case is due to you having installed sitebuilder 3.0.2 on an officially unsupported (by 3.0.2) distribution.
 
Hi Caustic.

Many thanks for your reply. Before I tried your suggestion, I had a dig around the SiteBuilder software repository and can now understand your reasoning. So I went ahead and edited sitebuilder.repo according to your suggestion and ran `yum install sitebuilder'. That worked as far as installing the template packages was concerned but during the actual installation phase, php5.2 was complaining about not being able to obtain the version information from libmysqlclient.so.14 (SWSoft's php5.1 did not complain about that library either on the old server or on the new server).

So that begs my first question of the day: Why is php5.2 even "looking" at libmysqlclient.so.14 seeing as libmysqlclient.so.14 is only installed by MySQL 4.x while the default version of MySQL on CentOS 5 is 5.0.22 and MySQL 5.x provides libmysqlclient.so.15 only.

Anyway, at the end of the installation, I checked SiteBuilder using my browser and it said that it was indeed ver 4.0.0. However, not being entirely comfortable with all of those warnings from php5.2 plus the fact that php5.1 from 3.0.2 was still installed even though it wasn't being used, I thought that I would start from scratch but this time, would first compile libmysqlclient.so.14 myself on the new server running CentOS 5. Before I did that though, I thought that I would give upgrading SB3 to SB4 on the old server a shot first (which is what I would have of course done if we had not comissioned the new server). However, after editing sitebuilder.repo on the old server to pull files from:

http://autoinstall.plesk.com/SiteBuilder/SiteBuilder_4.0.0/dist-rpm-CentOS-4.3-i386/

and from:

http://autoinstall.plesk.com/SiteBuilder/SiteBuilder_4.0.0/update-rpm-CentOS-4.3-i386/

That upgrade failed as well - with the following dependency errors:

Error: Missing Dependency: rtld(GNU_HASH) is needed by package php5sb
Error: Missing Dependency: libcrypto.so.6 is needed by package php5sb
Error: Missing Dependency: libpng12.so.0(PNG12_0) is needed by package php5sb
Error: Missing Dependency: libssl.so.6 is needed by package php5sb
Error: Missing Dependency: libmysqlclient.so.15(libmysqlclient_15) is needed by package php5sb
Error: Missing Dependency: libmysqlclient.so.15 is needed by package php5sb

That was even more amusing than SWSoft's php5.2 seemingly being dependent upon libmysqlclient.so.14 insofar that on the old server that is currently running a fully up to date install of CentOS 4.5:

* The libcrypto version is libcrypto.so.4
* The libpng12 version is liblibpng12.so.0 (libc6) (same as it is on the CentOS 5 server)
* The libssl version is libssl.so.4
* The libmysqlclient versdion is libmysqlclient.so.14 (MySQL 4.1.20 being the default version on CentOS 4.5)

(and I have no idea about 'rtld' except to assume that glibc-2.3.4 is not compatible with php5sb)

So leaving that then, I returned to the new server and used rpm to remove every sitebuilder rpm that was installed, manually removed /usr/local/sitebuilder, /etc/swsoft, /opt/php5{1,2} dropped the sitebuilder3 database and sitebuilder_db user, checked that /etc/crontab was devoid of any sitebuilder cronjobs and that /etc/httpd/conf.d/zz011_sitebuilder.conf had also been deleted. I then reinstalled SB3, installed the modules and the templates, deleted /usr/local/sitebuilder, untarred the original copy of /usr/local/sitebuilder from the old server onto the new server, dropped the sitebuilder3 database, recreated it, imported the sitebuilder3 database from the old server into the empty sitebuilder3 database and changed the sitebuilder_db user's password to the one from the old server.

At this point, SB3 was again working perfectly on the new server with all customer's sites intact and php51 having no problems with my newly compiled version of libmysqlclient.so.14. So on to the update: Not having changed sitebuilder.repo since the last time i.e the updates were set to be pulled from http://autoinstall.plesk.com/SiteBuilder/SiteBuilder4/update-rpm-CentOS-4.3-i386 as before, I then ran `yum install sitebuilder' again. However, while there are no dependency problems with the templates, I now get these two dependency errors instead:

Error: Missing Dependency: php5-ioncube-php52 is needed by package sitebuilder-core
Error: Missing Dependency: php5sb >= 5.2.1 is needed by package sitebuilder-core

Nuts to that :mad: So I delete /var/cache/yum/sitebuilder{,-updates} and run `yum install sitebuilder' again. Same dependency problem. This is starting to really get on my nerves now because php5-ioncube-php52-4.0-rhas4.07041615.i386.rpm and php5sb-5.2.1-10swsoft.i386.rpm are both under http://autoinstall.plesk.com/SiteBuilder/SiteBuilder4/update-rpm-CentOS-4.3-i386/ and both are listed in /var/cache/yum/sitebuilder-updates/primary.xml.gz. However, the headers for those two rpms are not under /var/cache/yum/sitebuilder-updates/headers (all of the headers for the 4.0.0 Templates are under that folder though). Nuts to that as well.

So any ideas as to where I go to from here? If not, then I just discovered that apparently we have paid for support from SWSoft so I might email them and point them to this thread instead.

Cheers.
 
So any ideas as to where I go to from here? If not, then I just discovered that apparently we have paid for support from SWSoft so I might email them and point them to this thread instead.

yum was probably confused because of different (centos 4/centos 5) repositories or concurrent provides.

As a last resort you can try upgrading manually.

Step by step instruction:
Code:
Precondition: Sb 3 is running on Centos5

1. Download all sitebuilder core packages: 
[url]ftp://download1.swsoft.com/Sitebuilder/4.0.0/sitebuilder-4.0.0-centos5.build07062700.tar.gz[/url]
2. Download all modules: 
[url]ftp://download1.swsoft.com/Sitebuilder/4.0.0/modules/centos5/*[/url]
3. Download all locales:
[url]ftp://download1.swsoft.com/Sitebuilder/4.0.0/languages/*.rpm[/url]
4. Download all templates 
[url]ftp://download1.swsoft.com/Sitebuilder/templates/4.0.0/rpms/*[/url]
5. Unpack sitebuilder-4.0.0-centos5.build07062700.tar.gz
6. Install php5sb and php5-ioncube-php52 using 
rpm -ihv updates/*.rpm 

At this point you should be able to use php 5.2 from /opt/php52/bin.

7. Upgrade everything else:
rpm -Uhv --test sitebuilder/*.rpm modules/*.rpm locales/*.rpm templates/*.rpm

if all dependencies are satisfied, run this command without --test

8. If the new installation works fine you can remove php51 package.
 
Hi Caustic.

I'm a twit. I forgot that I've placed php* in the yum exclude list, reason being Modernbill 4.x is installed on the server - which works perfectly fine with the default CentOS 5 version of php (5.1.6) except for one damnable file (orderwiz.php). Because of this fiule, I've had to compile and install php 5.0.5 on the server (orderwiz.php has problems with any version higher than 5.0.5) and ensure that it does not automatically get upgraded.

Anyway, so I temporarily removed php from the exclude list, ran `yum install sitebuilder' and discovered that I had to do one more little dance involving libmysqlclient.so.14. Initially, I was using an rpm of mysqlclient14 that Ensim recommended be downloaded from Dag Wieers' repository well over a year ago (this was to do with upgrading to MySQL 5 on servers that were running Ensim on RHEL 4/CentOS 4 servers). However, as it turns out, this particular rpm, while it provided libmysqlclient.so.14 and libmysqlclient_r.so.14 did not provide libmysqlclient.so.14(libmysqlclient_14) nor libmysqlclient_r.so.14(libmysqlclient_14) which, as it turns out, phpsb and php5-ioncube-php52 for CentOS 4.3 both required (other packages such as the mysql php extension for RHEL 4/CentOS 4 also have the exact same dependency).

So in short, those dolts at Ensim recommended the wrong rpm when they recommended mysqlclient14 from the Dag Wieers repository instead of the correct one which is located in the centosplus folder in the CentOS repository.

Anyway, I then installed the CentOS4 mysqlclient14 rpm then overwrote the libraries with the ones that I compiled on the server and yum then installed SB4 without any warnings or errors being generated. To finish/tidy up, I then removed the php5sb and php5-ioncube-php52 rpms for CentOS 4.3, replaced them with their equivalents for CentOS 5, reinstalled sitebuilder-core and then lastly uninstalled mysqlclient14.

Many thanks for your help :)
 
Hi spliff.

Well you definitely have a "non standard" configuration. Glad I could help. :)

BTW SWSoft folks keep saying the new version is coming soon, maybe it makes sense to wait a week or two for it.
 
Hi Caustic.

Well, while I definitely took a roundabout way of getting there, I'm confident that the SB 4 installation is now a standard one for CentOS 5.

As was mentioned before, there were no warnings/errors reported during the upgrade process by rpm and looking in the logs under /usr/local/sitebuilder/tmp{,migration}, it appears that the entire update process completed without a hitch. As such, the server now has the following rpms installed on it:

sitebuilder-selinux-1.0-centos5.build07062700
sitebuilder-core-4.0-centos5.build07062700
sitebuilder-4.0.0-all.build07062700
sitebuilder-module-*-4.0.0-all.build07062700
php5sb-5.2.1-10swsoft
php5-ioncube-php52-4.0-centos5.07051718
all of the 4.0.0-all.build07062700 templates

All of the above came from dist-rpm-CentOS-5-i386 except (initially) the php52 files and the templates. In the case of the templates (and the modules as well for that matter), they're 'noarch' anyhow and in fact, early on during my investigations, the SB 4.0.0 templates are identical to the SB 3.0.2 templates of the same names (yes, I pulled a couple of template rpms apart early on in the piece :p ).

So at the end of the day, all that really needed to be done to make this a standard installation of SB 4 for CentOS 5 was to simply update the php5.2 rpms from the CentOS 4.3 versions to the CentOS 5.0 versions.

Couldn't have done it without your assistance though.
 
DavidKiel
Some of the repositories are not GPG signed so I have to run up2date with the --nosig option, we'll see if it works.
This should work.

By the way, 4.1.0 is out and as far as I can see this problem has been resolved. All the template packages are now under dist/ subdir for every OS.
 
Back
Top