Tuesday, January 18, 2011

Connecting Evolution to Exchange 2007 Global Address List via LDAP

I searched for quite awhile to piece this information together. I'm posting what I learned in the hope that it will help someone else connect to Exchange 2007 from Evolution.

First my specifics:

  1. I'm running Ubuntu 10.10 (Maverick).
  2. I'm using the stock Evolution version 2.30.3 that came with this distribution.
  3. My Exchange server is Microsoft Exchange Server 2007. Its FQDN is carl.fakedomain.com.
  4. The domain controller I chose to use is also a global catalog server. Its FQDN is dc1.fakedomain.com.
  5. I organize my Active Directory users into a hierarchy of Organizational Units (OU). The root of my users hierarchy is OU=Fake Domain Employees,DC=fakedomain,DC=com.
  6. My User Principal Name (UPN) -- i.e. the username I use to log in -- is fakeuser@fakedomain.com. It also happens to be my email address.
Here is how I configured Evolution to access contacts stored in Active Directory.
NOTE: This is not an exact clone of Outlook's Global Address List.

  1. Open Evolution.
  2. Click Contacts.
  3. Click File > New > Address Book.
  4. Change the Type to "On LDAP Servers".
  5. Name the Address Book whatever you would like. I chose Global Address List.
  6. Check Autocomplete with this address book.
  7. Enter the FQDN of your global catalog server. I used dc1.fakedomain.com.
  8. Use the default port 389 along with SSL encryption.
  9. Change Login method to "Use distinguished name (DN)".
  10. Enter your UPN (username) in the Login field. I entered fakeuser@fakedomain.com.
  11. Select the Details tab.
  12. Enter the Distinguished Name (DN) of the location where your users are located. I entered "OU=Fake Domain Employees,DC=fakedomain,DC=com" without the quotes. If you don't know this information you can click the "Find Possible Search Bases" button. You'll likely want to choose something like "DC=fakedomain,DC=com".
  13. Change the Search scope to "Sub". If you fail to do this then you won't see users nested deeper in the LDAP folder hierarchy.
  14. In an effort to show only users with email addresses, in the Search filter field I entered "(&(objectCategory=person)(objectClass=user)(mail=*))" without the quotes. Unfortunately in all my tests it didn't appear that this field had any effect on the displayed results.
  15. Adjust the timeout as you see fit.
  16. You may want to increase the Download limit if you have more than 100 users you would like to see.
  17. I selected Browse this book until limit reached. I have been unable to get an explanation of what this does.
  18. Click OK.

2 comments:

  1. Since you use Evolution, DavMail and Ubuntu I was wondering if you have Calendar working.
    I use caldav://localhost:1080/users/XX@XX.nl/calendar to connect but get no response. It works well with Thunderbird, so it has to be an Evolution bug or misconfiguration. Any ideas?

    ReplyDelete
  2. I'm not sure I ever attempted to get calendar working. We're migrating to Google Apps so all of my calendaring is done there. I switched to Thunderbird this summer and haven't looked back. For my Google contacts I use the Zindus extension (http://www.zindus.com). For my Google calendar I use Provider for Google Calendar (https://addons.mozilla.org/en-US/thunderbird/addon/provider-for-google-calendar/) along with Mozilla Lightning.

    I'm still using my Exchange server's Global Address list. You can configure that under Edit > Preferences > Addressing tab. Click Edit Directories. Click Add. Call it whatever you want for Name (e.g. Global Address List). Hostname should be a domain controller (perhaps a Global Catalog server). Base DN should be in the form of OU=Employees,DC=yourdomain,DC=com. I used port number 389. For Bind DN I used my user account (i.e. tom@mydomain.com). I'm a domain admin and I'm not sure if those special permissions were needed in order to query Active Directory. I'm not using SSL.

    I know that doesn't answer your question but hopefully it will help you or someone else.

    ReplyDelete