如何設(shè)置一個(gè)基本的OpenLDAP Server(轉(zhuǎn)載)
Posted on 2007-07-14 16:08 dennis 閱讀(1618) 評(píng)論(1) 編輯 收藏 所屬分類(lèi): java 、linux & C如何設(shè)置一個(gè)基本的OpenLDAP Server
本文出自:http://www.linuxforum.net 作者:吳阿亭 Jephe wu (2001-09-04 15:00:01)
一. 目的
本文旨在介紹如何安裝OpenLDAP并且設(shè)置一個(gè)公司內(nèi)部的集中化的郵件地址薄服務(wù)器供客
戶端查詢。
基本上,OpenLDAPg還應(yīng)用在其它許多方面,象集中化的用戶帳號(hào)驗(yàn)證服務(wù)器,但郵件地址
薄查詢是最常用的。
二. 安裝
從www.openldap.org下載最新的openldap軟件包,按照編譯和安裝的步驟,依次運(yùn)行:
#tar cvfz openldap-stable-20010524.tgz
#cd openldap-2.0.11
#./configure
#make depend
#make
#make test
#make install
我的操作環(huán)境是redhat 6.1,如果沒(méi)有遇到任何錯(cuò)誤,最后默認(rèn)安裝LDAP后臺(tái)程序slapd
到目錄/usr/local/libexec;配置文件在目錄/usr/local/etc/openldap/ 并且放各種
OpenLDAP工具
ldapadd,ldapdelete,ldapmodify,ldapmodrdn,ldappasswd,ldapsearch 在目錄
/usr/local/bin,運(yùn)行時(shí)數(shù)據(jù)庫(kù)在/usr/local/var/openldap-ldbm 。
三. 設(shè)置
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"部分更改相應(yīng)的
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 說(shuō)明你的公司域名和所在的國(guó)
家或地區(qū)
rootdn的格式安裝后默認(rèn)為cn=Manager,這里改為root完全是自己的喜好,這樣符合
Unix/Linux中root具有最高權(quán)限的傳統(tǒng)。
3) 現(xiàn)在可以啟動(dòng)slapd了,運(yùn)行/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) 測(cè)試ldap server是否正常工作。
運(yùn)行下面的命令檢查是否有相應(yīng)的輸出。
#ldapsearch -x -b 'o=yourdomain,c=us' '(objectclass=*)'
5) 編輯.ldif文本文件,用ldapadd添加記錄進(jìn)入LDAP數(shù)據(jù)庫(kù)。
文件內(nèi)容如下:
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......
依次類(lèi)推,添加每個(gè)人的記錄進(jìn)入該文件中,注意對(duì)象類(lèi)型 inetorgperson 至少必須要
有cn和sn
,這里我們用cn,sn,mail三項(xiàng)定義,這對(duì)我們的郵件地址薄功能來(lái)說(shuō)已經(jīng)足夠。你還可以
定義象
mobile, homephone,pager......等等。
然后用下面的命令添加上面的.ldif文件進(jìn)入LDAP數(shù)據(jù)庫(kù)
#ldapadd -x -D "cn=root,o=yourdomain,c=us" -w secret -f
"yourldiffilename"
注:上面的文件的第一部分"dn: o=yourdomain,c=us"是必須的,否則不能添加數(shù)據(jù)。
用你的公司的域名替換上面的"yourdomain"。
6) 設(shè)置Outlook Express, 允許用LDAP服務(wù)器查詢郵件地址。
"工具/帳號(hào)/添加--目錄服務(wù)",填入你的服務(wù)器的IP地址或者主機(jī)全稱(chēng)域名,在下一個(gè)屏
幕中選yes以允許用目錄服務(wù)來(lái)查詢地址,最后在"目錄服務(wù)"欄中選中剛才設(shè)置的項(xiàng)目擊
“屬性/高級(jí)",在"搜索庫(kù)"中填入
"o=yourdomain,c=us" 。
Netscape請(qǐng)根據(jù)上面的信息設(shè)置相應(yīng)的選項(xiàng)。
四. 常見(jiàn)使用問(wèn)題
1) 能啟動(dòng)slapd 沒(méi)有問(wèn)題,但不能添加數(shù)據(jù)庫(kù),運(yùn)行l(wèi)dapadd添加時(shí)出錯(cuò) "ldap_bind:
cannot contact LDAP Server" 。
答: 最可能的原因是在/etc/hosts中沒(méi)有127.0.0.1 localhost項(xiàng)目。
2) 注意查詢順序: 如果在Outlook Express的地址薄中有內(nèi)容,則檢查地址時(shí)地址薄優(yōu)
先,如果在本地地址薄中找不到相應(yīng)記錄,然后再查詢LDAP服務(wù)器。
3) 用下面的命令確信客戶端與LDAP服務(wù)器有通訊,在服務(wù)器運(yùn)行下面的命令,然后在OE中
測(cè)試檢查地址,你將會(huì)得到查詢LDAP數(shù)據(jù)庫(kù)的連接過(guò)程的輸出。