搜档网
当前位置:搜档网 › OpenLDAP安装与配置(ubuntu-12.04)

OpenLDAP安装与配置(ubuntu-12.04)

OpenLDAP安装与配置(ubuntu-12.04)
OpenLDAP安装与配置(ubuntu-12.04)

OpenLDAP安装与配置

安装OpenLDAP服务器之前需要安装数据库BerkeleyDB,安装完OpenLDAP之后可以安装phpLDAPadmin(一个基于Web的LDAP管理工具用于管理LDAP服务器的各个方面)。安装包:

数据库BerkeleyDB:BerkeleyDB- 6.0.30

下载地址:https://www.sodocs.net/doc/2512967253.html,/blfs/view/svn/server/db.html

openldap: openldap-2.4.39

下载地址:https://www.sodocs.net/doc/2512967253.html,/blfs/view/svn/server/openldap.html

一、安装BerkeleyDB

我选用的数据库是BerkeleyDB- 6.0.30,在安装openldap之前需要把BDB

先装好。安装步骤如下:

1)首先把下载好的文件db-6.0.30.tar解压,生成文件夹db-6.0.30,

# tar zxvf db-6.0.30.tar.gz

# 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,安装步骤如下

#tar zxvf openldap-2.4.39.tgz

#cd openldap-2.4.39

#env CPPFLAGS=”-I/usr/local/BerkeleyDB.6.0/include”LDFLAGS=”-L/usr/local/BerkeleyD B.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 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 不记录debug

1 跟踪功能调用的信息

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就表示配置没有问题了。可能会提示test would succeed using the –u switch,那只要在slaptest 后加–u,就可以了。

启动执行命令:

#/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: https://www.sodocs.net/doc/2512967253.html,

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

九、配置phpldapadmin

编辑/etc/phpldapadmin/config.php,将下面这一行中基本DN换成自己定义的基本DN,如’dc=viatech,dc=com’。

$servers->setValue(‘server’,’base’,array(‘dc=example,dc=com’));

编辑/etc/phpldapamin/config.php,修改登录时绑定的DN为自己定义的DN,修改下面这一行的DN为’cn=admin,dc=viatech,dc=com’。

$servers->setValue(‘login’,’bind_id’,’cn=admin,dc=example,dc=com’);

相关主题