网上找了很多相关的安装说明,但是很多都命令不对,或者不正确,现在我做了一些修改,供大家参考。
安装环境:
redhat9.0
安装所需软件(都是以源码的方式存在的)
openldap-2.1.29 hrrp://www.openldap.org
Derkeley DB 4.2.52 http://www.sleepycat.com
安装步骤:
(确认是用root用户登录)
1、由于openldap需要Berkeley DB来存放数据,所以先安装Berkeley DB 4.2.52。
解压
#tar -zxvf db-4.2.52.NC.tar.gz
解压完成后,会生成一个db-4.2.52.NC的目录,进入该目录下的build_unix目录,执行命令进行配置安装。
#../dist/configure --prefix=/usr/local/BerkeleyDB (将Derkeley DB安装到/usr/local/DerkeleyDB目录下)。
#make
#make install
(此处修改)安装完成话,要把/usr/local/BerkeleyDB/lib的库路径加到/etc/ld.so.conf文件内,添加完成后执行一次ldconfig,使配置文件生效。(路径添加到include那后的最后面,并有一个空格,每次更新配置文件的时候,都需要ldconfig一遍)
2、安装openLDAP
解压
#tar -zxvf openldap-2.1.29.tgz
解压后生成一个openldap-2.1.29目录,进入该目录执行以下命令进行配置安装。
#env CPPFLAGS="-I/usr/local/BerkeleyDB/include" LDFLAGS="-L/usr/local/BerkeleyDB/lib"
./configure --prefix=/usr/local/openldap --enable-ldbm --enable-bdb=no (注意路径是DB的正确路径,/usr/local/****/include)
(注意以上的配置语句,要配置资料库的include和lib路径,否则在配置到资料库、相关内容时会提示Berkeley DB版本不兼容,
并中段配置。如果没有--enbale-ldbm=选项,在make test时会提示ldbm找不到)
#make depend
#make
#make test
在make test 的时候如果没有出现错误,就可以安装了,如果有什么错误,去看看以上内容,有没有全部都作。
开始安装
#make install
安装完成之后,在/usr/local/目录下将会出现openldap文件夹。
3、现在相关的软件已经安装完成了,现在可以进行配置了。
配置文件在软件的安装目录的etc/openldap下,主要的是slapd.comf和ldap.conf。在进行配置之前最好先将要配置的文件备份一份。
先配置slapd.conf文件。
在配置文件中添加:
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
include /usr/local/openldap/etc/openldap/schema/misc.schema
include /usr/local/openldap/etc/openldap/schema/openldap.schema
include /usr/local/openldap/etc/openldap/schema/nis.schema
include /usr/local/openldap/etc/openldap/schema/java.schema (里面路径如果和安装的不一致需要修改)
(包含文件按一定顺序,因为文件里面的属性存在附属关系,如果顺序不对服务会出现问题)
在argsfile /usr/local/openldap/var/slapd.args下面添加
loglevel 1
增加了日志功能,需修改syslog配置文件,在文件中增加一项:local4.* /var/log/ldap.log
日志的级别如下:
Debugging Levels Level Description
-1 enable all debugging
0 no debugging
1 trace function calls
2 debug packet handling
4 heavy trace debugging
8 connection management
16 print out packets sent and received
32 search filter processing
64 configuration file processing
128 access control list processing
256 stats log connections/operations/results
512 stats log entries sent
1024 print communication with shell backends
2048 print entry parsing debugging
默认的情况下是256
将文件中的
suffix "dc=my-domain,dc=com"
rootdn "cn=Manager,dc=my-domain,dc=com"
修改成自己的目录根,指定自己根的管理员。
rootdw 是管理员的密码,默认密码是secret,这里可以使用MD5加密。
现在已经能成功的启动服务了。但是没有对目录访问的权限进行设定:
access to attr=userPassword
by self write