当前位置:操作系统 > Unix/Linux >>

openldap的安装笔记

安装步骤

  1、由于openldap需要Berkeley DB来存放数据,所以需先安装Berkeley DB 4.2.52,可到它的网站下载,网址见上面。

  # tar -zxvf db-4.2.52.tar.gz

  解完压后,会生成一个db-4.2.52目录,进行该目录下的build_unix目录。执行以下命令进行配置安装。

  # ../dist/configure

  # make

  # make install

  也是按linux源码安装的三步曲完成,没有什么好说的了。该软件默认是安装在/usr/local/BerkeleyDB.4.2目录下。安装完成后,要把/usr/local/BerkeleyDB.4.2/lib的库路径加到/etc/ld.so.conf文件内,添加完成后执行一次ldconfig,使用配置文件生效。这样编译openldap时才能找到相应的库文件。这样资料库就安装完成了,接下来可以安装openldap了。

  ld.so.conf是什么东西?它就是系统动态链接库的配置文件。此文件内,存放着可被LINUX共享的动态链接库所在目录的名字(系统目录/lib,/usr/lib除外),各个目录名间以空白字符(空格,换行等)或冒号或逗号分隔。一般的LINUX发行版中,此文件均含一个共享目录/usr/X11R6/lib,为X window窗口系统的动态链接库所在的目录。 ldconfig是它的管理命令,具体操作方法可查询man手册,这里就不细讲了。

  2、到openldap官方网站下载最新的稳定版源码,并解压。查看INSTALLT 和README文档,这个很重要,因为安装方法和一些注意事项都在里面有介绍。认真弄明白文档内容能节省你不少的安装调试时间。这也是开源软件的一个特点,给用户提供了最大的灵活性和可配置性。但也增加了系统安装配置的难度,需要有相关的文档配置说明和指导。在官方网站上还有详细的帮助文件,在整个系统配置中需要经常查询。

  # tar -zxvf openldap-stable-20040329.tgz

  解压完成后,会生成一个openldap-2.1.29目录。进行该目录,执行以下命令进行配置安装。

  # env CPPFLAGS="-I/usr/local/BerkeleyDB.4.2/include" LDFLAGS="-L/usr/local/BerkeleyDB.4.2/lib" ./configure --prefix=/usr/local/openldap --enable-ldbm

  注意以上配置语句,要设置资料库的include和lib路径,否则在配置到资料库相关内容时会提示Berkeley DB版本不兼容,并中断配置。如果没有--enable-ldbm选项,在make test时会提示ldbm找不到。为了减少出错,还是加上为好。

  #make depens

  #make

  #make test

  在make test阶段要花费较长时间进行测试,好像有16项吧。你可以放松一下,上上网,聊聊天,听听歌,呵呵,开玩笑了,这个时间应该是最紧张的了。成不成就看这次的了。

  #make install

  通过配置命令可以看出,我们把openldap安装到/usr/local/openldap目录下。建议以源码安装的软件都放到独立的目录下,不要放到软件默认的目录。好处是方便管理和控制,所有文件在统一的目录下,卸载软件只要删除整个目录就可以了。

  3、ok,安装完相关软件后就可以着手配置了。Berkeley DB资料库没什么好配置的。主要是配置openldap 服务。配置文件在软件的安装目录的etc/openldap下,有四个文件,主要的是slapd.conf and ldap.conf,其它两个是backup文件。首先,我们先来配置slapd.conf文档。

  系统默认的slapd.conf文件如下:

  # $OpenLDAP: pkg/ldap/servers/slapd/slapd.conf,v 1.23.2.8 2003/05/24 23:19:14 kurt Exp $

  #

  # See slapd.conf(5) for details on configuration options.

  # This file should NOT be world readable.

  #

  include /usr/local/openldap/etc/openldap/schema/core.schema 设置schema配置文档包含

  # Define global ACLs to disable default read access.

  # Do not enable referrals until AFTER you have a working directory

  # service AND an understanding of referrals.

  #referral ldap://root.openldap.org

  pidfile /usr/local/openldap/var/slapd.pid 设置pid和args文档位置

  argsfile /usr/local/openldap/var/slapd.args

  # Load dynamic backend modules:

  # modulepath /usr/local/openldap/libexec/openldap

  # moduleload back_bdb.la

  # moduleload back_ldap.la

  # moduleload back_ldbm.la

  # moduleload back_passwd.la

  # moduleload back_shell.la

  # Sample security restrictions

  # Require integrity protection (prevent hijacking)

  # Require 112-bit (3DES or better) encryption for updates

  # Require 63-bit encryption for simple bind

  # security ssf=1 update_ssf=112 simple_bind=64

  # Sample access control policy:

  # Root DSE: allow anyone to read it

  # Subschema (sub)entry DSE: allow anyone to read it

  # Other DSEs:

  # Subschema (sub)entry DSE: allow anyone to read it

  # Other DSEs:

  # Allow self write access

  # Allow authenticated users read access

  # Allow anonymous users to authenticate

  # Directives needed to implement policy:

  # access to dn.base="" by * read

  # access to dn.base="cn=Subschema" by * read

  # access to *

  # by self write

  # by users read

  # by anonymous auth

  #

  # if no access controls are present, the default policy is:

  # Allow read by all

  #

  # rootdn can always write!

  #######################################################################

  # ldbm database definitions

  #######################################################################

  database bdb 设置使用的资料库,也可用lbdm。

  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( and slapd.conf(5) for details.

  # Use of strong authentication encouraged.

  rootpw secret 设置管理密码,这里用了明文的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 设置目录项索引

  要服务器正常动作,要修改一些始初参数和设置,修改后的配置文档如下:

  # $OpenLDAP: pkg/ldap/servers/slapd/slapd.conf,v 1.23.2.8 2003/05/24 23:19:14 kurt Exp $

  #

  # See slapd.conf(5) for details on configuration options.

  # This file should NOT be world readable.

  #

  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/samba.schema

  # Define global ACLs to disable default read access.

  # Do not enable referrals until AFTER you have a working directory

  # service AND an understanding of referrals.

  #referral ldap://root.openldap.org

  pidfile /usr/local/openldap/var/slapd.pid

  argsfile /usr/local/openldap/var/slapd.args

  loglevel 1 增加了日志功能,需修改syslog配置文件,在文件中增加一项:local4.* /var/log/ldap.log 日志级别定义可查相官方网站的文档。1级记录的信息很多。可用于调试。

  # Load dynamic backend modules:

  # modulepath /usr/local/openldap/libexec/openldap

  # moduleload back_bdb.la

  # mod
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,