Results 1 to 10 of 10

Thread: Migrating from one server to another and upgrading from 4.5 to 5.0 AND port changes

Threaded View

  1. #1
    Join Date
    Oct 2007
    Location
    Garner, NC, USA
    Posts
    28
    Rep Power
    8

    Talking Migrating from one server to another and upgrading from 4.5 to 5.0 AND port changes

    Hi Folk! I just successfully upgraded and moved my server and since it was pretty complex and someone else may try the same thing, I thought I'd post what I did.

    First off, I used this as a reference:
    http://www.zimbra.com/blog/archives/...er_server.html

    So... here's the scenario. I have a primary server, we'll call it example.org (10.0.0.1 internally). It handles DNS, NAT/being the internal primary router, and just about everything. To start with, it is running Zimbra. This box is running CentOS 4.6 and Zimbra 4.5.10. The mail domain is example.org, same as the host. Now, seeing as I had HTTP and LDAP services of my own, I was changed the following Zimbra ports:
    - HTTP (80) -> 6390
    - HTTPS (443) -> 6391
    - LDAP (143) -> 6392

    I want to move this to another CentOS 4.6 box, move the ports back to their original locations, still allow port 6390/6391 to work, and upgrade to Zimbra 5. I will also need to change the hostname since the original server will retain the example.org hostname. New host will be zimbra.example.org (10.0.0.100 internally). This is going to be a VM under example.org actually, but this isn't really important.

    So, pretty complex procedure. Had a number of failures at first but finally nailed it. I'm going to prefix these things with newhost (zimbra.example.org) and oldhost (example.org) to distinguish them. Here is what all I did:

    Initial Migration

    1. newhost: just in case I was trying things before, make sure all of the zimbra RPMs are not installed
    2. newhost: download zimbra package, and: install -s (software only install)
    3. newhost: edit /etc/passwd and /etc/group and make the zimbra and postfix users and groups have the same uid and gid as they have on oldhost
    4. oldhost: tar up current zimbra install (cd /opt; tar cvjpf zimbra.tar.bz2 zimbra) this takes a while and there are a number of other ways you can do this
    5. oldhost: scp zimbra.tar.bz2 root@zimbra.example.org:~
    6. newhost: cd /opt
    7. newhost: rm -rf zimbra
    8. newhost: tar xvjpf ~/zimbra.tar.bz2
    9. newhost: edit /etc/hosts, make example.org resolve to this host for now
    10. newhost: su - zimbra
    11. newhost: zmcontrol start (now, the logger job failed for me once here, i just did a zmcontrol stop, make sure to clean up all zimbra processes, and zmcontrol start again and it was fine the next time)
    12. newhost: /opt/zimbra/libexec/zmsetservername zimbra.example.org
    13. newhost: zmcontrol stop
    14. newhost: edit the following files, changing port 6390 to 80, 6391 to 443, 6392 to 143, admin@zimbra.example.org to admin@example.org, and any hostname (not domain) related example.org to zimbra.example.org:
    - conf/swatchrc
    - conf/amavisd.conf
    - conf/localconfig.xml
    - postfix/conf/main.cf
    - cyrus-sasl/etc/saslauthd.conf
    - ssl/ssl/zmssl.cnf (needed to get root to change this one)
    15. newhost: /opt/zimbra/libexec/zmmtainit
    16. newhost: zmcontrol start
    17. newhost: zmprov ms zimbra.example.org zimbraMailPort 80 zimbraMailSSLPort 443
    18. newhost: zmcontrol stop
    19. newhost: get root back, remove the /etc/hosts example.org reference to this host
    20. newhost: zmcontrol start
    21. newhost: log into admin console for zimbra, set up new self signed ssl cert of *.example.org (and set the bottom hosts thing to zimbra.example.org and example.org) I also had to do a zmcontrol stop and zmcontrol start to catch the new certs.
    22. oldhost: change the MX record for example.org to point to zimbra.vorpalcloud.org
    23. oldhost: I set up postfix and relayhost = [10.0.0.100], mydestination = (yes, leave that blank), relay_domains = localhost, localhost.localdomain, example.org this set up all local mail to go through my new mail host
    24. oldhost: set up iptables rules to redirect external network traffic to port 6390 to 10.0.0.100:80, 6391 to 10.0.0.100:443, 25 to 10.0.0100:25
    25. oldhost: set up apache to answer also on 6390 and 6391 and set a rewrite rule to redirect to zimbra.example.org port 80 and port 443 (external world never sees this, but this took care of internal world)

    Ok, now we have migrated Zimbra 4.5 to the new host. I tried it out and make sure things were working right. Once I was happy with it, I went to upgrade to 5.0.

    26. newhost: set up PERLLIB and PERL5LIB variables for root's .bashrc to match zimbra's .bashrc
    27. newhost: . ~/.bashrc (to make sure perl vars are loaded)
    28. newhost: download zcs-5.0
    29. newhost: extract and ./install.sh

    At this point, all was working great! Complex, but I got through it! I know some of this could have been done via command line tools instead of direct file edits, but I preferred the manual edit method.

    I hope this can be helpful to someone else!
    Last edited by jadestorm; 03-17-2008 at 06:08 AM.
    The most addictive drug in the world is music.
    - The Lost Boyz

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •