Zimbra migration from 7 to 8 + 32 bit to 64 bit server

WHAT IS THE GOAL

Migrate Zimbra 7 (mailboxes, documents,…) to new 64 bit server with Zimbra 8.0.

STEP BY STEP GUIDE

1. PREPARE OLD SERVER

name: mail.domain.tld
OS: Centos 5.8 32 bit
Zimbra: Zimbra 7.2.0

[zimbra@oldserver ~]$ cat /etc/redhat-release 
CentOS release 5.8 (Final) 

[zimbra@oldserver ~]$ zmcontrol -v 
Release 7.2.0_GA_2669.RHEL5_20120410001957 CentOS5 FOSS edition.

UPGRADE to latest zimbra for Centos 5.8(ZIMBRA 7.2.1)

# wget http://files2.zimbra.com/downloads/7.2.1_GA/zcs-7.2.1_GA_2790.RHEL5.20120815212042.tgz 
# tar xvzf zcs-7.2.1_GA ...
# cd zcs-7.2.1_GA ...
# ./install –platform-override

ERROR

Do you want to verify message store database integrity? [Y]
Verifying integrity of message store databases. This may take a while.

mysqld is alive

Database errors found.

/opt/zimbra/mysql/bin/mysqlcheck –defaults-file=/opt/zimbra/conf/my.cnf -S /opt/zimbra/db/mysql.sock -A -C -s -u root –auto-repair –password=XXXXXXXX

mysql.general_log
Error : You can’t use locks with log tables.
mysql.slow_log
Error : You can’t use locks with log tables.

This is a bug in mysql and does no hurm !!!

Upgrade was successfull. πŸ™‚

Show new zimbra version:

[zimbra@oldserver ~]$ zmcontrol -v 
Release 7.2.1_GA_2790.RHEL5_20120815212042 CentOS5 FOSS edition.

Create backup directory for LDAP

# mkdir /backup # chown zimbra:zimbra /backup

Backup LDAP

[zimbra@oldserver ~]$ /opt/zimbra/libexec/zmslapcat -c /backup 
[zimbra@oldserver ~]$ /opt/zimbra/libexec/zmslapcat /backup

BACKUP localconfig.xml

[zimbra@oldserver ~]$ cp /opt/zimbra/conf/localconfig.xml /backup

Change IP ADDRESS

