2017/10/24 周二 大晴天
笔者已经被OpenLDAP折磨了俩星期,今天终于能用了(太菜啦...
我就把我自己完整的安装和配置过程写写吧 (大佬们请无视)
一、安装BerkeleyDB
(1) 去Oracle官网下载安装包:
http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html
我刚开始下的是 Berkeley DB 6.2.32.tar.gz
(2)解压到本地
(3)切换到build_unix 目录
# cd build_unix
# ../dist/configure
# make
# make install
安装的默认路径是 /usr/local/BerkeleyDB.6.2
(4)查看安装
# ls /usr/local/BerkeleyDB.6.2/lib
libdb-6.2.a libdb-6.2.la libdb-6.2.so libdb-6.so libdb.a libdb.so
(5) 设置到系统变量
不设置的话,等下安装OpenLDAP时候执行./configure检查时候还会报同样的错
# vim /etc/ld.so.conf
添加一行:
usr/local/BerkeleyDB.6.2/lib/
保存退出
执行生效:# ldconfig –v
二、安装OpenLDAP
(1)去OpenLDAP官网下载安装包:
http://www.openldap.org/software/download/
我下载的是openldap-2.4.45.tgz(见附件)
(2)解压到本地
(3)切换到openldap目录下,执行configure文件
#cd /home/zzj/openldap-2.4.45
#./configure
执行后报错:
error: BerkeleyDB version incompatible with BDB/HDB backends
这个错误明显就是和之前装的BDB不匹配啊...然后我就懵了,内心OS:我哪知道openldap和哪个版本的BDB匹配阿??于是各种找网上的博客一通大改,然而并没有什么用,还是报同样的错误...就在我想改成用yum装的时候,我又打开了一篇博客,神奇的发现了README这个文件:
SLAPD:
BDB and HDB backends require Oracle Berkeley DB 4.4 - 4.8,
or 5.0 - 5.1. It is highly recommended to apply the
patches from Oracle for a given release.
与之匹配的版本里面写的很清楚啊!!!
好吧,只有重新下载BerkeleyDB了,我又从官网上下载了Berkeley DB 4.6.21.tar.gz,安装步骤同第一大点
(4)安装好匹配的BDB后,接着安装openldap
#./configure
#make depend
#make
#make install
到这里openldap-2.4.45已经成功的安装到我的系统当中,默认的配置文件在 /usr/local/etc/openldap 下。
三、配置ldap服务器
(1) 配置ldap的dc和cn
#vim /usr/local/etc/openldap/slapd.conf
修改其中的下面两行:
suffix "dc=example,dc=com"
rootdn "cn=Manager,dc=example,dc=com"
可以改成自己喜欢的域名:
database bdb
suffix "dc=zhouzj,dc=com"
rootdn "cn=Manager,dc=zhouzj,dc=com"
rootpw secret
(2)启动slapd
#cd /usr/local/libexec/
#./slapd
验证一下能不能使用:
# ldapsearch -x -b '' -s base'(objectclass=*)'
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# extended LDIF
#
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: ALL
#
#
dn:
objectClass: top
objectClass: OpenLDAProotDSE
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1
说明ldap服务器已经可以使用了。
(3)新建管理账号
建立一个user.ldif 文件
# vim user.ldif
dn: cn=Manager,dc=zhouzj,dc=com
objectclass: organizationalRole
cn: Manager
将账号导入插入数据库
# ldapadd -x -D "cn=Manager,dc=zhouzj,dc=com" -W -f user.ldif
如果需要密码,我的默认密码是:secret(位于/usr/local/etc/openldap/slapd.conf)
Enter LDAP Password:
adding new entry "cn=Manager,dc=zhouzj,dc=com"
这里可以看到节点已经插入到ldap
了。这里的zhouzj
是我起的域名,您也可以根据需要设置一个自己喜欢的域名。
查询一下:
#ldapsearch -x -b "dc=zhouzj,dc=com"
# extended LDIF
#
# LDAPv3
# base <dc=zhouzj,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# Manager, zhouzj.com
dn: cn=Manager,dc=zhouzj,dc=com
objectClass: organizationalRole
cn: Manager
添加成功!
这个时候说明Openldap已经可以使用了