LDAP (轻量级目录访问服务),通过配置这个服务,我们也可以在 linux 下面使用目录的形式管理用户,就像 windows 下面的 AD 一样,方便我们管理。下面我们就一起来配置 openldap 服务。本文运行环境: CentOS 5 。 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />



软件需求:



db-4.7.25.tar.gz ( http://www.oracle.com/technology/global/cn/software/products/berkeley-db/index.html )



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-<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />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 来查看,如下图:


<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

成LDAP服务器与企业微信 ldap服务器部署_成LDAP服务器与企业微信



 


2. 配置 openldap


openldap 的配置文件主要为 slapd.conf 和 ldap.conf ,手动安装的话,存放在 /usr/local/openldap/etc/openldap 下面,如下图:


成LDAP服务器与企业微信 ldap服务器部署_php_02


1 )配置 slapd.conf 文件


主要需要修改的地方有两个,一个是将所有 ./schema 添加进来(默认只有 include  /usr/local/openldap/etc/openldap/schema/core.schema 这条记录),如下图:


成LDAP服务器与企业微信 ldap服务器部署_ldap_03


另一个地方是下图所示,将 suffix 项改成自己的目录后缀;设置 rootdn ,注意这里设置的 root 管理员是管理 openldap 的,跟 linux 系统的 root 管理员不是一样的。


成LDAP服务器与企业微信 ldap服务器部署_成LDAP服务器与企业微信_04


2 )启动 openldap


使用以下命令启动 openldap :


# /usr/local/openldap/libexec/slapd


3 )加密管理员密码


  使用命令 slappasswd 修改管理员密码,默认的管理员密码是明文形式的,使用 slappasswd 修改后将以加密的方式保存。


成LDAP服务器与企业微信 ldap服务器部署_成LDAP服务器与企业微信_05


4 )修改客户端配置文档


如下图,修改红色框处,设置目录起点。


成LDAP服务器与企业微信 ldap服务器部署_操作系统_06


5 )录入信息


一般信息录入的方式有三种:手工录入,使用 .ldif 文件格式录入,使用脚本录入。这里我们选用比较方便的那种——使用 .ldif 文件格式录入。


首先使用 vi  init.ldif 命令建立一个 init.ldif 文件,内容如下:


成LDAP服务器与企业微信 ldap服务器部署_配置文件_07


然后用命令 /usr/local/openldap/bin/ldapadd  -x  -W  -D  “cn=root,dc=guoxuemin,dc=cn”  -f  init.ldif 将内容导入,如下图:


成LDAP服务器与企业微信 ldap服务器部署_php_08


 


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


成LDAP服务器与企业微信 ldap服务器部署_操作系统_09


增加上图所示的内容,上述内容的作用是建立虚拟目录并设置用户认证。


设置用户 admin 的密码,如下图:


成LDAP服务器与企业微信 ldap服务器部署_成LDAP服务器与企业微信_10


3 )配置 phpldapadmin


默认情况下 phpldapadmin 自带了一个示例配置文件 config.php.example ,我们可以对改文件稍做修改,就可以使用了。


# cd  /usr/local/phpldapadmin/config


# cp  config.php.example  config.php


# vi  config.php


将 274 行的 /* 移动到 283 行,然后修改 276-282 行的参数,具体如下:


成LDAP服务器与企业微信 ldap服务器部署_php_11


然后屏蔽以下行的内容,如下图:


成LDAP服务器与企业微信 ldap服务器部署_配置文件_12


另外,还有两项需要修改的,如下图:


成LDAP服务器与企业微信 ldap服务器部署_php_13


保存配置文件,并重启 Apache 服务,就可以使用浏览器输入: http://IP地址或计算机名/phpldapadmin/ 进行访问了。如下图:


成LDAP服务器与企业微信 ldap服务器部署_操作系统_14


注意,要使用 phpldapadmin ,需要有 gettext 包的支持,在 php 编译时还需要将 ldap 也编译进去,否则,会出现下图所示错误信息:


成LDAP服务器与企业微信 ldap服务器部署_配置文件_15


如果出现类似信息,那么只需要安装 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 的编译如下图:

成LDAP服务器与企业微信 ldap服务器部署_配置文件_16


4 phpldapadmin 应用


点击左面板的 login ,我们可以通过 openldap 管理员 root 登录,如下图:


成LDAP服务器与企业微信 ldap服务器部署_php_17


登录进去后,可以看到 openldap 的操作界面,左面板上跟 windows 的 AD 一样有 ou ,有用户信息。


成LDAP服务器与企业微信 ldap服务器部署_配置文件_18


如果我们要建立用户信息,可以点击左面板上的“ Create new entry here ”,然后根据需要在右面板上选择帐户类型,根据向导一步步建立。图形化的操作界面大家都很熟悉了,这里我就不再一一介绍。


成LDAP服务器与企业微信 ldap服务器部署_配置文件_19


当然我们也还可以通过 ldif 的方式导入,点击左面板上的 import 可以导入 ldif 文件。点击左面板上的 export 可以将现有数据导出为 ldif 文件。


成LDAP服务器与企业微信 ldap服务器部署_操作系统_20


 


4. 配置 ldap 日志


修改 ldap 配置文件 slapd.conf ,增加一项 loglevel 1 ,如下图:


# vi  /usr/local/openldap/etc/openldap/slapd.conf


成LDAP服务器与企业微信 ldap服务器部署_成LDAP服务器与企业微信_21


然后修改系统日志配置文件:


# vi  /etc/syslog.conf


增加以下行:


local4.*  /usr/local/openldap/var/log/ldap.log


使用命令 service syslog restart 重启 syslog ,系统就会自动生成日志文件 ldap.log 了。


 


OK ,现在已经设置好了,我们可以通过目录的形式管理帐户信息了,不过,这个服务是免费的,所以功能上相对于 windows 的 AD 还是要弱一些。


本文仅讲述了 openldap 的安装和基本配置,对于 openldap 的高级应用将会在后续的文章中讲述,谢谢大家的关注。


转载于:https://blog.51cto.com/tonyguo/182432