Ldap – Zimbra 8.7.1 : Connect: Unable to determine enabled services from ldap

ldapopenldapzimbra

I'm currently moving my zimbra from Ubuntu 12.04 to Ubuntu 14.04
On both sides it's a zimbra OSE 8.7.1, I already did all these steps :
Backuping zimbra with specificities :

  • include all hidden files
  • keeping original permissions
  • use mdb_copy to transfer LDAP database with it real size and not with the 90G of space reserved

installing zimbra 8.7.1 from scratch
moving /opt/zimbra folder to /opt/zimbra-origin and fulfill the /opt/zimbra/ folder with all the backup files (including mdb files)
install (upgrade) instalation with -s option
removing (rm -rf /opt/zimbra/zimbramon/lib/x86_64-linux-gnu-thread-multi) incompatible software (perl incompatibility)
regenerate ssl certificates
fix permission (/opt/zimbra/libexec/zmfixperms –extended)

now when i perfom a zmcontrol start there is the output :

    Host couriel.myhost.com
        Starting ldap...Done.
Search error: Unable to determine enabled services from ldap.
Enabled services read from cache. Service list may be inaccurate.
        Starting ldap...Done.
        Starting zmconfigd...Failed.
Starting zmconfigd...failed.


        Starting logger...Failed.
Starting logswatch...[] INFO: master is down, falling back to replica...
[] FATAL: failed to initialize LDAP client
com.zimbra.cs.ldap.LdapException: LDAP error: : An error occurred while attempting to connect to server couriel.myhost.com:389:  java.io.IOException: An error occurred while attempting to establish a connection to server couriel.myhost.com:389:  java.net.ConnectException: Connection refused
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='An error occurred while attempting to connect to server couriel.myhost.com:389:  java.io.IOException: An error occurred while attempting to establish a connection to server couriel.myhost.com:389:  java.net.ConnectException: Connection refused')
        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: An error occurred while attempting to establish a connection to server couriel.myhost.com:389:  java.net.ConnectException: Connection refused
        at com.unboundid.ldap.sdk.LDAPConnectionInternals.<init>(LDAPConnectionInternals.java:142)
        at com.unboundid.ldap.sdk.LDAPConnection.connect(LDAPConnection.java:732)
        ... 24 more
zimbra logger service is not enabled!  failed.


        Starting mailbox...Failed.


        Starting antispam...Done.
        Starting opendkim...Done.
        Starting mta...Failed.
Error: postfix not installed


        Starting stats...Done.

and zmcontrol status output :

    Connect: Unable to determine enabled services from ldap.
Enabled services read from cache. Service list may be inaccurate.
Host couriel.myhost.com
        antispam                Running
        ldap                    Stopped
        logger                  Stopped
                zmlogswatchctl is not running
        mailbox                 Stopped
                mysql.server is not running.
                zmmailboxdctl is not running.
        mta                     Stopped
                Error: postfix not installed
        opendkim                Running
        stats                   Stopped
        zmconfigd               Stopped
                zmconfigd is not running.

netstat -antp show me that nothing is listening on port 389. Any idea?

Best Answer

I created a new self-signed certificate to verify that this was the root cause for this issue. As this is a free self-signed certificate i created it with a lifetime of 3 years:

 /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