LDAP(轻量级目录访问服务),通过配置这个服务,我们也可以在linux下面使用目录的形式管理用户,就像windows下面的AD一样,方便我们管理。下面我们就一起来配置openldap服务。本文运行环境:CentOS 5。
软件需求:
openldap-stable-20090411.tgz
(http://www.openldap.org/software/download/)
phpldapadmin-0.9.8.5.tar.gz(http://phpldapadmin.sourceforge.net/wiki/index.php/Main_Page)
另外,运行phpldapadmin需要apache和php的支持,有关apache和php的安装,大家可以参考我的另一篇文章:Linux服务器部署系列之一—Apache篇(http://guoxuemin.blog.51cto.com/379574/168534
 
1. 安装openldap
1)安装BerkeleyDB
# tar  zxvf  db-4.7.25.tar.gz
# cd  db-4.7.25/build_unix
# ../dist/configure
# make
# make  install
# vi  /etc/ld.so.conf
加入一下语句:
/usr/local/BerkeleyDB.4.7/lib
# /sbin/ldconfig
2)安装openldap
# tar  zxvf  openldap-stable-20090411.tgz
# cd  openldap-2.4.16
# env  CPPFLAGS=”-I/usr/local/BerkeleyDB.4.7/include”  LDFLAGS=”-L/usr/local/BerkeleyDB.4.7/lib”  ./configure  --prefix=/usr/local/openldap  --enable-ldbm
# make depend
# make
# make install
3)检查安装结果
安装好后,系统会自动生成一些.schema文件,我们可以使用命令:# ll  /usr/local/openldap/etc/openldap/schema/*.schema来查看,如下图:
 
 
2. 配置openldap
openldap的配置文件主要为slapd.conf和ldap.conf,手动安装的话,存放在/usr/local/openldap/etc/openldap下面,如下图:
 
1)配置slapd.conf文件
主要需要修改的地方有两个,一个是将所有./schema添加进来(默认只有include  /usr/local/openldap/etc/openldap/schema/core.schema这条记录),如下图:
 
另一个地方是下图所示,将suffix项改成自己的目录后缀;设置rootdn,注意这里设置的root管理员是管理openldap的,跟linux系统的root管理员不是一样的。
 
2)启动openldap
使用以下命令启动openldap:
# /usr/local/openldap/libexec/slapd
3)加密管理员密码
 使用命令slappasswd修改管理员密码,默认的管理员密码是明文形式的,使用slappasswd修改后将以加密的方式保存。
 
4)修改客户端配置文档
如下图,修改红色框处,设置目录起点。
 
5)录入信息
一般信息录入的方式有三种:手工录入,使用.ldif文件格式录入,使用脚本录入。这里我们选用比较方便的那种——使用.ldif文件格式录入。
首先使用vi  init.ldif命令建立一个init.ldif文件,内容如下:
 
然后用命令/usr/local/openldap/bin/ldapadd  -x  -W  -D  “cn=root,dc=guoxuemin,dc=cn”  -f  init.ldif将内容导入,如下图:
 
 
3. 配置openldapadmin
1)安装openldapadmin
# tar  zxvf  phpldapadmin-0.9.8.5.tar.gz
# mv  phpldapadmin-0.9.8.5  /usr/local/phpldapadmin
openldapadmin的安装很简单,只需要解压,然后移动到相应的目录就可以了。
2)配置http.conf文件
# vi  /usr/local/apache/conf/httpd.conf
 
增加上图所示的内容,上述内容的作用是建立虚拟目录并设置用户认证。
设置用户admin的密码,如下图:
 