[root@oldserver ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 
change IP to something else

Change HOSTNAME

# vim /etc/hostname 
# vim /etc/hosts 
change IP and hostname

Save mail address for SPAM and HAM accounts

[zimbra@mail ~]$ zmprov gacf | grep -i spamis 
zimbraSpamIsNotSpamAccount: ham.r4qmxkaq4@domain.tld 
zimbraSpamIsSpamAccount: spam.ydhu3gfxuh@domain.tld 
zimbraAmavisQuarantineAccount: virus-quarantine.jllqjtji@domain.tld

2. PREPARE NEW SERVER

name: mail.domain.tld
OS: Ubuntu 10.04 TLS 64bit
Zimbra: Zimbra 8.0 (first install 7.2.1)

Install Ubuntu server 10.04 LTS (minimal install + ssh server)

Create separate partition /opt for zimbra installation (size depend on size and quantity of mailboxes)

Use old mailserver hostname and IP adress

# vim /etc/hostname
mail

Prepare HOSTS file !!!

# vim /etc/hosts
127.0.0.1 localhost
192.168.1.X mail.domain.tld mail

Setup SSH

# vim /etc/ssh/sshd_config
AllowUsers zimbra ← add this line at the end

Download ZIMBRA 7.2.1

# wget http://files2.zimbra.com/downloads/7.2.1_GA/zcs-7.2.1_GA_2790.UBUNTU10_64.20120815212201.tgz

Untar Zimbra

# tar xvzf zcs-7.2.1...

Install ZIMBRA 7.2.1 to the NEW SERVER

# cd zcs-7.2.1...
# ./install.sh
... 

DNS ERROR resolving MX for mail.domain.tld
It is suggested that the domain name have an MX record configured in DNS
Change domain name? [Yes]
Create domain: [mail.domain.tld] domain.tld
Create domain: [mail.domain.tld] domain.tld
MX: mail.domain.tld (192.168.10.7)
Interface: 192.168.10.7
Interface: 127.0.0.1

done.

Checking for port conflicts

Main menu

1) Common Configuration:
2) zimbra-ldap: Enabled
3) zimbra-store: Enabled
+Create Admin User: yes
+Admin user to create: admin@domain.tld
******* +Admin Password UNSET
+Anti-virus quarantine user: virus-quarantine.lsmlhshnmy@domain.tld
+Enable automated spam training: yes
+Spam training user: spam.wyqzbievu@domain.tld
+Non-spam(Ham) training user: ham.vccas9hrzf@domain.tld
+SMTP host: mail.domain.tld
+Web server HTTP port: 80
+Web server HTTPS port: 443
+Web server mode: http
+IMAP server port: 143
+IMAP server SSL port: 993
+POP server port: 110
+POP server SSL port: 995
+Use spell check server: yes
+Spell server URL: http://mail.domain.tld:7780/aspell.php
+Configure for use with mail proxy: FALSE
+Configure for use with web proxy: FALSE
+Enable version update checks: TRUE
+Enable version update notifications: TRUE
+Version update notification email: admin@domain.tld
+Version update source email: admin@domain.tld
4) zimbra-mta: Enabled
5) zimbra-snmp: Enabled
6) zimbra-logger: Enabled
7) zimbra-spell: Enabled
8) Default Class of Service Configuration:
r) Start servers after configuration yes
s) Save config to file
x) Expand menu
q) Quit

CHANGE admin password …

4) Admin Password set

CHANGE antivirus quarantine user from old server.

5) Anti-virus quarantine user: virus-quarantine.jllqjtji@domain.tld

CHANGE spam training user from old server.

7) Spam training user: spam.ydku3gfyuh@domain.tld

CHANGE ham training user from old server.

8) Non-spam(Ham) training user: ham.r4ujxkaq4@domain.tld

*** CONFIGURATION COMPLETE - press 'a' to apply
Select from menu, or press 'a' to apply config (? - help) a
Save configuration data to a file? [Yes]
...

As zimbra user do:

