The very important question-no server hostname changes correct? (IP's are easy to change...but hostnames are another fun because there's tons of references that get updated)
A bit of warning to others who come later:
IP's might change in dns/mx/hostfile/resolve-but your server name should stay the same till your comfortable running the change name script. Do so after a good backup, test for a few days/week to be sure nothing got seriously harmed, & be sure you have plenty of room for possible downtime. (ie: It might not be a 'just 5 minutes of downtime change' & you might find a problem 2 days later when you attempt to run a command.)
(to do so see
: ZmSetServerName - ZimbraWiki)
Assuming that your new server will have the same IP & FQDN as the old server:
1) backup the /opt/zimbra directory on your current server -for simplicity sake name it will the version 452 and the date (search for the OS backup procedures if you need command syntax help tar/zip/cp)
2) before you go through an OS change, I would recommend that you get 4.5.7 working fine on the centos4.4 box first. (download it/upgade/etc)
3) working smoothly? continue on:
3) check the gid & uid of zimbra and make a note of it
4) zmcontrol stop
5) make another /opt/zimbra/ backup -label it 457 so you know what it is
5) copy the up files from your old server to the new one but don't put them in /opt/zimbra just yet
essentially just rsync/tar/scp them to /tmpbackup/opt/zimbra on the new box, trying to keep permissions intact, you can fix them later but easier if their ok to begin with.
something like: rsync -avHK /opt/zimbra/ /tmpbackup/opt/zimbra OR compress & then move: tar -zcvf /tmpbackup/mail.backup.opt.zimbra.date.gz /opt/zimbra (-p is preserve permissions I think)
5) then disconnect/shutdown the centos4.4 box
6) change any dns/mx records
7) install the same release on the new centos5 Zimbra server as you had on the old centos4.4 server
8) make sure it's all working (send/receive etc just want to make sure you have no DNS/mx trouble)
9) zmcontrol stop
10) move the files from /tmpbackup/opt/zimbra > /opt/zimbra
11) make sure the uid & gid is changed to the ones you had on the old server
12) if you need too, as root:
cd /opt/zimbra/libexec/
./zmfixperms
13) do an upgrade install (./install.sh -s)
14) test the server (send/receive etc)
(of course if you plan to power up the old box be careful you don't have ip/name conflicts)
tip from phoenix: you could also make sure the LDAP password is set properly -check the wiki or forum for details