(整理)LDAP安裝和使用

1.Windows安裝使用OpenLDAP
    參照http://www.micmiu.com/enterprise-app/sso/openldap-windows-config/
 
a.下載openldap-2.2.29-db-4.3.29-openssl-0.9.8a-win32_Setup.rar 

b.打開控制檯,切換到openLDAP安裝目錄,啓動openLDAP,命令如下

    slap -d 1

c.在安裝目錄下,新建文件my-domain.ldif
d.在控制檯裏輸入命令:
ldapadd -x -D "cn=Manager,dc=my-domain,dc=com" -w secret -f my-domain.ldif
  向數據庫中添加條目。
e.查看條目,修改條目,刪除條目的命令用法,可以參考下面的網頁
http://book.51cto.com/art/201002/182473.htm
f.下面的網頁演示了用ldapmodify命令來修改,添加,刪除條目的方法。
http://wenku.baidu.com/view/672aeacb05087632311212a7.html
g.解壓LdapBrowser282.zip後雙擊lbe.bat,可以通過可視化的方式,操作目錄數據庫。
http://www.micmiu.com/enterprise-app/sso/openldap-windows-config/
h.用文本方式編輯lbe.bat可以發現,lbe.bat正常運行需要java命令。
如果電腦沒有安裝java環境,請安裝jdk-7u21-windows-i586.exe
2.linux安裝使用OpenLDAP
參照http://blog.sina.com.cn/s/blog_56d8ea900100q5jr.html

XXX是用戶名。 

a.安裝Berkeley DB 4.7.25

#tar xvf db-4.7.25.tar.gz
#cd db_4.7.25
# cd build_unix/  
# ../dist/configure -prefix=/home/XXX/app/BerkeleyDB
# make
# make install    
b.安裝openldap前準備:配置環境變量,參考openldap install文件
#export CPPFLAGS="-I/home/XXX/app/BerkeleyDB/include -D_GNU_SOURCE"
注:不設置make時報getpeereid.c:65: error: storage size of ‘peercred’ isn’t known錯誤
#export LDFLAGS="-L/home/XXX/app/BerkeleyDB/lib"
注:不設置configure時報configure: error: BDB/HDB: BerkeleyDB not available錯誤
#export LD_LIBRARY_PATH="/home/XXX/download/db-4.7.25/build_unix/.libs"
注:不設置configure時報configure: error: Berkeley DB version mismatch錯誤
c.安裝openldap-2.4.15
#tar xvf openldap-2.4.15.tgz
#cd openldap-2.4.15/
#./configure -prefix=/home/XXX/app/openldap
# make depend
# make test 可跳過
# make
# make install
d.啓動openldap
#cd /home/XXX/app/openldap/libexec
如果是root用戶:
#./slapd -d 1
否則
#su root -c "./slapd -d 1"
e.數據庫的操作同windows。
f.錯誤處理
錯誤一:openldap安裝成功後,另外啓動一個終端,slapd啓動時將報錯:
./slapd: error while loading shared libraries: libdb-4.7.so: cannot open shared object file: No such file or directory

出錯原因:找不到bdb的鏈接庫。

解決辦法一:完全拷貝。

#cp /home/XXX/app/BerkeleyDB//include/* /usr/include/
#cp /home/XXX/app/BerkeleyDB/BerkeleyDB/lib/* /usr/lib/

解決辦法二(推薦):

要把/home/XXX/app/BerkeleyDB/lib的庫路徑直接加到/etc/ld.so.conf文件最後一行,添加完成後執行一次 ldconfig,使用配置文件生效。
提示: ld.so.conf記錄了編譯、或運行時使用的動態鏈接庫(.so)的路徑。默認情況下,編譯器只會使用/lib和/usr/lib這兩個目錄下的庫文件。

錯誤二:debug模式啓動時報daemon: bind(7) failed errno=13錯誤

出錯原因:是1024以下的端口必須由root才能綁定。因爲ldap默認是389端口。所以才報這個錯誤。


解決辦法:su root -c "./slapd"

3.交叉編譯LDAP 目標板用的是ARM

# tar xvf db-4.7.25.tar.gz
# cd db_4.7.25
# cd build_unix/ 
# env CC=arm-linux-gcc
# env CC=arm-linux-gcc ../dist/configure -prefix=/home/XXX/app/BerkeleyDB
# make
# make install    

#export CPPFLAGS="-I/home/XXX/app/BerkeleyDB/include -D_GNU_SOURCE"
#export LDFLAGS="-L/home/XXX/app/BerkeleyDB/lib"
#export LD_LIBRARY_PATH="/home/XXX/download/db-4.7.25/build_unix/.libs"


#tar xvf openldap-2.4.15.tgz
#cd openldap-2.4.15/
#./configure -prefix=/home/XXX/app/openldap  CC=arm-linux-gcc  --host=arm  --with-yielding-select=yes --with-tls=no
# make depend
# make test 可跳過
# make
# make install -i 
發佈了24 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章