閱讀259 返回首頁    go 阿裏雲 go 技術社區[雲棲]


如何設置一個基本的OpenLDAP Server

如何設置一個基本的OpenLDAP Server
本文出自:https://www.linuxforum.net 作者:吳阿亭 Jephe wu (2001-09-04 15:00:01)

      一. 目的 

      本文旨在介紹如何安裝OpenLDAP並且設置一個公司內部的集中化的郵件地址薄服務器供客
      戶端查詢。 
      基本上,OpenLDAPg還應用在其它許多方麵,象集中化的用戶帳號驗證服務器,但郵件地址
      薄查詢是最常用的。 

      二. 安裝 

      從www.openldap.org下載最新的openldap軟件包,按照編譯和安裝的步驟,依次運行:


      #tar cvfz openldap-stable-20010524.tgz 
      #cd openldap-2.0.11 
      #./configure 
      #make depend 
      #make 
      #make test 
      #make install 

      我的操作環境是redhat 6.1,如果沒有遇到任何錯誤,最後默認安裝LDAP後台程序slapd
      到目錄/usr/local/libexec;配置文件在目錄/usr/local/etc/openldap/ 並且放各種
      OpenLDAP工具
      ldapadd,ldapdelete,ldapmodify,ldapmodrdn,ldappasswd,ldapsearch 在目錄
      /usr/local/bin,運行時數據庫在/usr/local/var/openldap-ldbm 。 


      三. 設置 

      1) 更改配置文件/usr/local/etc/openldap/slapd.conf 
      在include /usr/local/etc/openldap/schema/core.schema這行後麵加上下麵的行,
      包括所有的方案。 

      include /usr/local/etc/openldap/schema/corba.schema 
      include /usr/local/etc/openldap/schema/cosine.schema 
      include /usr/local/etc/openldap/schema/inetorgperson.schema 
      include /usr/local/etc/openldap/schema/java.schema 
      include /usr/local/etc/openldap/schema/krb5-kdc.schema 
      include /usr/local/etc/openldap/schema/misc.schema 
      include /usr/local/etc/openldap/schema/nadf.schema 
      include /usr/local/etc/openldap/schema/nis.schema 
      include /usr/local/etc/openldap/schema/openldap.schema 

      2) 在文件slapd.conf的"ldbm database definitions"部分更改相應的
      suffix,rootdn行如下 

      database ldbm 
      suffix "o=yourdomain,c=us" 
      rootdn "cn=root,o=yourdomain,c=us" 
      rootpw secret 
      directory /usr/local/var/openldap-ldbm 

      有各種格式你可以用,這裏我用的是o=yourdomain,c=us 說明你的公司域名和所在的國
      家或地區 
      rootdn的格式安裝後默認為cn=Manager,這裏改為root完全是自己的喜好,這樣符合
      Unix/Linux中root具有最高權限的傳統。 

      3) 現在可以啟動slapd了,運行/usr/local/libexec/slapd 。 

      可以考慮把/usr/local/bin and /usr/local/libexec加到搜索路徑中,即加到
      /etc/profile 
      中的PATH行: 
      PATH="$PATH:/usr/X11R6/bin:/usr/local/bin:/usr/local/libexec" 
      這樣下次登錄後隻需鍵入 slapd 。 

      4) 測試ldap server是否正常工作。 
      運行下麵的命令檢查是否有相應的輸出。 

      #ldapsearch -x -b 'o=yourdomain,c=us' '(objectclass=*)' 


      5) 編輯.ldif文本文件,用ldapadd添加記錄進入LDAP數據庫。 
      文件內容如下: 

      dn: o=yourdomain,c=us 
      objectclass: dcobject 
      objectclass: organization 
      o: yourdomain 
      dc: yourdomain 

      dn: cn=Jephe Wu,o=yourdomain,c=us 
      objectclass: inetorgperson 
      cn: Jephe Wu 
      sn: Wu 
      mail: jephe_wu@yourdomain.com 


      ......more users...... 

      依次類推,添加每個人的記錄進入該文件中,注意對象類型 inetorgperson 至少必須要
      有cn和sn 
      ,這裏我們用cn,sn,mail三項定義,這對我們的郵件地址薄功能來說已經足夠。你還可以
      定義象 
      mobile, homephone,pager......等等。 

      然後用下麵的命令添加上麵的.ldif文件進入LDAP數據庫 

      #ldapadd -x -D "cn=root,o=yourdomain,c=us" -w secret -f
      "yourldiffilename" 

      注:上麵的文件的第一部分"dn: o=yourdomain,c=us"是必須的,否則不能添加數據。 
      用你的公司的域名替換上麵的"yourdomain"。 

      6) 設置Outlook Express, 允許用LDAP服務器查詢郵件地址。 

      "工具/帳號/添加--目錄服務",填入你的服務器的IP地址或者主機全稱域名,在下一個屏
      幕中選yes以允許用目錄服務來查詢地址,最後在"目錄服務"欄中選中剛才設置的項目擊
      “屬性/高級",在"搜索庫"中填入 
      "o=yourdomain,c=us" 。 
      Netscape請根據上麵的信息設置相應的選項。 

      四. 常見使用問題 

      1) 能啟動slapd 沒有問題,但不能添加數據庫,運行ldapadd添加時出錯 "ldap_bind:
      cannot contact LDAP Server" 。 
      答: 最可能的原因是在/etc/hosts中沒有127.0.0.1 localhost項目。 

      2) 注意查詢順序: 如果在Outlook Express的地址薄中有內容,則檢查地址時地址薄優
      先,如果在本地地址薄中找不到相應記錄,然後再查詢LDAP服務器。 

      3) 用下麵的命令確信客戶端與LDAP服務器有通訊,在服務器運行下麵的命令,然後在OE中
      測試檢查地址,你將會得到查詢LDAP數據庫的連接過程的輸出。 

      # tcpdump port 389

文章轉自莊周夢蝶  ,原文發布時間2007-07-14

最後更新:2017-05-17 15:31:24

  上一篇:go  從一個小例子出發之ruby、scheme和Erlang的簡單比較
  下一篇:go  改了下rss-reader,支持atom了