Koozali.org: home of the SME Server

LDAP centralised addressbook system

Ashley Shaw

LDAP centralised addressbook system
« on: March 17, 2003, 11:07:16 AM »
Hallo there community,

I have been doing alot of research on LDAP and centralised authentication and during this time made a couple of posts on the ldap topics with no response. I have solved those questions myself by now, but I still have not been able to fully complete the setup of a centralised addressbook system. My Question to anyone out there is......Has anyone actually completed this successfully with e-smith? If so what were there steps. If there is anyone who has and they post their findings, I think I will be able to complete my project!!

Thanks alot
Ashley Shaw

Palo

Re: LDAP centralised addressbook system
« Reply #1 on: March 17, 2003, 12:18:10 PM »
http://howto.aphroland.de/HOWTO/LDAP/FrontPage/

Personally I don't know anything about ldap but some day I must dig in to it.

chris gray

Re: LDAP centralised addressbook system
« Reply #2 on: March 18, 2003, 08:16:58 PM »
Me too. I need to run a company wide address book including third party contact details, not just the SME server users.

Please.. Can any one help out on this.??

Ashley Shaw

Re: LDAP centralised addressbook system
« Reply #3 on: April 03, 2003, 11:22:47 PM »
Hi there,

I am an avid e-smith user and have been for over a year. During this year I have increased my opensource/linux knowledge up and up, which has been both challenging and enjoyable. I am currently working on an e-smith setup that can and will completely replace the need for an MS Exchange/Win2k Domain Controller, which is pretty much what e-smith able to do with a few tweaks (bit of an understatement). It does by default lack certain things; the ability to share calendars and schedules and a central repository for contacts to be stored and easily accessed via client apps. I know that LDAP can solve the central contacts list in its directory and on the dev-lists Brandon Friedman mentioned jical (jical – http://jical.sourceforge.net/). I am still doing testing on jical, but it is LDAP that is my current focus. I have been trying to set up a server that is a NT Domain Controller with the other services that are set up by e-smith 5.6, but I am still struggling with setting up a central contacts list in LDAP. I have been doing quite a bit of research in the last month on the topic LDAP. There is a lot of information on the topic and there is a lot of capability/potential there.

What I need to do is:

1.  Take an E-smith 5.6 install and create an organisational unit in the LDAP directory (e.g. ou=contacts) for the contacts to be stored in
2.  This directory should be accessible by MS Outlook and Evolution for browsing
3.  It should be readable by all and writable by one LDAP account (e.g. create new acc. - LDAPadmin), which should be able to add new and update old entries
4.  Some form of security needs to put in place.
5.  The setup needs some sort of backup
 
What I have know so far is (which isn’t to say its right, so please correct me if I am wrong, constructive criticism is what I need from everyone out there):

1.  The default install install of e-smith 5.6 has LDAP well integrated with all the services/modules (e.g. pam, nss, shadow, samba, ftp, qmail, etc), which all do their authentication through a single account.
To create a central contacts directory I will need to make some modifications to the directory.
2.  I need to create an organisational unit for the “contacts” to be stored in
3.  The correct access control needs to be set on the directory so that everyone has the correct access to the information needed
4.  The slapd.conf needs to be modified to allow for any of the above mentioned stuff to be done. Edit and insert slapd.conf templates that will add the necessary functions
5  To allow for MS Outlook and Netscape or Evolution to browse all their defined attributes in the LDAP directory structure I will need to include another schema file (see bottom ), which will insert the additional attributes needed by these applications
6.  As far as I can see I need to turn on schemacheck to make sure that all the data that would be inserted into the directory conforms to directory schema standards, what I noticed is that this is turned of by default.
7.  The slurpd.conf needs to be setup/created to allow for replication and the relevant master/slave relationships need to be set up
Once slurpd.conf has been setup then an entry needs to be made for location of the “logfile” and for the “loglevel”
8.  For secure communication (SSL/TLS) to take place a server certificate and key needs to create via openssl or third-party, about three or more TLS*** lines need to be added to tell LDAP where everything is
9.  Additional index entries need to be made to speed up search requests
10.  The main thing that I have noticed in the slapd.conf file in e-smith 5.6 is that it has no access control permissions set. I have tried to set some but this has not helped me to gain writable access to the directory. Any suggestions here are welcome!
11.  Any other part of importance in this file I may have left out, please comment on
12.  Once all of this is set up I should be able to connect to this via an LDAP browser (GQ - http://biot.com/gq/, SALT - http://salt.sourceforge.net/, etc.) and add, modify and update entries in the contacts list without affecting the users defined in the directory for all the other services
 
I have been adding additional entries into slapd.conf by creating the respective templates and then initializing them, but even though I have set what I see to be the correct acl’s I am unable to add info into the directory. I also am unsure of how to create an administration user to bind to LDAP. Even if I try to connect as root I am unable to make changes.

If you are able to shed any light on my project it would be greatly appreciated. Once I have completed this project and got all of this integration working 100%, I would like to document my findings in a howto and submit it to contribs.org, but I am not quite sure what I would need to do to get this right. Thank you for the time and effort of reading this LONG post and I await a response with anticipation.

Kind Regards

Ashley Shaw

Light Speed Development

South Africa

P.s. Plan on doing quite a bit of development regarding JiCal, it really does show some rad potential.

extension.schema - a schema file included on slapd.conf (source at http://www.yolinux.com/TUTORIALS/LinuxTutorialLDAP-DefineObjectsAndAttributes.html)

attributetype ( 1.3.6.1.4.1.4203.666.100.121
        NAME ( 'rdn' )
        SUP name )

attributetype ( 1.3.6.1.4.1.4203.666.100.122
        NAME ( 'otherFacsimiletelephoneNumber' )
        SUP telephoneNumber )

attributetype ( 1.3.6.1.4.1.4203.666.100.123
        NAME ( 'IPPhone' )
        SUP telephoneNumber )

# This attribute handles MS/Outlook and Netscape Communicator

attributetype ( 1.3.6.1.4.1.4203.666.100.124
        NAME ( 'URL' 'homeUrl' )
        SUP name )

attributetype ( 1.3.6.1.4.1.4203.666.100.125
        NAME ( 'comment' )
        SUP name )

attributetype ( 1.3.6.1.4.1.4203.666.100.126
        NAME ( 'conferenceInformation' )
        SUP name )

attributetype ( 1.3.6.1.4.1.4203.666.100.127
        NAME ( 'reports' )
        SUP manager )

objectclass     ( 1.3.6.1.4.1.4203.666.100.1
    NAME 'officePerson'
        DESC 'Office employee or computer user'
    SUP inetOrgPerson
    STRUCTURAL
        MAY  ( c $
               rdn $
               otherFacsimiletelephoneNumber $
               IPPhone $
               URL $
               comment $
               reports $
               conferenceInformation )
    )

# New attributes and object required for compatability with Netscape Communicator   
   
attributetype ( 1.3.6.1.4.1.4203.666.100.151
            NAME ( 'xmozillanickname' )
            EQUALITY caseIgnoreMatch
            SUBSTR caseIgnoreSubstringsMatch
            SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )

attributetype ( 1.3.6.1.4.1.4203.666.100.152
            NAME 'xmozillausehtmlmail'
            EQUALITY caseIgnoreMatch
            SUBSTR caseIgnoreSubstringsMatch
            SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{64} )

objectclass     ( 1.3.6.1.4.1.4203.666.100.5
    NAME 'zillaPerson'
        DESC 'Netscape Communicator Extensions'
    SUP inetOrgPerson
    STRUCTURAL
        MAY  ( cellPhone $
               pagerPhone $
               description $
               homeUrl $  
               xmozillanickname $
               xmozillausehtmlmail )
        )

Charlie Brady

Re: LDAP centralised addressbook system
« Reply #4 on: April 03, 2003, 11:51:56 PM »
Ashley Shaw wrote:
> I am currently working on an e-smith setup that
> can and will completely replace the need for an MS
> Exchange/Win2k Domain Controller,

Sounds very cool!

Probably the best place to discuss the issues is the devinfo mailing list - that's what it's there for. This is more a Q+A space.

Regards

Charlie

Ashley Shaw

Re: LDAP centralised addressbook system
« Reply #5 on: April 04, 2003, 12:27:09 AM »
Hi there Charlie, how do I submit something to the devinfo list?

Thanks
Ashley

Cyrus Bharda

Re: LDAP centralised addressbook system
« Reply #6 on: April 04, 2003, 01:49:07 AM »
Ashley,

Have a scroll down the page :-)

devinfo mailing list - (http://www.e-smith.org/content/developers/)
A mailing list related to development and customization of the e-smith server and gateway.

And I wish you good luck with your project!

Cyrus Bharda

Michael Smith

Re: LDAP centralised addressbook system
« Reply #7 on: April 27, 2003, 07:44:39 PM »
Hear, hear!  This sounds absolutely great ... I'm looking forward to seeing more.

Chief

Re: LDAP centralised addressbook system
« Reply #8 on: May 01, 2003, 08:42:00 AM »
Has anyone successfully got evolution talking to LDAP ?  I have successfully connected Mozilla and even Outlook Express! but no luck with evolution.

Anyone? I have posted before with no reply. Getting this to work would certainly help me to better lobby alternatives to Exchange.

Thanks

Cyrus Bharda

Re: LDAP centralised addressbook system
« Reply #9 on: May 01, 2003, 09:46:21 AM »
Chief,

How did you get it working with Outlook Express? I have tried for a long time to get it working and in the end gave up!

Cyrus Bharda

Ashley Shaw

Re: LDAP centralised addressbook system
« Reply #10 on: May 01, 2003, 03:54:15 PM »
Hi there

I have found a really helpful document "Building an Address Book with OpenLDAP" (http://www.onlamp.com/lpt/a/3310).

I am still having problems adding the necessary organisational units. I get an error message something like this (just and example)

[root@svr02 root]# ldapadd -D 'dc=example, dc=com' -f directory.ldif -W
Enter LDAP Password:
 "ldap_sasl_interactive_bind_s: No such attribute"

Here is what is in the directory.ldff file:

dn: dc=qeo,dc=co,dc=za
objectClass: top
objectClass: dcObject
objectClass: organization
dc: qeo
o: Qeo Wireless
description: Qeo Wireless PTY (LTD)

dn: cn=ldapadmin,dc=qeo,dc=co,dc=za
objectClass: top
objectClass: organization
cn: ldapadmin
description: LDAP Directory Administrator

dn: ou=addressbook,dc=qeo,dc=co,dc=za
objectClass: top
objectClass: organizationUnit
ou: addressbook

If I am able to add the file directory.ldiff then I will have the structure setup that I need to be able to design the addressbook structure inside the LDAP directory, which I want  available to all the clients/workstations.

Side Note to Cyrus - The extension file that I mention earlier on the thread may be what you need to add the remaining functionality for outlook express. I will do some looking into that topic.

Cheers
Ashley

Chief

Re: LDAP centralised addressbook system
« Reply #11 on: May 04, 2003, 06:50:03 PM »
In Outlook Express

Tools -> Directory Services Tab -> Add -> Directory Service -> LDAP Server Name (I used the IP Address) -> Check Addresses .. -> Yes The account is then added. Select Properties -> Advanced Tab and in the Search Base Field enter the details as per the e-smith-manager server manager -> Configfuration -> directory -> server root. Something like dc=mydomainname,dc=com

Hope this helps. There are also some free LDAP browser tools available. The one I used Softerra LDAP Browser and it also queries SME no probs. Its just Evolution that can't seem to.