首页 > 系统 > Ubuntu > 正文

OpenLDAP服务器安装与配置(ubuntu12.04)

2024-06-28 13:27:10
字体:
来源:转载
供稿:网友
OpenLDAP服务器安装与配置(Ubuntu12.04)

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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表