3)配置phpldapadmin
默认情况下phpldapadmin自带了一个示例配置文件config.php.example,我们可以对改文件稍做修改,就可以使用了。
# cd  /usr/local/phpldapadmin/config
# cp  config.php.example  config.php
# vi  config.php
将274行的/*移动到283行,然后修改276-282行的参数,具体如下:
 
然后屏蔽以下行的内容,如下图:
 
另外,还有两项需要修改的,如下图:
 
保存配置文件,并重启Apache服务,就可以使用浏览器输入:http://IP地址或计算机名/phpldapadmin/进行访问了。如下图:
 
注意,要使用phpldapadmin,需要有gettext包的支持,在php编译时还需要将ldap也编译进去,否则,会出现下图所示错误信息:
 
如果出现类似信息,那么只需要安装gettext包,并对php重新编译安装就可以了,
gettext包的安装:
# tar  zxvf  gettext-0.16.1.tar.gz
# cd  gettext-0.16.1
# ./configure  --prefix=/usr/local/gettext
# make
# make  install
对php的编译如下图:
4phpldapadmin应用
点击左面板的login,我们可以通过openldap管理员root登录,如下图:
 
登录进去后,可以看到openldap的操作界面,左面板上跟windows的AD一样有ou,有用户信息。
 
如果我们要建立用户信息,可以点击左面板上的“Create new entry here”,然后根据需要在右面板上选择帐户类型,根据向导一步步建立。图形化的操作界面大家都很熟悉了,这里我就不再一一介绍。
 
当然我们也还可以通过ldif的方式导入,点击左面板上的import可以导入ldif文件。点击左面板上的export可以将现有数据导出为ldif文件。
 
 
4. 配置ldap日志
修改ldap配置文件slapd.conf,增加一项loglevel 1,如下图:
# vi  /usr/local/openldap/etc/openldap/slapd.conf
 
然后修改系统日志配置文件:
# vi  /etc/syslog.conf
增加以下行:
local4.*  /usr/local/openldap/var/log/ldap.log
使用命令service syslog restart重启syslog,系统就会自动生成日志文件ldap.log了。
 
OK,现在已经设置好了,我们可以通过目录的形式管理帐户信息了,不过,这个服务是免费的,所以功能上相对于windows的AD还是要弱一些。
本文仅讲述了openldap的安装和基本配置,对于openldap的高级应用将会在后续的文章中讲述,谢谢大家的关注。

本文出自 “Tonyguo De博客【知识..” 博客,请务必保留此出处http://tonyguo.blog.51cto.com/379574/182432

Linux服务器部署系列之七—OpenLDAP篇的更多相关文章

  1. Linux服务器部署系列之八—Sendmail篇

    Sendmail是目前Linux系统下面用得最广的邮件系统之一,虽然它存在一些不足,不过,目前还是有不少公司在使用它.对它的学习,也能让我们更深的了解邮件系统的运作.下面我们就来看看sendmail邮 ...

  2. Linux服务器部署系列之一—Apache篇(下)

    接上篇 linux服务器部署系列之一—Apache篇(上)    四.管理日志文件 Apache日志分为访问日志和错误日志两种: 1)访问日志 用于记录客户端的访问信息,文件名默认为access_lo ...

  3. 转 整理 Linux服务器部署系列之一—Apache篇

    花了差不多一天,参考了几个博客,终于初步配成功了 Apache,先总结一下: 如果apache安装成为linux的服务的话,可以用以下命令操作: service httpd start 启动 serv ...

  4. Linux服务器部署系列之五—Webmin篇

    对于很多习惯使用windows的用户,在刚接触Linux的时候,要使用命令行配置Linux服务器可能会感觉难以适应.今天我们来讲解一下,Linux下的图形配置工具—Webmin,通过这款工具,用户可以 ...

  5. Linux服务器部署系列之一—Apache篇(上)

    Linux系统的应用越来越广泛了,学习linux系统的网管兄弟也有增加的趋势.很久以前就有些想法,要将自己学的linux知识整理一下.最近,终于下定决心,挤出时间开始动手写些东西了.虽然不一定好,不过 ...

  6. Linux服务器部署系列之四—DHCP篇

    DHCP服务器的配置是Linux服务器配置中最简单的服务之一,网上也有很多相关文档,不过大部分都只是讲解了配置.虽然我这篇文档也不一定很完善,不过我还是希望能够尽量说得明白一些,同时也希望大家能够提供 ...

  7. Linux服务器部署系列之三—DNS篇

    网上介绍DNS的知识很多,在这里我就不再讲述DNS原理及做名词解释了.本篇我们将以一个实例为例来讲述DNS的配置,实验环境如下: 域名:guoxuemin.cn, 子域:shenzhen.guoxue ...

  8. 转 整理 Linux服务器部署系列之一—Apache篇2

    http://www.jb51.net/article/46148.htm 如何查看Apache的连接数和当前连接数 查看了连接数和当前的连接数 netstat -ant | grep $ip:80 ...

  9. Linux服务器部署系列之二—MySQL篇

    MySQL是linux环境中使用最广泛的数据库之一,著名的“LAMP黄金组合”就要用到MySQL.关于MySQL的优点及作用,我就不多讲了,网上很多这样的文章. 今天我们要谈的是MySQL服务器的部署 ...

随机推荐

  1. 让旧版本的 Flash IDE 支持更新的 Flash Player/AIR 功能

    转载:https://blog.zengrong.net/post/1568.html 让旧版本的 Flash IDE 支持更新的 Flash Player/AIR 功能 今天在论坛上看到一篇文章:H ...

  2. svn异常处理

    TortoiseSVN 为客户端,SUBVersion为服务器端. 1.安装的tortoiseSVN不在鼠标右键菜单栏 出现这种原因是电脑的系统和svn不符,即电脑是64位系统,而svn是32位的. ...

  3. WDA-WebDynpro Demo & FPM Demo

    Web Dynpro Demo package: SWDP_DEMO SWDP_TEST   FPM Demo package: APB_FPM_DEMO APB_FPM_DEMO_SCENARIO

  4. UI5-文档-2-开发环境

    这一部分将指导您安装.配置和设置SAPUI5开发环境的最常见和推荐用例. 请注意:您可以在不同的平台上使用SAPUI5.各自平台的许可和维护条件也适用于SAPUI5.例如,如果在SAP云平台上使用SA ...

  5. get提交时中文传值乱码的有关问题

    get提交时中文传值乱码的问题 get提交时中文传值乱码的问题 url=curWarnList.action paramBean.bsIndex=1&paramBean.siteName=萧山 ...

  6. 修改mysql的用户密码

    修改的用户都以root为列.一.拥有原来的myql的root的密码: 方法一: #mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' ...

  7. mydumper使用

    一.下载安装,打开https://launchpad.net/mydumper #wget https://launchpadlibrarian.net/185032423/mydumper-0.6. ...

  8. 关于HTTP协议及SOCKET通信

    一.HTTP 1.报文结构 HTTP:超文本传输协议,报文分为请求报文和响应报文. 2.端口(tomcat端口) http在熟知的80端口使用TCP的服务:tomcat的默认端口是8080 3.状态码 ...

  9. bat 批量更改文件名的批处理文件

    bat 批量更改文件名的批处理文件 最近下了不少动画,不过文件名都太长,一般都是 [字幕组][名称][集数][语言][分辨率][编码].后缀 这样的格式 我喜欢简单的名字,比如 01.rmvb 之类, ...

  10. 1Java语言概述——重拾Java

    1.1 Java 语言诞生 Java 是1995 年 由 Sun公司开发的革命性编程语言. 1.2 Java 的特点 序号 主题 描述 1 简单 比C++简单 2 面向对象 基于对象的编程更符合人的思 ...