В целом, перенос 6.0.15 с одного физического сервера (32) на другой (64) прошел нормально:
Пришлось рыться. Решение: zmsetservername.
Поскольку работал с очень старой, еще мартовской копией /opt/zimbra, решил перекачать новую почту со старого сервера (он недоступен новому по имени, но доступен по IP - две разные подсети, отделенные маршрутизатором). Сначала попробовал zmztozmig, но выяснилось, что оно не умеет создавать на новом сервере учетки, которые еще есть на старом, но которых еще нет на новом. Проще говоря, синхронизировались/мигрировали только существующие на обоих серверах аккаунты.
Это меня сильно расстроило. Но оказалось, что в админке 8.0.0 есть удобная штука - мастер переноса учетных записей, который живет в "средствах и миграции":
Для начала работы жмем "шестеренку" правее поисковой строки (на рисунке в ней написано "ЕАО"). Вылезает первое окно:
.Поскольку я собираюсь импортировать именно из другой зимбры, то выбрал соответствующий "тип почтового сервера". Мне нужны и почта и учетки, поэтому оба следующих пункта я оставил в дефолтном состоянии "да". Жмем "далее"
Здесь я сначала ошибся и вместо правильного "...из другого zimbra ldap" поначалу выбрал просто "из другого каталога ldap". Об этом чуть позже. После нажатия "далее" предлагается выбрать дополнительные параметры импорта. Странно, что зимбра не умеет перетаскивать и пароли пользователей. Впрочем,
zmprov ga имя_учетки|grep -i passw
выдает неприятное:
userPassword: VALUE-BLOCKED
Хотя, как я помню, это самое value можно разблокировать. Возможно, авторы мастера решили так побеспокоиться о безопасности пользователей - вдруг кто украдет учетку админа, но не будет иметь доступа к серверу... Тем не менее, предлагается такое:
В реальном случае я всем пользователям установил один и тот же пароль и снял галку "требовать смену", но это мои личные причины, которые не имеют значения. Поля "узел" и "порт SMTP" я оставил пустыми - никакого разделенного домена у меня нет. Радостно жму "далее" и вот они, последствия моей ошибки, о которой я сказал чуть раньше:
Круто, да? Что куда писать, я совершенно без понятия. Почесал репу и решил таки выбрать "импорт из другого zimbra LDAP" - пощелкал по "назад" до нужного окна, выбрал другой тип сервера, пропустил окно с паролями - настройки в нем сохранились, и получил куда более осмысленное окошко:
В него я ввел:
адрес старого сервера URL LDAP (напомню: в подсети нового сервера имя старого не резольвится, хотя по IP доступ есть)
поисковую базу (dc=ru)
пароль привязки (тот, который задавался на этапе установки старого сервера, Password for ldap admin user (min 6 characters)
Остальные окошки сложностей не вызвали, поэтому скриншотов не будет. Стоит, разве что, отметить, что при выборе учетных записей для импорта нет никакой сортировки и в левом столбце (кто дойдет до этого этапа - поймет) показаны только 48 записей из всех найденных. После нажатия "добавить все" левый столбец очищается, и чтобы показать следующие 48 надо нажать иконку "стрелка вправо" (следущая страница). И так х/48 раз, где х - общее количество импортируемых учетных записей...
После успешного и довольно быстрого импорта выполнил поиск того самого "ЕАО" из поисковой строки админки. И заметил, что возле некоторых аккаунтов стоят некрасивые красные звездочки вроде этой:
При наведении мышки на эту строчку вылез неприятный тултип. Какого, спрашивается, чёрта?
Та же учетка в обычном списке аккаунтов тоже выглядит не совсем стандартно:
Выяснилось, что у нее почему-то стоит:
$ zmprov ga doc1 zimbraMailTransport
# name doc1@***
zimbraMailTransport: smtp:ubuntu-1-x.eao.drsk.ru
Тогда как у остальных:
$ zmprov ga doc2 zimbraMailTransport
# name doc2@***
zimbraMailTransport: lmtp:ubuntu-1-x.eao.drsk.ru:7025
Непорядок, подумал я. Решение:
$ for a in список_аккаунтов_разделенных_пробелами; do echo $a; zmprov ga $a|grep -i transport;zmprov ma $a zimbraMailTransport lmtp:ubuntu-1-x.eao.drsk.ru:7025; zmprov ga $a|grep -i transport; done
Впрочем, эхо и два ga с грепами вставлены просто для красоты: выводится имя аккаунта, состояние атрибута zimbraMailtransport до и после модификации. Без них конструкция выглядит так и на экран ничего не выводится:
$ for a in список_аккаунтов_разделенных_пробелами; do echo $a; zmprov ma $a zimbraMailTransport lmtp:ubuntu-1-x.eao.drsk.ru:7025; done
В список_аккаунтов последовательно записал всех, кто был помечен красной звездочкой. Достаточно только именной части полного емайла, домен в моем случае не обязателен. После этой операции красные звезды и нестандартные иконки исчезли.
Эту же операцию можно было проделать индивидуально, входя в каждую учетку "неправильного" аккаунта:
Крутим дополнительные настройки вниз до упора и видим раздел "почтовый транспорт". На рисунке он уже правильный.
Теперь буду изучать взаимодействие зимбры с Active Directory, чтобы пользователи могли в ней авторизоваться с доменными логином/паролем.
- скопировал каталог /opt/zimbra
- накатил сначала 6.0.15/32, чтобы восстановить пути, кронтабы и права
- поверх нее накатил 6.0.15/64
- после апгрейда ОС на новом сервере с Ubuntu 10.04 на 12.04 сразу накатил 8.0.0/64
- работает
Пришлось рыться. Решение: zmsetservername.
Поскольку работал с очень старой, еще мартовской копией /opt/zimbra, решил перекачать новую почту со старого сервера (он недоступен новому по имени, но доступен по IP - две разные подсети, отделенные маршрутизатором). Сначала попробовал zmztozmig, но выяснилось, что оно не умеет создавать на новом сервере учетки, которые еще есть на старом, но которых еще нет на новом. Проще говоря, синхронизировались/мигрировали только существующие на обоих серверах аккаунты.
Это меня сильно расстроило. Но оказалось, что в админке 8.0.0 есть удобная штука - мастер переноса учетных записей, который живет в "средствах и миграции":
Для начала работы жмем "шестеренку" правее поисковой строки (на рисунке в ней написано "ЕАО"). Вылезает первое окно:
.Поскольку я собираюсь импортировать именно из другой зимбры, то выбрал соответствующий "тип почтового сервера". Мне нужны и почта и учетки, поэтому оба следующих пункта я оставил в дефолтном состоянии "да". Жмем "далее"
Здесь я сначала ошибся и вместо правильного "...из другого zimbra ldap" поначалу выбрал просто "из другого каталога ldap". Об этом чуть позже. После нажатия "далее" предлагается выбрать дополнительные параметры импорта. Странно, что зимбра не умеет перетаскивать и пароли пользователей. Впрочем,
zmprov ga имя_учетки|grep -i passw
выдает неприятное:
userPassword: VALUE-BLOCKED
Хотя, как я помню, это самое value можно разблокировать. Возможно, авторы мастера решили так побеспокоиться о безопасности пользователей - вдруг кто украдет учетку админа, но не будет иметь доступа к серверу... Тем не менее, предлагается такое:
В реальном случае я всем пользователям установил один и тот же пароль и снял галку "требовать смену", но это мои личные причины, которые не имеют значения. Поля "узел" и "порт SMTP" я оставил пустыми - никакого разделенного домена у меня нет. Радостно жму "далее" и вот они, последствия моей ошибки, о которой я сказал чуть раньше:
Круто, да? Что куда писать, я совершенно без понятия. Почесал репу и решил таки выбрать "импорт из другого zimbra LDAP" - пощелкал по "назад" до нужного окна, выбрал другой тип сервера, пропустил окно с паролями - настройки в нем сохранились, и получил куда более осмысленное окошко:
В него я ввел:
адрес старого сервера URL LDAP (напомню: в подсети нового сервера имя старого не резольвится, хотя по IP доступ есть)
поисковую базу (dc=ru)
пароль привязки (тот, который задавался на этапе установки старого сервера, Password for ldap admin user (min 6 characters)
Остальные окошки сложностей не вызвали, поэтому скриншотов не будет. Стоит, разве что, отметить, что при выборе учетных записей для импорта нет никакой сортировки и в левом столбце (кто дойдет до этого этапа - поймет) показаны только 48 записей из всех найденных. После нажатия "добавить все" левый столбец очищается, и чтобы показать следующие 48 надо нажать иконку "стрелка вправо" (следущая страница). И так х/48 раз, где х - общее количество импортируемых учетных записей...
После успешного и довольно быстрого импорта выполнил поиск того самого "ЕАО" из поисковой строки админки. И заметил, что возле некоторых аккаунтов стоят некрасивые красные звездочки вроде этой:
При наведении мышки на эту строчку вылез неприятный тултип. Какого, спрашивается, чёрта?
Та же учетка в обычном списке аккаунтов тоже выглядит не совсем стандартно:
Выяснилось, что у нее почему-то стоит:
$ zmprov ga doc1 zimbraMailTransport
# name doc1@***
zimbraMailTransport: smtp:ubuntu-1-x.eao.drsk.ru
Тогда как у остальных:
$ zmprov ga doc2 zimbraMailTransport
# name doc2@***
zimbraMailTransport: lmtp:ubuntu-1-x.eao.drsk.ru:7025
Непорядок, подумал я. Решение:
$ for a in список_аккаунтов_разделенных_пробелами; do echo $a; zmprov ga $a|grep -i transport;zmprov ma $a zimbraMailTransport lmtp:ubuntu-1-x.eao.drsk.ru:7025; zmprov ga $a|grep -i transport; done
Впрочем, эхо и два ga с грепами вставлены просто для красоты: выводится имя аккаунта, состояние атрибута zimbraMailtransport до и после модификации. Без них конструкция выглядит так и на экран ничего не выводится:
$ for a in список_аккаунтов_разделенных_пробелами; do echo $a; zmprov ma $a zimbraMailTransport lmtp:ubuntu-1-x.eao.drsk.ru:7025; done
В список_аккаунтов последовательно записал всех, кто был помечен красной звездочкой. Достаточно только именной части полного емайла, домен в моем случае не обязателен. После этой операции красные звезды и нестандартные иконки исчезли.
Эту же операцию можно было проделать индивидуально, входя в каждую учетку "неправильного" аккаунта:
Крутим дополнительные настройки вниз до упора и видим раздел "почтовый транспорт". На рисунке он уже правильный.
Теперь буду изучать взаимодействие зимбры с Active Directory, чтобы пользователи могли в ней авторизоваться с доменными логином/паролем.
И зачем светить внутреннюю инфу?
ОтветитьУдалитьСообщение: LDAP error: - unable to get connection: invalid credentials Код ошибки: ldap.LDAP_ERROR Method: [unknown] Детали:soap:Receiver(( Импорт не идет
ОтветитьУдалитьзначит указаны неправильные данные авторизации или привязки
Удалитьввожи все данные верно 100%, может ли порт ldap быть закрыт?:
ОтветитьУдалитьinvalid credentials обозначает "недопустимые учетные данные", то есть, при подключении к LDAP-серверу указывается не то, что он ожидает получить.
УдалитьКроме того, непонятно, в какой именно момент не проходит авторизация.
Ну и последнее. Позднее я сделал еще один пост по переезду - реальная миграция в этом году прошла не так гладко и пришлось немного извратиться. Посмотрите другие мои посты с тэгом ZIMBRA
мой мастер подключился к LDAP и нашел там extnyst записи, но далее отверг их все
ОтветитьУдалитьextnys? Пардон, что это?
Удалить