Миграция Zimbra с одного сервера на другой.

Вот и пришло время поделиться с вами новой страшилочкой.
Наконец-то к нам приехал новый сервер - гудели аж неделю по этому поводу :)
Как только к нам вернулось сознание, мы поняли - вот оно, время пришло, однако.
Почесали мы затылок и решили всё-таки перенести нашу корпоративную почту на нормальное серверное железо (я понимаю, всё относительно в этом вопросе)

Итак, что мы имеем?
Старый сервер - Ubuntu 8.04 Server LTS, Zimbra Open Source Edition 6.0.2
Новый сервер - CentOS 5.4
Обе системы 32-bit.

1) Тушим старый сервер, предварительно запомнив или сохранив сетевые настройки - они нам понадобятся для нового сервера.

2) Поднимаем новый сервер с уже установленной CentOS 5.4, устанавливаем сетевые настройки старого сервера (ip,gw,hostname,hosts,resolv.conf), я расчитываю, что вы в курсе где что находится и настраивается, если не в курсе, читайте документацию к конкретному дистрибутиву.
После установки настроек перегружаемся.

3) Распаковываем зимбру и запускаем
#install.sh -s --platform-override
Мы решили, что корректнее устанавливать ту же версию 6.0.2 несмотря на то что актуальная версия уже 6.0.6. а уже потом обновиться.
Ключик -s говорит инсталятору что конфигурировать нам ничего не надо, а --platform-override разрешает ставить инсталятор для RHEL5 на другую платформу, т.е. на CentOS.
Скорее всего при первом запуске инсталятор чего-нибудь у вас не найдет в системе и скажет об этом, так что доустанавливаем всё необходимое и снова запускаем инсталятор с теми же ключами.
Особое внимание необходимо уделить устанавливаемым компонентам, к примеру по умолчанию инсталятор предлагает не устанавливать memcache и proxy модули. Мне же они нужны, ибо установлены на старом сервере, поэтому я ответил на оба вопроса "Y"

4) После установки удаляем директорию /opt/zimbra - нам она не нужна.
#rm-rf /opt/zimbra

5) Выкручиваем жёсткий диск из старого сервера, подключаем его через SATA-USB переходник и монтируем куда нибудь в /tmp/backup
#mount -t ext3 /dev/sd** /tmp/backup

6) Копируем со старого винта нашу зимброчку.
#rsync -avH /tmp/backup /opt/zimbra

7) А вот здесь самое важное. Я этот шаг пропустил и зимбра запустилась очень криво, а точнее не запустилась вообще.
Дело в том, что дефолтные uid gid в Ubuntu и CentOS отличаются. За наводку огромное спасибо Дену :)
В Debian-based zimbra 1001 и postfix 1002, а в CentOS 500 и 501 соответственно, поэтому выполняем поочередно команды
#find /opt/zimbra -uid 1001 -exec chown zimbra \{\} \;
#find /opt/zimbra -uid 1002 -exec chown postfix \{\} \;
#find /opt/zimbra -gid 1001 -exec chgrp zimbra \{\} \;
#find /opt/zimbra -gid 1002 -exec chgrp postfix \{\} \;

8) Повторно запускаем инсталятор, но уже без ключа -s
#install.sh -s --platform-override
На вопрос про check database integrity я лично ответил "N"
Далее она предлагает сделать upgrade и после нескольких вопросов делает своё дело.

После того как инсталятор всё закончил, я скачал и обновил версию до 6.0.6.
Из проблем пока что выяснили одну - настройки спама похоже что улетели, т.к. т.е. нормальные письма опять стали попадать в спам, а спам стал попадать во входящие.
Временное решение нашли такое:
В файл /opt/zimbra/conf/salocal.cf.in добавляем строки

whitelist_from [email protected]
whitelist_from [email protected]

По умолчанию в зимбре устанавливаются
zimbraMtaRestriction reject_invalid_hostname \
zimbraMtaRestriction reject_non_fqdn_hostname \
zimbraMtaRestriction reject_non_fqdn_sender \

А мы еще хотим добавить dnsbl

#zmprov mcf \
zimbraMtaRestriction reject_invalid_hostname \
zimbraMtaRestriction reject_non_fqdn_hostname \
zimbraMtaRestriction reject_non_fqdn_sender \
zimbraMtaRestriction "reject_rbl_client dnsbl.njabl.org" \
zimbraMtaRestriction "reject_rbl_client cbl.abuseat.org" \
zimbraMtaRestriction "reject_rbl_client bl.spamcop.net" \
zimbraMtaRestriction "reject_rbl_client dnsbl.sorbs.net" \
zimbraMtaRestriction "reject_rbl_client sbl.spamhaus.org" \
zimbraMtaRestriction "reject_rbl_client relays.mail-abuse.org"

Теперь спама и ложных срабатываний должно быть меньше

Как говаривал Дедушка Панас, от така MUI`ня, малята :)

До новых встреч в эфире.