openldap安装与配置

来源:互联网 发布:杀戮演绎 知乎 编辑:程序博客网 时间:2024/05/17 04:00

OpenLDAP安装与配置

 

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

安装包:

         数据库BerkeleyDB:BerkeleyDB- 6.0.30

下载地址:http://www.linuxfromscratch.org/blfs/view/svn/server/db.html

         openldap:  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,

# 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/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 builddependencies

就可以进行下一步了,

#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 –uswitch,那只要在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: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 –nameslapd.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’);

 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 绝地求生被火瓶烧了怎么办 win8电脑太卡怎么办 win8关机没反应怎么办 arma3没子弹了怎么办 g350d柴油冻了怎么办 散热硅胶干了怎么办 电脑打不开pdf文件怎么办 文件变成快捷方式打不开怎么办 ai文件打不开了怎么办 电脑下载了病毒软件怎么办 打嗝停不下来怎么办 咳嗽停不下来怎么办 电动机停不下来怎么办 电脑所有程序都打不开怎么办 机顶盒画面卡顿怎么办 电脑画面卡顿怎么办 鞋舌头跑偏怎么办 球球大作战老卡怎么办 孩子被打却不敢还手怎么办? 自卫砍伤了人怎么办 系统还原节点黑屏了怎么办 我惹事了要被打怎么办 诛仙宠物太多怎么办 笔记本玩lolfps低怎么办 lol延迟有42怎么办 软件安装后黑屏怎么办 汽车脚垫翘边怎么办 晴季寿司会员怎么办 理财产品跑路了怎么办 宝宝足跟血异常怎么办 孩子足跟血异常怎么办 打印机显示用户干预怎么办 打印机脱机状态怎么办win10 电脑打印机显示脱机怎么办 佳能打印机显示脱机怎么办 汽车说明书丢了怎么办 oppo手机刷机后内存不足怎么办 电脑运行太慢怎么办 台式电脑卡慢怎么办 touch炫舞不记得区怎么办 产能过剩是带怎么办