configure OpenLDAP



  • Hello,

    I try to switch user management to OpenLDAP but i stuck add the kopano schema.

    Debian stretch

    OpenLDAP: slapd  (May 23 2018 04:25:19) $
    	Debian OpenLDAP Maintainers <pkg-openldap-devel@lists.alioth.debian.org>
    
    zcat /usr/share/doc/kopano/kopano.ldif.gz | ldapadd -H ldapi:/// -Y EXTERNAL
    SASL/EXTERNAL authentication started
    SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
    SASL SSF: 0
    adding new entry "cn=schema"
    ldap_add: Invalid syntax (21)
    	additional info: attributeTypes: value #0 invalid per syntax
    
    

    Greets
    Thomas



  • Hi,
    is your LDAP configured by slapd.conf or by olc?



  • Hi,

    no slapd.conf. I think OLC is the default in debian.



  • Hmm, I managed to get Kopano work with openldap on Debian, but I did nothing uncommon. Which are the versions you use?



  • Hi,

    Debian 4.9.110-3+deb9u4
    kopano-server 8.6.81.435-0+75.1
    slapd 2.4.44+dfsg-5+deb9u2
    ldap-utils 2.4.44+dfsg-5+deb9u2

    I followed this instruction https://kb.kopano.io/display/WIKI/Install%2Band%2Boptimize%2BOpenLDAP%2Bfor%2Buse%2Bwith%2BKopano%2BGroupware%2BCore



  • There are differences in the ldif files between version 8.6.80 and 8.6.81: https://ibb.co/jqXqeK
    Maybe give the 8.6.80-ldif a try, since with this one it worked for me.



  • changed

    dn: cn=kopano,cn=schema,cn=config
    objectClass: olcSchemaConfig
    cn: kopano

    but no success.



  • Hi,

    it seems i have to copy first kopano.ldif and kopano.schema in the folder /etc/ldap/schema/

    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/kopano.ldif

    Maybe the docs are wrong. And it seems that the canges:
    dn: cn=kopano,cn=schema,cn=config
    objectClass: olcSchemaConfig
    cn: kopano

    are nessecary to



  • Hi,

    deinstalled slapd ldap-utils
    reinstalled slapd ldap-utils

    now the same problem i can’t undersand it



  • The differences are not only in the beginning of the file. In the 8.6.81-Version for example there are “attributeType” and in 8.6.80-Version “olcAttributeType”. Here ist the full 8.6.80-LDIF:

    ################################################################################
    #
    dn: cn=kopano,cn=schema,cn=config
    objectClass: olcSchemaConfig
    cn: kopano
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.1.1
      NAME 'kopanoQuotaOverride'
      DESC 'KOPANO: Override child quota'
      EQUALITY integerMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.1.2
      NAME 'kopanoQuotaWarn'
      DESC 'KOPANO: Warning quota size in MB'
      EQUALITY integerMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.1.3
      NAME 'kopanoQuotaSoft'
      DESC 'KOPANO: Soft quota size in MB'
      EQUALITY integerMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.1.4
      NAME 'kopanoQuotaHard'
      DESC 'KOPANO: Hard quota size in MB'
      EQUALITY integerMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.1.5
      NAME 'kopanoUserDefaultQuotaOverride'
      DESC 'KOPANO: Override User default quota for children'
      EQUALITY integerMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.1.6
      NAME 'kopanoUserDefaultQuotaWarn'
      DESC 'KOPANO: User default warning quota size in MB'
      EQUALITY integerMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.1.7
      NAME 'kopanoUserDefaultQuotaSoft'
      DESC 'KOPANO: User default soft quota size in MB'
      EQUALITY integerMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.1.8
      NAME 'kopanoUserDefaultQuotaHard'
      DESC 'KOPANO: User default hard quota size in MB'
      EQUALITY integerMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.2.1
      NAME 'kopanoAdmin'
      DESC 'KOPANO: Administrator of kopano'
      EQUALITY integerMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.2.2
      NAME 'kopanoSharedStoreOnly'
      DESC 'KOPANO: is store a shared store'
      EQUALITY integerMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.2.3
      NAME 'kopanoAccount'
      DESC 'KOPANO: entry is a part of kopano'
      EQUALITY integerMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.2.4
      NAME 'kopanoSendAsPrivilege'
      DESC 'KOPANO: Users may directly send email as this user'
      EQUALITY caseIgnoreMatch
      SUBSTR caseIgnoreSubstringsMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.2.5
      NAME 'kopanoMrAccept'
      DESC 'KOPANO: user should auto-accept meeting requests'
      EQUALITY integerMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.2.6
      NAME 'kopanoMrDeclineConflict'
      DESC 'KOPANO: user should automatically decline conflicting meeting requests'
      EQUALITY integerMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.2.7
      NAME 'kopanoMrDeclineRecurring'
      DESC 'KOPANO: user should automatically decline recurring meeting requests'
      EQUALITY integerMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.2.8
      NAME 'kopanoId'
      DESC 'KOPANO: Generic unique ID'
      EQUALITY octetStringMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.40
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.2.9
      NAME 'kopanoResourceType'
      DESC 'KOPANO: for shared stores, resource is type Room or Equipment'
      EQUALITY caseIgnoreMatch
      SUBSTR caseIgnoreSubstringsMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.2.10
      NAME 'kopanoResourceCapacity'
      DESC 'KOPANO: number of rooms or equipment available'
      EQUALITY integerMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.2.11
      NAME 'kopanoHidden'
      DESC 'KOPANO: This object should be hidden from address book'
      EQUALITY integerMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.2.13
      NAME 'kopanoEnabledFeatures'
      DESC 'KOPANO: This user has these features explicitly enabled'
      EQUALITY caseIgnoreMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.44
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.2.14
      NAME 'kopanoDisabledFeatures'
      DESC 'KOPANO: This user has these features explicitly disabled'
      EQUALITY caseIgnoreMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.44
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.3.1
      NAME 'kopanoAliases'
      DESC 'KOPANO: All other email addresses for this user'
      EQUALITY caseIgnoreMatch
      SUBSTR caseIgnoreSubstringsMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.4.1
      NAME 'kopanoUserServer'
      DESC 'KOPANO: Home server for the user'
      EQUALITY caseIgnoreMatch
      SUBSTR caseIgnoreSubstringsMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.6.1
      NAME 'kopanoUserArchiveServers'
      DESC 'KOPANO: List of server names that contain an archive store for the user'
      EQUALITY caseIgnoreMatch
      SUBSTR caseIgnoreSubstringsMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.1.6.2
      NAME 'kopanoUserArchiveCouplings'
      DESC 'KOPANO: List of username:foldername pairs that specify many-to-one archive locations'
      EQUALITY caseIgnoreMatch
      SUBSTR caseIgnoreSubstringsMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.2.2.1
      NAME 'kopanoSecurityGroup'
      DESC 'KOPANO: group has security possibilities'
      EQUALITY integerMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.3.2.4
      NAME 'kopanoViewPrivilege'
      DESC 'KOPANO: Companies with view privileges over selected company'
      EQUALITY caseIgnoreMatch
      SUBSTR caseIgnoreSubstringsMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.3.2.5
      NAME 'kopanoAdminPrivilege'
      DESC 'KOPANO: Users from different companies which are administrator over selected company'
      EQUALITY caseIgnoreMatch
      SUBSTR caseIgnoreSubstringsMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.3.2.6
      NAME 'kopanoSystemAdmin'
      DESC 'KOPANO: The user who is the system administrator for this company'
      EQUALITY caseIgnoreMatch
      SUBSTR caseIgnoreSubstringsMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.3.1.5
      NAME 'kopanoQuotaUserWarningRecipients'
      DESC 'KOPANO: Users who will recieve a notification email when a user exceeds his quota'
      EQUALITY caseIgnoreMatch
      SUBSTR caseIgnoreSubstringsMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.3.1.6
      NAME 'kopanoQuotaCompanyWarningRecipients'
      DESC 'KOPANO: Users who will recieve a notification email when a company exceeds its quota'
      EQUALITY caseIgnoreMatch
      SUBSTR caseIgnoreSubstringsMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.3.4.1
      NAME 'kopanoCompanyServer'
      DESC 'KOPANO: Home server for the public folders for a company'
      EQUALITY caseIgnoreMatch
      SUBSTR caseIgnoreSubstringsMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.4.4.1
      NAME 'kopanoHttpPort'
      DESC 'KOPANO: Port for the http connection'
      EQUALITY integerMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.4.4.2
      NAME 'kopanoSslPort'
      DESC 'KOPANO: Port for the ssl connection'
      EQUALITY integerMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.4.4.3
      NAME 'kopanoFilePath'
      DESC 'KOPANO: The Unix socket or named pipe to the server'
      EQUALITY caseIgnoreMatch
      SUBSTR caseIgnoreSubstringsMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.4.4.4
      NAME 'kopanoContainsPublic'
      DESC 'KOPANO: This server contains the public store'
      EQUALITY integerMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.4.4.6
      NAME 'kopanoProxyURL'
      DESC 'KOPANO: Full proxy URL for this server'
      EQUALITY caseIgnoreMatch
      SUBSTR caseIgnoreSubstringsMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.5.5.1
      NAME 'kopanoFilter'
      DESC 'KOPANO: LDAP Filter to apply'
      EQUALITY caseIgnoreMatch
      SUBSTR caseIgnoreSubstringsMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcAttributeTypes: (
      1.3.6.1.4.1.47732.1.5.5.2
      NAME 'kopanoBase'
      DESC 'KOPANO: LDAP Search base to apply'
      EQUALITY caseIgnoreMatch
      SUBSTR caseIgnoreSubstringsMatch
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
      SINGLE-VALUE
      )
    #
    ################################################################################
    #
    olcObjectClasses: (
      1.3.6.1.4.1.47732.1.1.0.0
      NAME 'kopano-user'
      DESC 'KOPANO: an user of Kopano'
      SUP top
      AUXILIARY
      MUST ( cn )
      MAY ( kopanoQuotaOverride $ kopanoQuotaWarn $ kopanoQuotaSoft $ kopanoSendAsPrivilege $  kopanoQuotaHard $ kopanoAdmin $ kopanoSharedStoreOnly $ kopanoResourceType $  kopanoResourceCapacity $ kopanoAccount $ kopanoHidden $ kopanoAliases $  kopanoUserServer $ kopanoEnabledFeatures $ kopanoDisabledFeatures $  kopanoUserArchiveServers $ kopanoUserArchiveCouplings $  uidNumber )
      )
    #
    ################################################################################
    #
    olcObjectClasses: (
      1.3.6.1.4.1.47732.1.6.0.0
      NAME 'kopano-contact'
      DESC 'KOPANO: a contact of Kopano'
      SUP top
      AUXILIARY
      MUST ( cn $ uidNumber )
      MAY ( kopanoSendAsPrivilege $ kopanoHidden $ kopanoAliases $ kopanoAccount )
      )
    #
    ################################################################################
    #
    olcObjectClasses: (
      1.3.6.1.4.1.47732.1.2.0.0
      NAME 'kopano-group'
      DESC 'KOPANO: a group of Kopano'
      SUP top
      AUXILIARY
      MUST ( cn )
      MAY ( kopanoAccount $ kopanoHidden $ mail $ kopanoAliases $ kopanoSecurityGroup $ kopanoSendAsPrivilege $  gidNumber )
      )
    #
    ################################################################################
    #
    olcObjectClasses: (
      1.3.6.1.4.1.47732.1.3.0.0
      NAME 'kopano-company'
      DESC 'KOPANO: a company of Kopano'
      SUP top
      AUXILIARY
      MUST ( ou )
      MAY ( kopanoAccount $ kopanoHidden $  kopanoViewPrivilege $ kopanoAdminPrivilege $ kopanoSystemAdmin $  kopanoQuotaOverride $ kopanoQuotaWarn $  kopanoUserDefaultQuotaOverride $ kopanoUserDefaultQuotaWarn $ kopanoUserDefaultQuotaSoft $ kopanoUserDefaultQuotaHard $  kopanoQuotaUserWarningRecipients $ kopanoQuotaCompanyWarningRecipients $  kopanoCompanyServer )
      )
    #
    ################################################################################
    #
    olcObjectClasses: (
      1.3.6.1.4.1.47732.1.4.0.0
      NAME 'kopano-server'
      DESC 'KOPANO: a Kopano server'
      SUP top
      AUXILIARY
      MUST ( cn )
      MAY ( kopanoAccount $ kopanoHidden $ kopanoHttpPort $ kopanoSslPort $ kopanoFilePath $ kopanoContainsPublic $ kopanoProxyURL )
      )
    #
    ################################################################################
    #
    olcObjectClasses: (
      1.3.6.1.4.1.47732.1.5.0.0
      NAME 'kopano-addresslist'
      DESC 'KOPANO: a Kopano Addresslist'
      SUP top
      STRUCTURAL
      MUST ( cn )
      MAY ( kopanoAccount $ kopanoHidden $ kopanoFilter $ kopanoBase )
      )
    #
    ################################################################################
    #
    olcObjectClasses: (
      1.3.6.1.4.1.47732.1.7.0.0
      NAME 'kopano-dynamicgroup'
      DESC 'KOPANO: a Kopano dynamic group'
      SUP top
      STRUCTURAL
      MUST ( cn )
      MAY ( kopanoAccount $ kopanoHidden $ mail $ kopanoAliases $ kopanoFilter $ kopanoBase )
      )
    #
    ################################################################################
    #
    


  • Hi,

    this ldif works :-) there must be a bug



  • Hi,

    it seems that adding

    dn: cn=kopano,cn=schema,cn=config
    objectClass: olcSchemaConfig
    cn: kopano

    and changing all
    attributeTypes to olcAttributeTypes and
    objectClasses to olcObjectClasses

    does the trick



  • Same issue here with ubuntu 18.04.1, glad this solution works for me too!


Log in to reply