Вопрос или проблема
В настоящее время я перемещаю свой Zimbra с Ubuntu 12.04 на Ubuntu 14.04. На обеих системах установлена Zimbra OSE 8.7.1. Я уже выполнил все эти шаги:
Резервное копирование Zimbra с учетом особенностей:
- включить все скрытые файлы
- сохранить оригинальные разрешения
- использовать mdb_copy для передачи базы данных LDAP с реальным размером, а не с 90 ГБ зарезервированного пространства
установка Zimbra 8.7.1 с нуля
перемещение папки /opt/zimbra в /opt/zimbra-origin и заполнение папки /opt/zimbra/ всеми резервными файлами (включая файлы mdb)
установка (обновление) с опцией -s
удаление (rm -rf /opt/zimbra/zimbramon/lib/x86_64-linux-gnu-thread-multi) несовместимого программного обеспечения (несовместимость perl)
восстановление ssl сертификатов
исправление разрешений (/opt/zimbra/libexec/zmfixperms –extended)
Теперь, когда я выполняю zmcontrol start, вывод выглядит следующим образом:
Host couriel.myhost.com
Starting ldap...Готово.
Ошибка поиска: Не удалось определить включенные службы из ldap.
Включенные службы прочитаны из кеша. Список служб может быть неточным.
Starting ldap...Готово.
Starting zmconfigd...Не удалось.
Starting zmconfigd...не удалось.
Starting logger...Не удалось.
Starting logswatch...[] INFO: master is down, falling back to replica...
[] FATAL: не удалось инициализировать LDAP клиент
com.zimbra.cs.ldap.LdapException: LDAP ошибка: : Произошла ошибка при попытке подключиться к серверу couriel.myhost.com:389: java.io.IOException: Произошла ошибка при попытке установить соединение с сервером couriel.myhost.com:389: java.net.ConnectException: Соединение отклонено
ExceptionId:main:1502133838579:4c9955ae08e3afb7
Code:ldap.LDAP_ERROR
at com.zimbra.cs.ldap.LdapException.LDAP_ERROR(LdapException.java:90)
at com.zimbra.cs.ldap.unboundid.UBIDLdapException.mapToLdapException(UBIDLdapException.java:74)
at com.zimbra.cs.ldap.unboundid.UBIDLdapException.mapToLdapException(UBIDLdapException.java:40)
at com.zimbra.cs.ldap.unboundid.LdapConnectionPool.createConnPool(LdapConnectionPool.java:117)
at com.zimbra.cs.ldap.unboundid.LdapConnectionPool.createConnectionPool(LdapConnectionPool.java:63)
at com.zimbra.cs.ldap.unboundid.UBIDLdapContext.init(UBIDLdapContext.java:109)
at com.zimbra.cs.ldap.unboundid.UBIDLdapClient.init(UBIDLdapClient.java:39)
at com.zimbra.cs.ldap.LdapClient.getInstance(LdapClient.java:65)
at com.zimbra.cs.ldap.LdapClient.initialize(LdapClient.java:88)
at com.zimbra.cs.account.ldap.LdapProv.<init>(LdapProv.java:48)
at com.zimbra.cs.account.ldap.LdapProvisioning.<init>(LdapProvisioning.java:271)
at com.zimbra.cs.account.ldap.LdapProvisioning.<init>(LdapProvisioning.java:268)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at com.zimbra.cs.account.Provisioning.getInstance(Provisioning.java:287)
at com.zimbra.cs.account.Provisioning.getInstance(Provisioning.java:244)
at com.zimbra.cs.account.ProvUtil.initProvisioning(ProvUtil.java:1004)
at com.zimbra.cs.account.ProvUtil.main(ProvUtil.java:3955)
Caused by: LDAPException(resultCode=91 (connect error), errorMessage="Произошла ошибка при попытке подключиться к серверу couriel.myhost.com:389: java.io.IOException: Произошла ошибка при попытке установить соединение с сервером couriel.myhost.com:389: java.net.ConnectException: Соединение отклонено")
at com.unboundid.ldap.sdk.LDAPConnection.connect(LDAPConnection.java:741)
at com.unboundid.ldap.sdk.LDAPConnection.connect(LDAPConnection.java:675)
at com.unboundid.ldap.sdk.LDAPConnection.<init>(LDAPConnection.java:507)
at com.unboundid.ldap.sdk.SingleServerSet.getConnection(SingleServerSet.java:229)
at com.unboundid.ldap.sdk.ServerSet.getConnection(ServerSet.java:98)
at com.unboundid.ldap.sdk.LDAPConnectionPool.createConnection(LDAPConnectionPool.java:616)
at com.unboundid.ldap.sdk.LDAPConnectionPool.<init>(LDAPConnectionPool.java:562)
at com.zimbra.cs.ldap.unboundid.LdapConnectionPool.createConnPool(LdapConnectionPool.java:112)
... 17 more
Caused by: java.io.IOException: Произошла ошибка при попытке установить соединение с сервером couriel.myhost.com:389: java.net.ConnectException: Соединение отклонено
at com.unboundid.ldap.sdk.LDAPConnectionInternals.<init>(LDAPConnectionInternals.java:142)
at com.unboundid.ldap.sdk.LDAPConnection.connect(LDAPConnection.java:732)
... 24 more
Служба журналирования Zimbra не включена! не удалось.
Starting mailbox...Не удалось.
Starting antispam...Готово.
Starting opendkim...Готово.
Starting mta...Не удалось.
Ошибка: postfix не установлен
Starting stats...Готово.
И вывод zmcontrol status:
Connect: Не удалось определить включенные службы из ldap.
Включенные службы прочитаны из кеша. Список служб может быть неточным.
Host couriel.myhost.com
antispam Работает
ldap Остановлен
logger Остановлен
zmlogswatchctl не работает
mailbox Остановлен
mysql.server не работает.
zmmailboxdctl не работает.
mta Остановлен
Ошибка: postfix не установлен
opendkim Работает
stats Остановлен
zmconfigd Остановлен
zmconfigd не работает.
netstat -antp показывает, что ничего не слушает на порту 389. Есть идеи?
Я создал новый самоподписанный сертификат, чтобы проверить, была ли это корневая причина этой проблемы. Поскольку это бесплатный самоподписанный сертификат, я создал его с сроком действия 3 года:
/opt/zimbra/bin/zmcertmgr createca -new
/opt/zimbra/bin/zmcertmgr createcrt -new -days 1095
/opt/zimbra/bin/zmcertmgr deploycrt self
/opt/zimbra/bin/zmcertmgr deployca
У меня проблема с почтой Zimbra в компании, где я работаю, когда я пытаюсь войти в интерфейс, он сообщает нам “в сети произошла ошибка”, поэтому не позволяет доступ к учетным записям. Просматривая журнал, мы наблюдаем следующее.
Журнал /opt/zimbra/log/mailbox.log
caused by: com.zimbra.cs.ldap.LdapException: LDAP ошибка: – не удалось получить соединение: Произошла ошибка при попытке подключиться к серверу correo.famadeamerica.com:389: jav$
ExceptionId:qtp1025799482-6344:https://127.0.0.1:7071/service/admin/soap/AuthRequest:1662697804626:9b05cc226919cfaf
Code:ldap.LDAP_ERROR
at com.zimbra.cs.ldap.LdapException.LDAP_ERROR(LdapException.java:90)
at com.zimbra.cs.ldap.unboundid.UBIDLdapException.mapToLdapException(UBIDLdapException.java:74)
at com.zimbra.cs.ldap.unboundid.UBIDLdapContext.mapToLdapException(UBIDLdapContext.java:221)
at com.zimbra.cs.ldap.unboundid.UBIDLdapContext.getConnection(UBIDLdapContext.java:199)
at com.zimbra.cs.ldap.unboundid.UBIDLdapContext.(UBIDLdapContext.java:159)
at com.zimbra.cs.ldap.unboundid.UBIDLdapClient.getContextImpl(UBIDLdapClient.java:90)
Ответ или решение
Проблема Zimbra 8.7.1: "Unable to determine enabled services from ldap"
Введение
Вы столкнулись с проблемой при миграции сервера Zimbra 8.7.1 с Ubuntu 12.04 на Ubuntu 14.04. Ошибка "Unable to determine enabled services from ldap" указывает на проблемы с подключением к LDAP-серверу. Этот вопрос часто возникает при неправильной настройке или переносе данных, и в данной статье мы рассмотрим, как устранять подобные неполадки.
Основные причины ошибки
Согласно вашему описанию, основные проблемы, с которыми мы имеемся дело, включают:
-
Отсутствие запущенного LDAP-сервера: Вы упомянули, что команда
netstat -antp
не показывает, что что-либо слушает на порту 389. Это первый индикатор того, что LDAP-сервер не запущен. -
Некорректные сертификаты: Вы создали новые самоподписанные сертификаты, но все еще могут быть проблемы с их развертыванием.
-
Неверные разрешения на файлы: Хотя вы упомянули, что используете
zmfixperms
, стоит еще раз проверить права на доступ к критически важным файлам.
Шаги для устранения неполадок
-
Проверка состояния сервера LDAP:
- Убедитесь, что служба LDAP установлена и запущена. Выполните команду:
sudo -u zimbra /opt/zimbra/bin/ldap_start
- Проверьте логи LDAP для получения более подробной информации о проблемах в
/opt/zimbra/log/ldap.log
.
- Убедитесь, что служба LDAP установлена и запущена. Выполните команду:
-
Проверка разрешений:
- Запустите команду:
sudo /opt/zimbra/libexec/zmfixperms --extended
- Убедитесь, что все файлы и директории имеют правильные разрешения для пользователя
zimbra
.
- Запустите команду:
-
Проверка конфигурации сети:
- Убедитесь, что на вашем сервере не блокируется порт 389 (обычно это порт LDAP). Используйте следующие команды для проверки:
telnet couriel.myhost.com 389
- Если вы не можете выполнить подключение, проверьте настройки брандмауэра (например,
iptables
илиufw
).
- Убедитесь, что на вашем сервере не блокируется порт 389 (обычно это порт LDAP). Используйте следующие команды для проверки:
-
Обновление конфигурации LDAP:
- Попробуйте перегенерировать конфигурацию LDAP, если вы видите, что служба не может подключиться:
sudo /opt/zimbra/bin/zmldapsetup
- Попробуйте перегенерировать конфигурацию LDAP, если вы видите, что служба не может подключиться:
-
Перезапустите Zimbra:
- После выполнения данных шагов попробуйте снова перезапустить Zimbra:
sudo -u zimbra zmcontrol restart
- После выполнения данных шагов попробуйте снова перезапустить Zimbra:
-
Проверка журналов:
- Логи, которые могут содержать дополнительные подсказки, находятся в:
/opt/zimbra/log/mailbox.log
/opt/zimbra/log/zmmailboxd.log
Проверьте их на наличие каких-либо дополнительных ошибок, которые могут указывать на причину.
- Логи, которые могут содержать дополнительные подсказки, находятся в:
Заключение
Вышеописанные шаги помогут вам определить и устранить ошибку "Unable to determine enabled services from ldap" в Zimbra 8.7.1. Проблемы с LDAP часто являются следствием неправильной конфигурации или проблем с сетевыми подключениям. Следуя представленным рекомендациям и тщательно проверяя настройки, вы сможете восстановить нормальное функционирование сервера Zimbra. Если ошибка продолжает возникать, стоит рассмотреть возможность обращения в сообщество Zimbra или к технической поддержке для получения дополнительной помощи.