How to upgrade SuSE 10.1/Plesk 8.4 to CentOS 5.5/Plesk 9.5

In Webserver by MyrddinLeave a Comment

This Server was set up in 2007 on SuSE 10.1 & Plesk 8.1, but meanwhile SuSE 10.1 reached end of life cycle and is no logner being supported. It got increasingly tedious to keep up to date with current security patches. The main reason for delaying an upgrade was that SuSE isn’t very good to upgrade form each build to the next and this server runs several productive realms and databases.

Nevertheless I had been looking around for a decent new Operating System and decided to go for CentOS as it is very friendly towards upgrades.

Anyway here is how I did it.

Lets get started!

My provider has a protected directory /private-backup/ where I can store files even over restore or new installation. This saved me the trouble of a downloading and uploading the backup.

So lets do a backup with pleskbackup:

/usr/local/psa/bin/pleskbackup -v all /private-backup/plesk-full
/usr/local/psa/bin/pleskrestore --create-map /private-backup/plesk-full -map /private-backup/plesk-full.map

You can get a smaller file by copying clients (and their domains) and by skipping logfiles:

/usr/local/psa/bin/pleskbackup -v clients --skip-logs /private-backup/plesk-clients
/usr/local/psa/bin/pleskrestore --create-map /private-backup/plesk-clients -map /private-backup/plesk-clients.map

Now download the backup and when youa re finished install CentOS 5.5. My provider Strato provides a slim CentOS image ready to install Plesk. When the new installation is finished you should upload the backup again.

Plesk 9.x

While uploading the backup you can start to install Plesk.  Open http://www.parallels.com/download/plesk9/#centos and find the installer for your platform.

mkdir ~/psa
cd ~/psa
wget http://download1.parallels.com/Plesk/PPP9/CentOS5/parallels_installer_v3.6.0_build100407.15_os_CentOS_5_i386
wget http://download1.parallels.com/Plesk/PPP9/CentOS5/psa-9.5.2-cos5.build95100504.12.i586.rpm.tar.gz
chmod +x parallels_installer_v3.6.0_build100407.15_os_CentOS_5_i386./parallels_installer_v3.6.0_build100407.15_os_CentOS_5_i386

Press Enter to advance through the Installer:

Select the desired products and their versions
 =================================
 The following product versions are available:
 1. [*] Parallels Plesk Panel
 2. [ ] Parallels Small Business Panel
 3. [ ] Sitebuilder

and select custom install

1. [*] Base packages of Plesk
2. [*] Plesk Updater
3. [*] PostgreSQL server support
4. [ ] Application vault packages
5. [ ] Plesk Professional Web Site Editor
6. [*] Plesk API [former Plesk Agent]
7. [*] Plesk migration manager
8. [ ] SiteBuilder publishing support for Plesk
9. [ ] SiteBuilder module migration suite
10. [ ] ColdFusion support for Plesk
11. [ ] MIVA Empresa support
12. [ ] Plesk billing
13. [*] PHP5 support
14. [*]  Plesk hosting features Different mailservers
15. (*) Qmail mailserver
16. ( ) Postfix mailserver
17. [*]  Additional Plesk modules
18. [ ]  Game servers
19. [.]  Addition mail services
20. [*]  Server backup solutions
21. [.]  Additional language packs
22. [*]  Plesk webmails support

If a selection is followed by a there are subcomponents you can chose to install, for example:

Plesk hosting features:
 1. [*] Bandwidth Limiter For Apache support (mod_bw)
 2. [ ] Apache ASP support
 3. [ ] Tomcat Java Servlets support
 4. [*] Apache mod_python module
 5. [ ] Ruby on Rails support
Primary components list / modules;
 1. [*] Plesk Firewall module
 2. [*] Plesk VPN module
 3. [ ] Plesk Fileserver module and SMB file server package
 4. [ ] SSHTerm - SSH Terminal java applet
 5. [ ] Watchdog (System monitoring module)
Primary components list / mail:
 1. [*] Mailman mailing list manager support
 2. [ ] Kaspersky antivirus module
 3. [*] Parallels Premium Antivirus
 4. [*] SpamAssassin support

Then proceed with the install, bring some patience. Should Plesk abort the process, then a “yum install db4-utils” might help to resume.

Once the install has completed can now log in to Plesk:

https://hostname.domain.name:8443/ User: admin Password: setup

One of the best features of my old server was a perfectly installed opcode cache xCache. I decided to use APC on this system since it appears to become part of PHP 6.0

wget -q -O - http://www.atomicorp.com/installers/atomic.sh | sh
yum update php
yum install php-pear
yum install php-devel
yum install httpd-devel
pecl install apc

create file /etc/php.d/apc.ini

extension = apc.so
apc.enabled = 1
apc.shm_size = 192
apc.include_once_override = 1
apc.mmap_file_mask = /tmp/apc.XXXXXX
apc.shm_segments=3
apc.ttl=3600
apc.user_ttl=3600
Selective caching

apc.shm_size value is the cache size in megabytes

Restore Data from Plesk 8.4 to 9.5

Meanwhile the backup should be uploaded, but if you try right away to restore your backup you will only encounter this error:

pmm-ras error (Error code = 1):
== STDOUT ====================
Archiver error: unable to extract files from /root/backup/complete

==============================
== STDERR ====================

==============================

This is related to the new format of the Plesk backup file in version 9.x. Fortunately you can use pr9-backup-convert to convert an 7.x 8.x to 9.x version file.

/usr/local/psa/bin/pre9-backup-convert -v convert -d /var/lib/psa/dumps/ /private-backup/plesk-clients

When the convert is finished you can log into Plesk, navigate to Home -> Backup Manager and you will see the newly converted file:

“This is a valid backup. Data can be restored from this backup”: backup_xxxxxx_1009040712.xml

Follow the instructions to restore all clients and their domains.

That is it!

Tips:

Use Xenu’s Link Sleuth to check for 404 errors.

Issues:

  • Plesk install aborted, install the required libraries
    yum install db4-utils
  • Mysql will not start after “yum update”
    Comment out “# skip-bdb” in /etc/my.cnf
    mysql_upgrade –verbose -u admin -p
    enter the plesk admin password at the prompt
  • WordPress paths point to old directory structure, open phpmyadmin
    update wp_postmeta set meta_value = replace(meta_value, ‘/srv/www/vhosts/yourhost.tld/httpdocs/wp-content/’, ‘/var/www/vhosts/yourhost.tld/httpdocs/wp-content/’)
  • Horde Webmail is not enabled
    reinstall the packages via the installation subfolders that were created at the start. In this case:
    rpm -ivh –replacepkgs psa-imp-4.3.6-cos5.build95100504.12.noarch.rpmrpm -ivh –replacepkgs psa-horde-3.3.6-cos5.build95100504.12.noarch.rpm
  • Dr Web is spamming mails
    edit /etc/drweb/drweb32.ini
    # CronSummary = {Boolean}
    # Enables output of update session log to stdout.
    CronSummary = No

Documents that helped me

  • Install Plesk on CentOS:
    http://www.eukhost.com/forums/f15/how-install-plesk-control-panel-linux-vps-dedicated-servers-5434/
  • APC on CentOS:
    http://www.christianmontoya.com/2008/10/01/upgrading-php-and-installing-apc-on-centos-5-with-plesk/
  • Parallels backupconvert:
    http://kb.parallels.com/en/5864

Leave a Comment