OpenLDAP安裝與配置
安裝OpenLDAP服務器之前需要安裝數據庫BerkeleyDB,安裝完OpenLDAP之后可以安裝phpLDAPadmin(一個基于Web的LDAP管理工具用于管理LDAP服務器的各個方面)。
安裝包:
數據庫BerkeleyDB:BerkeleyDB- 6.0.30
BerkeleyDB- 6.0.30下載地址:http://www.linuxfromscratch.org/blfs/view/svn/server/db.html
openldap: openldap-2.4.39
openldap-2.4.39下載地址:http://www.linuxfromscratch.org/blfs/view/svn/server/openldap.html
一、安裝BerkeleyDB
我選用的數據庫是BerkeleyDB- 6.0.30,在安裝openldap之前需要把BDB
先裝好。安裝步驟如下:
1) 首先把下載好的文件db-6.0.30.tar解壓,生成文件夾db-6.0.30,
# cd db-6.0.30/build_unix
# ../dist/configure
# make
# make install
這個過程一般沒什么問題,默認安裝到了/usr/local下,目錄名是BerkeleyDB.6.0。
2) 接下來應該把BerkeleyDB.6.0下include和lib文件夾下的文件都考到usr文件夾下相應的include和lib文件下。也可以通過以下命令來實現
#cp /usr/local/ BerkeleyDB.6.0/include/* /usr/include
#cp /usr/local/ BerkeleyDB.6.0/lib/* /usr/lib
二、安裝OpenLDAP
同樣,先解壓,我用的是openldap-2.4.39,安裝步驟如下
#cd openldap-2.4.39
#env CPPFLAGS=”-I/usr/local/ BerkeleyDB.6.0/include” LDFLAGS=”-L/usr/local/ BerkeleyDB.6.0/lib” ./configure --PRefix=/usr/local/openldap
出現 Making servers/slapd/backends.c
Add config…
Add ldif…
Add monitor…
Add bdb…
Add hdb…
Add relay…
Make servers/slapd/overlays/statover.c
Add syncprov…
Please run “make depend” to build dependencies
就可以進行下一步了,
#make depend
#make
#make test
這個過程時間有點長(但一定要做),我大概要用一個半小時,耐心等待。如果執行通過就可以開始安裝了。
# make install
到此,安裝完成。
三、配置openldap
安裝完成后,需要進行配置,
# /usr/local/openldap/etc/openldap/slapd.conf
打開slapd.conf后,
1)需要把schema文件中的.schema文件包含進去,在
include/usr/local/openldap/etc/openldap/schema/core.schema后加入其它schema文件。
如:
include/usr/local/openldap/etc/openldap/schema/core.schema
include/usr/local/openldap/etc/openldap/schema/corba.schema
include/usr/local/openldap/etc/openldap/schema/cosine.schema
include/usr/local/openldap/etc/openldap/schema/inetorgperson.schema
……
……
2)在#BDB database definitions下配置bdb,
database bdb
suffix "dc=my-domain,dc=com"
rootdn "cn=Manager,dc= my-domain,dc=com"
# Cleartext passWords, especially for the rootdn, should
# be avoid. See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw secret
# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory /usr/local/openldap/var/openldap-data
# Indices to maintain
index objectClass eq
把suffix "dc=my-domain,dc=com" 中my-domain換成自己需要的(例:duncy)。
rootdn “cn=Manager,dc=my-domain,dc=com”也換掉,可以如下
rootdn “cn=root,dc=duncy,dc=com”
rootpw的密碼最好用密文形式的,密文形式的密文可以用命令slappasswd來生成。
# /usr/local/openldap/sbin/slappasswd
New password:
Re-enter new password:
{SSHA}BsaRKs65dsw5dhesleHEHEWOE1843decJ
密文就是:{SSHA}BsaRKs65dsw5dhesleHEHEWOE1843decJ
3)可以在配置文件中加入日志的級別,方便在有問題時知道問題所在,如下:
#added logging parameters
Loglevel 256
說明:loglevel后面的數字是日志的級別,其它的日志級別如下:
-1 記錄所有的信息0 不記錄debug1 跟蹤功能調用的信息2 包處理的debug信息4 豐富的debug信息8 連接管理信息16 包的收發信息32 搜索過濾的處理過程64 配置文件的處理過程128 訪問控制列表處理過程256 連接、操作及其結果的統計數據512 向客戶端返回的結果的統計信息1024 與shell后端的通信信息2048 顯示記錄條目的分析信息4096 數據庫緩存處理信息8192 數據庫索引16384 從服務器數據同步資源消耗處理信息
四、配置ldap服務器
打開ldap.conf文件(和slapd.conf在同一個文件夾下),在#BASE dc=example,dc=com
下邊輸入BASE dc=example,dc=com,把example換成自己的公司名什么的。保存!
五、啟動openldap服務器
打開終端,在啟動slapd之前可以使用slaptest測試一下slapd.conf有沒有語法錯誤(測試時最好進入到root模式,避免權限問題),slaptest在openldap下sbin目錄下。
#slaptest
出現config file testing succeeed就表示配置沒有問題了。
啟動執行命令:
#/usr/local/openldap/libexec/slapd –d 256
出現如下命令行就表示啟動成功了。
再打開一個終端,用以下命令查詢服務器:
#ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
如果命令執行成功,返回一些信息,則說明服務器正常運行了。如果啟動不成功,它會提示一些出錯信息,多數是slapd.conf配置出錯。回頭仔細核查一下配置文檔。
六、向數據庫添加數據
1,編寫test.ldif文件
#sudo vi test.ldif
注意:(dn: 后必須有空格,每行末尾不能有空格)
dn: dc=duncy,dc=com #建立根
objectClass: dcObject
objectClass: organization
dc: duncy
o: duncy.com
description: d Corporation
dn: ou=People,dc=duncy,dc=com #添加一個組People
objectClass: organizationalUnit
objectClass: top
ou: People
dn: ou=Group,dc=duncy,dc=com #添加一個組Group
objectClass: top
objectClass: organizationalUnit
ou: Group
2,執行命令
# ldapadd -x -D "cn=root, dc=duncy,dc=com" –W -f test.ldif
3,查詢數據是否添加成功
# ldapsearch –x –b “dc=duncy,dc=com”
如添加成功,會出現如下信息:
然后可以向數據庫中添加用戶信息ldif,格式參考上邊test的寫法。例:
user.ldif
dn: uid=test,ou=People,dc=duncy,dc=com
uid: test
ou: People
cn: test
sn: tset
userPassword: 123456
uidnumber: 100
gidnumber: 100
homeDirectory: /home/test
loginShell: /bin/bash
objectClass: top
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
編完以后保存,然后通過ldapadd命令加入數據庫就可以了。如要刪除結點,則可以使用ldapdelete命令。
#Ldapdelete -x -D “cn=root,dc=duncy,dc=com” -W “uid=test,ou=People,dc=duncy,dc=com”
參數說明:
x
:指定使用簡單授權
D
:指定
LDAP
的管理區
W:
提示輸入管理密碼
最后的內容是指定刪除的用戶信息
七、停止服務器
用Ctrl+c,或者殺死進程號,可以用 # find /usr –name slapd.pid來查詢。還可以找到你的slapd.pid,打開文件,里邊的數字是一個進程號,你可以 # kill 進程號來結束進程。
八、安裝phpldapadmin
#apt-get install phpldapadmin
現在可以用瀏覽器進入到phpldapadmin界面管理服務器了。
192.168.1.112/phpldapadmin
新聞熱點
疑難解答
圖片精選