zmcontrol stop
rm -rf /opt/zimbra/data/ldap/config/*
rm -rf /opt/zimbra/data/ldap/hdb/*
mkdir -p /opt/zimbra/data/ldap/hdb/db /opt/zimbra/data/ldap/hdb/logs
# chown -R zimbra:zimbra /opt/zimbra/data/ldap

3. COPY DATA TO NEW SERVER

Copy DB_CONFIG from old server to new server

# scp /opt/zimbra/data/ldap/hdb/db/DB_CONFIG mail:/opt/zimbra/data/ldap/hdb/db/

Create BACKUP directory on NEW SERVER

root@mail:~# mkdir /backup

Copy LDAP DATA from OLD SERVER to NEW SERVER

# scp /backup/ldap.bak mail:/backup/
# scp /backup/ldap-config.bak mail:/backup/
root@mail:~# chown -R zimbra:zimbra /backup/

IMPORT LDAP DATA

zimbra@mail:~$ /opt/zimbra/openldap/sbin/slapadd -q -n 0 -F /opt/zimbra/data/ldap/config -cv -l /backup/ldap-config.bak
added: "cn=config" (00000001)
added: "cn=module{0},cn=config" (00000001)
added: "cn=schema,cn=config" (00000001)
added: "cn={0}core,cn=schema,cn=config" (00000001)
added: "cn={1}cosine,cn=schema,cn=config" (00000001)
added: "cn={2}inetorgperson,cn=schema,cn=config" (00000001)
added: "cn={3}zimbra,cn=schema,cn=config" (00000001)
added: "cn={4}amavisd,cn=schema,cn=config" (00000001)
added: "olcDatabase={-1}frontend,cn=config" (00000001)
added: "olcDatabase={0}config,cn=config" (00000001)
added: "olcDatabase={1}monitor,cn=config" (00000001)
added: "olcDatabase={2}hdb,cn=config" (00000001)
_#################### 100.00% eta   none elapsed            none fast! 
Closing DB...

IMPORT LDAP CONFIG

zimbra@mail:~$ /opt/zimbra/openldap/sbin/slapadd -q -b "" -F /opt/zimbra/data/ldap/config -cv -l /backup/ldap.bak
added: "cn=zimbra" (00000001)
added: "cn=admins,cn=zimbra" (00000002)
added: "uid=zimbra,cn=admins,cn=zimbra" (00000003)
added: "uid=zmreplica,cn=admins,cn=zimbra" (00000004)
added: "cn=appaccts,cn=zimbra" (00000005)
added: "uid=zmnginx,cn=appaccts,cn=zimbra" (00000006)
added: "uid=zmpostfix,cn=appaccts,cn=zimbra" (00000007)
added: "uid=zmamavis,cn=appaccts,cn=zimbra" (00000008)
added: "cn=zimlets,cn=zimbra" (00000009)
added: "cn=cos,cn=zimbra" (0000000a)
added: "cn=servers,cn=zimbra" (0000000b)
added: "cn=xmppcomponents,cn=zimbra" (0000000c)
added: "cn=globalgrant,cn=zimbra" (0000000d)
added: "cn=config,cn=zimbra" (0000000e)
added: "cn=default,cn=cos,cn=zimbra" (0000000f)
added: "cn=mime,cn=config,cn=zimbra" (00000010)
added: "cn=message/rfc822,cn=mime,cn=config,cn=zimbra" (00000011)
added: "cn=text/html,cn=mime,cn=config,cn=zimbra" (00000012)
added: "cn=text/enriched,cn=mime,cn=config,cn=zimbra" (00000013)
added: "cn=text/plain,cn=mime,cn=config,cn=zimbra" (00000014)
added: "cn=text/calendar,cn=mime,cn=config,cn=zimbra" (00000015)
added: "cn=all,cn=mime,cn=config,cn=zimbra" (00000016)
added: "cn=mail.domain.tld,cn=servers,cn=zimbra" (00000017)
added: "dc=tld" (00000018)
added: "dc=domain,dc=tld" (00000019)
added: "uid=root,ou=people,dc=domain,dc=tld" (0000001b)
added: "uid=postmaster,ou=people,dc=domain,dc=tld" (0000001c)
added: "cn=conference.mail.domain.tld,cn=xmppcomponents,cn=zimbra" (0000001d)
added: "cn=com_zimbra_adminversioncheck,cn=zimlets,cn=zimbra" (0000001e)
added: "cn=com_zimbra_bulkprovision,cn=zimlets,cn=zimbra" (0000001f)
added: "cn=com_zimbra_ymemoticons,cn=zimlets,cn=zimbra" (00000020)
added: "cn=com_zimbra_cert_manager,cn=zimlets,cn=zimbra" (00000021)
added: "cn=com_zimbra_phone,cn=zimlets,cn=zimbra" (00000022)
added: "cn=com_zimbra_date,cn=zimlets,cn=zimbra" (00000023)
added: "cn=com_zimbra_email,cn=zimlets,cn=zimbra" (00000024)
….
#################### 100.00% eta   none elapsed            none fast!         
Closing DB...

COPY localconfig.xml from OLDSERVER to NEWSERVER

#  scp /backup/localconfig.xml mail:/backup/

EDIT localconfig.xml

BACKUP localconfig.xml on the NEWSERVER

zimbra@mail:~$ cp /opt/zimbra/conf/localconfig.xml /opt/zimbra/conf/localconfig.xml.orig

EDIT localconfig.xml and change values to values from OLDSERVER
(from /backup/localconfig.xml)
...
a. zimbra_mysql_password
b. mysql_root_password
c. zimbra_logger_mysql_password (Note: Transfer/copy this value to the new 64-bit server only if available from the old 32-bit server.)
d. mailboxd_keystore_password (Note: Transfer/copy this value to the new 64-bit server only if available from the old 32-bit server.)
e. mailboxd_truststore_password
f. mailboxd_keystore_base_password
g. zimbra_ldap_password
h. ldap_root_password
i. ldap_postfix_password
j. ldap_amavis_password
k. ldap_nginx_password
l. ldap_replication_password

REMOVE data from NEW SERVER

zimbra@mail:~$ rm -rf /opt/zimbra/db/data/*

COPY DATA from OLD SERVER

[root@oldserver ~]# scp -r /opt/zimbra/db/data/* mail:/opt/zimbra/db/data/

Copy MESSAGES and INDEX files from OLD SERVER to NEW SERVER

[root@oldserver ~]# scp -r /opt/zimbra/store/* mail:/opt/zimbra/store/
[root@oldserver ~]# scp -r /opt/zimbra/index/* mail:/opt/zimbra/index/

Transfer KEYSTORE

[root@oldserver ~]# scp /opt/zimbra/mailboxd/etc/keystore mail:/opt/zimbra/mailboxd/etc/keystore

+ Change keystore PASSWORD

[zimbra@oldserver ~]$ zmlocalconfig -s mailboxd_keystore_password
mailboxd_keystore_password = oldpassword
zimbra@mail:~$ zmlocalconfig -e mailboxd_keystore_password=oldpassword ← use oldpassword

COPY smtp,ldap,nginx CERTIFICATE and KEY from OLD to NEW server

# scp /opt/zimbra/conf/smtpd.crt mail:/opt/zimbra/conf/smtpd.crt
# scp /opt/zimbra/conf/smtpd.key mail:/opt/zimbra/conf/smtpd.key
# scp /opt/zimbra/conf/slapd.* mail:/opt/zimbra/conf/
# scp /opt/zimbra/conf/nginx.* mail:/opt/zimbra/conf/

COPY ZIMLETS FROM OLD SERVER

root@mail:~# scp -r root@oldserver:/opt/zimbra/zimlets-deployed/* /opt/zimbra/zimlets-deployed/

FIX PERMISSION as root

root@mail:~# chown -R zimbra.zimbra /opt/zimbra
root@mail:~# /opt/zimbra/libexec/zmfixperms

Start ZIMBRA 7.2.1 on NEW SERVER

zimbra@mail:~$ zmcontrol start

FIX ERRORS

ERROR 1

Host mail.domain.tld
Starting ldap...Done.
Unable to determine enabled services from ldap.
Enabled services read from cache. Service list may be inaccurate.
Starting zmconfigd...Done.
Starting logger...Failed.

Starting logswatch...ERROR: service.FAILURE (system failure: ZimbraLdapContext) (cause: javax.net.ssl.SSLHandshakeException sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed)

zimbra logger service is not enabled! failed.
Starting mailbox...Done.
Starting antispam...Done.
Starting antivirus...Failed.
Starting amavisd...Config file "/opt/zimbra/conf/amavisd.conf" does not exist, at /opt/zimbra/amavisd/sbin/amavisd line 1799.
failed.

Starting freshclam...done.
Starting clamd...ERROR: Can't open/parse the config file /opt/zimbra/conf/freshclam.conf
failed.
Starting snmp...Done.
Starting spell...Done.
Starting mta...Failed.
Starting saslauthd...saslauthd[8646] :set_auth_mech : failed to initialize mechanism zimbra

failed.
zmsaslauthdctl failed to start
Starting stats...Done.

SOLUTION 1

[root@oldserver ~]# scp /opt/zimbra/conf/amavisd.conf mail:/opt/zimbra/conf/
[root@oldserver ~]# scp /opt/zimbra/conf/freshclam.conf mail:/opt/zimbra/conf/
root@mail:~# /opt/zimbra/libexec/zmfixperms ← fix permission

ERROR 2

Starting logswatch...ERROR: service.FAILURE (system failure: ZimbraLdapContext) (cause: javax.net.ssl.SSLHandshakeException sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed)
zimbra logger service is not enabled! Failed.

SOLUTION 2

CREATE CERTIFICATES

# sh reg-ssl-zimbra.sh ← run script as root

script to regenerate certificate
***********************************************************************************
#!/bin/bash
################################################################################################################
# Regenerate SSL Cert
################################################################################################################
su - zimbra -c 'zmcontrol stop'
rm -rf /opt/zimbra/ssl/*
rm -rf /opt/zimbra/ssl/.rnd
/opt/zimbra/java/bin/keytool -delete -alias my_ca -keystore /opt/zimbra/java/jre/lib/security/cacerts -storepass changeit
/opt/zimbra/java/bin/keytool -delete -alias jetty -keystore /opt/zimbra/mailboxd/etc/keystore -storepass `su - zimbra -c 'zmlocalconfig -s -m nokey mailboxd_keystore_password'`
vi  /opt/zimbra/bin/zmcertmgr

# Find line 
# SUBJECT="/C=US/ST=N\/A/L=N\/A/O=Zimbra Collaboration Suite/OU=Zimbra Collaboration Suite/CN=${zimbra_server_hostname}" 
# and change to your company name

# then find and change you want value days expire cert validation_days=365 to validation_days=3650
# save /opt/zimbra/bin/zmcertmgr

/opt/zimbra/bin/zmcertmgr createca -new
/opt/zimbra/bin/zmcertmgr deployca -localonly
/opt/zimbra/bin/zmcertmgr createcrt self -new
/opt/zimbra/bin/zmcertmgr deploycrt self

su - zimbra -c 'zmcontrol start'

/opt/zimbra/bin/zmcertmgr deploycrt self
/opt/zimbra/bin/zmcertmgr deployca

su - zimbra -c 'zmupdateauthkeys'
/opt/zimbra/bin/zmcertmgr viewdeployedcrt
### End Script **********************************************************************

......

Host mail.domain.tld
Starting ldap...Done.
Starting zmconfigd...Done.
Starting logger...Done.
Starting mailbox...Done.
Starting antispam...Done.
Starting antivirus...Done.
Starting snmp...Done.
Starting spell...Done.
Starting mta...Done.
Starting stats...Done.

** Saving server config key zimbraSSLCertificate...done.
** Saving server config key zimbraSSLPrivateKey...done.
** Installing mta certificate and key...done.
** Installing slapd certificate and key...done.
** Installing proxy certificate and key...done.
** Creating pkcs12 file /opt/zimbra/ssl/zimbra/jetty.pkcs12...done.
** Creating keystore file /opt/zimbra/mailboxd/etc/keystore...done.
** Installing CA to /opt/zimbra/conf/ca...done.
** Importing CA /opt/zimbra/ssl/zimbra/ca/ca.pem into CACERTS...done.
** Saving global config key zimbraCertAuthorityCertSelfSigned...done.
** Saving global config key zimbraCertAuthorityKeySelfSigned...done.
** Copying CA to /opt/zimbra/conf/ca...done.
Updating keys for mail.domain.tld
Fetching key for mail.domain.tld
Updating keys for mail.domain.tld
Updating /opt/zimbra/.ssh/authorized_keys

::service mta::

notBefore=Sep 30 13:19:52 2012 GMT
notAfter=Sep 29 13:19:52 2017 GMT
subject= /C=US/ST=N/A/O=ClickME/OU=IT/CN=mail.domain.tld
issuer= /C=US/ST=N/A/L=N/A/O=ClickME/OU=IT/CN=mail.domain.tld
SubjectAltName=

::service proxy::

notBefore=Sep 30 13:19:52 2012 GMT
notAfter=Sep 29 13:19:52 2017 GMT
subject= /C=US/ST=N/A/O=ClickME/OU=IT/CN=mail.domain.tld
issuer= /C=US/ST=N/A/L=N/A/O=ClickME/OU=IT/CN=mail.domain.tld
SubjectAltName=

::service mailboxd::

notBefore=Sep 30 13:19:52 2012 GMT
notAfter=Sep 29 13:19:52 2017 GMT
subject= /C=US/ST=N/A/O=ClickME/OU=IT/CN=mail.domain.tld
issuer= /C=US/ST=N/A/L=N/A/O=ClickME/OU=IT/CN=mail.domain.tld
SubjectAltName=

::service ldap::

notBefore=Sep 30 13:19:52 2012 GMT
notAfter=Sep 29 13:19:52 2017 GMT
subject= /C=US/ST=N/A/O=ClickME/OU=IT/CN=mail.domain.tld
issuer= /C=US/ST=N/A/L=N/A/O=ClickME/OU=IT/CN=mail.domain.tld
SubjectAltName=

ERROR 3

Message: system failure: Cannot WRITE index directory (mailbox=6 idxPath=/opt/zimbra/index/0/6/index/0) Error code: service.FAILURE Method: [unknown] Details:soap:Receiver

SOLUTION 3

# chown -R zimbra.zimbra /opt/zimbra
# /opt/zimbra/libexec/zmfixperms

ERROR 4

Click to MAILQUEUE on WEB CONSOLE produce:

Message: system failure: exception during auth {RemoteManager: mail.domain.tld->zimbra@mail.domain.tld:22} Error code: service.FAILURE Method: [unknown] Details:soap:Receiver

Message: system failure: exception during auth {RemoteManager: mail.domain.tld->zimbra@mail.domain.tld:22} Error code: service.FAILURE Method: [unknown] Details:soap:Receiver

SOLUTION 4 ???

zimbra@mail:~$ zmprov ms mail.domain.tld zimbraRemoteManagementPort 22

PROBABLY INTERFACES FILE !!!!

There was no gateway in /etc/network/interfaces

add gateway 192.168.1.1

After I changed interfaces file, restart network with

# service networking restart

Pay attention at hosts file !!!

zimbra@mail:~$ cat /etc/hosts
127.0.0.1      localhost
192.168.1.X    mail.domain.tld   mail

NOW everything works fine.

Test MAIL SERVER by sending and receiving mail.

4. UPGRADE TO ZIMBRA 8.0

Download new Zimbra

# wget http://files2.zimbra.com/downloads/8.0.0_GA/zcs-8.0.0_GA_5434.UBUNTU10_64.20120907144627.tgz

Unpack ...

# tar xvzf zcs-8.0.0_GA_5434.UBUNTU10_64.20120907144627.tgz 

Install zimbra ...

# cd zcs-8.0.0_GA_5434.UBUNTU10_64.20120907144627
# screen ./install.sh

….

Starting mysql...done.
ERROR 1133 (42000) at line 2: Can't find any matching row in the user table
ERROR 1396 (HY000) at line 1: Operation DROP USER failed for ''@'mail'

Zimbra 8.0 now works. πŸ™‚

Check running SERVICES;

# netstat -tupane | less

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 105652 23807/sshd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 0 310009 19028/master
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 0 321441 23103/java
tcp 0 0 0.0.0.0:7071 0.0.0.0:* LISTEN 0 321442 23103/java
tcp 0 0 0.0.0.0:7072 0.0.0.0:* LISTEN 0 321443 23103/java
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 0 321436 23103/java
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 0 321432 23103/java

Setup a FIREWALL:

# ufw allow proto tcp from 192.168.1.0/24 to any port 22
# ufw allow proto tcp from 192.168.1.0/24 to any port 7071
# ufw allow proto tcp from 192.168.1.0/24 to any port 7072
# ufw allow proto tcp from any to any port 25
# ufw allow proto tcp from any to any port 443
# ufw allow proto tcp from any to any port 993
# ufw enable
# ufw logging on

HELP from Zimbra wiki:

http://wiki.zimbra.com/wiki/Platform_and_OS_Independent_ZCS_to_ZCS_Migration_Using_Rsync
http://wiki.zimbra.com/wiki/Network_Edition:_Moving_from_32-bit_to_64-bit_Server
http://wiki.zimbra.com/wiki/Server_Live_sync

13 thoughts on “Zimbra migration from 7 to 8 + 32 bit to 64 bit server

  1. core

    hi,
    nice tutorial guy…
    but i’ve question: in your opinion, can i use this tutorial to upgrade zimbra 5.0 32bit (centos 5) to zimbra 8 64bit (centos 6)

  2. alo Post author

    I think not. πŸ™

    First you must upgrade to Zimbra 6 (OpenLDAP,…). And then you can use this tutorial. πŸ™‚

  3. articles.cofares.net

    This is really interesting, You’re an overly professional blogger. I have joined your feed and stay up for looking for more of your excellent post. Also, I’ve shared your website in my social networks

  4. funeral celebrant sydney liverpool

    Greetings from Idaho! I’m bored at work so I decided to browse your website on my iphone during lunch break. I enjoy the info you provide here and can’t
    wait to take a look when I get home. I’m surprised at how quick your blog loaded on my cell phone .. I’m
    not even using WIFI, just 3G .. Anyhow, excellent site!

  5. muliady

    hi,
    great tutorial…
    does this works if i want to migrate my setup from zimbra 6 using ubuntu 32 bit to new server centos 6.3 64bit of zimbra 8?

    if so, where is the difference i need to change for setup…

    thank you very much sir for your excellent tutorial…

  6. heating

    Having read this I thought it was extremely informative.
    I appreciate you finding the time and effort
    to put this short article together. I once again find myself spending a
    lot of time both reading and posting comments. But so what,
    it was still worth it!

  7. Jason

    At the start of the process recommend to [zimbra@oldserver ~]$ zmcontrol status
    so that you know all the modules that were installed, I had memcached installed but forgot that it was installed, caused a bit of trouble for me.
    Also, why do we add all these passwords into the localconfig.xml, why not just copy the old server localconfig.xml file and fix permissions? I had all sorts of problems and did this, all the problems were resolved.
    Finally, some folders had the wrong permissions, so I did [root@newserver ~]$ chown -R zimbra:zimbra /opt/zimbra/
    then /opt/zimbra/libexec/zmfixperms
    That fixed a problem with the MTA and index files not being written.

  8. Jason

    When migrating from 32bit to 64bit, also migrate any Zimlets that have been installed
    [root@oldserver ~]$ scp -r /opt/zimbra/zimlets-deployed/* newserver:/opt/zimbra/zimlets-deployed/

    [root@newserver ~]$ chown -R zimbra:zimbra /opt/zimbra/zimlets-deployed/

    Otherwise you will get errors when you try to access preferences due to deployed Zimlets missing.

  9. Oskar Hajek

    Thank you for this excellent guideline!
    I was migrating and upgrading from CentOS 5.8 ZCS 6.0.15 to CentOS 6.3 ZCS 8.0.2 and it worked without any Problems.
    Very happy about this procedure …
    regards – Oskar

  10. Adam J Cody

    Very Nice. If you don’t mind and when I have time, I’ll review this more indepth and see how I can improve my wiki on server moves.
    http://wiki.zimbra.com/wiki/Ajcody-Notes-Server-Move

    Note – you might want to switch to the rsync examples I have there since it preserves hard links. Your scp -p example will cause a major difference for the mailstore since hardlinks will become individual files. From the top of my head at least, I think that’s true with scp -p.

    Adam Cody – AJCody on the zimbra wiki server.

  11. Veronica

    Hello there! Do you use Twitter? I’d like to
    follow you if that would be okay. I’m definitely enjoying your blog
    and look forward to new posts.

Leave a Reply