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" />
![](https://i-blog.csdnimg.cn/blog_migrate/9181659e0e7bf11ec5277be135abc7ad.jpeg)
2.
配置
openldap
openldap
的配置文件主要为
slapd.conf
和
ldap.conf
,手动安装的话,存放在
/usr/local/openldap/etc/openldap
下面,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/560d6811c8931856c6a05d7d1afa8811.jpeg)
1
)配置
slapd.conf
文件
主要需要修改的地方有两个,一个是将所有
./schema
添加进来(默认只有
include /usr/local/openldap/etc/openldap/schema/core.schema
这条记录),如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/329e817241dcf949ba1a5767bc876366.jpeg)
另一个地方是下图所示,将
suffix
项改成自己的目录后缀;设置
rootdn
,注意这里设置的
root
管理员是管理
openldap
的,跟
linux
系统的
root
管理员不是一样的。
![](https://i-blog.csdnimg.cn/blog_migrate/f4302ff423be53e2de876b92cea69bb2.jpeg)
2
)启动
openldap
使用以下命令启动
openldap
:
# /usr/local/openldap/libexec/slapd
3
)加密管理员密码
使用命令
slappasswd
修改管理员密码,默认的管理员密码是明文形式的,使用
slappasswd
修改后将以加密的方式保存。
![](https://i-blog.csdnimg.cn/blog_migrate/79e7ef7e03c8505fd8ea976347e78d85.jpeg)
4
)修改客户端配置文档
如下图,修改红色框处,设置目录起点。
![](https://i-blog.csdnimg.cn/blog_migrate/8077691e17e12224d50161e4f2c1ea88.jpeg)
5
)录入信息
一般信息录入的方式有三种:手工录入,使用
.ldif
文件格式录入,使用脚本录入。这里我们选用比较方便的那种——使用
.ldif
文件格式录入。
首先使用
vi init.ldif
命令建立一个
init.ldif
文件,内容如下:
![](https://i-blog.csdnimg.cn/blog_migrate/b018b77396dd1fe5d2899a2dd868c465.jpeg)
然后用命令
/usr/local/openldap/bin/ldapadd -x -W -D “cn=root,dc=guoxuemin,dc=cn” -f init.ldif
将内容导入,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/55816e956165f77ed346868f5e15287d.jpeg)
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
![](https://i-blog.csdnimg.cn/blog_migrate/31e0bf0ed0bd403765f718d66577b4fc.jpeg)
增加上图所示的内容,上述内容的作用是建立虚拟目录并设置用户认证。
设置用户
admin
的密码,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/1617d28f8198f5fd1e3f0a7d74ad1268.jpeg)
3
)配置
phpldapadmin
默认情况下
phpldapadmin
自带了一个示例配置文件
config.php.example
,我们可以对改文件稍做修改,就可以使用了。
# cd /usr/local/phpldapadmin/config
# cp config.php.example config.php
# vi config.php
将
274
行的
/*
移动到
283
行,然后修改
276-282
行的参数,具体如下:
![](https://i-blog.csdnimg.cn/blog_migrate/b828eb1662b83bcd36d6950f3dc36c18.jpeg)
然后屏蔽以下行的内容,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/17442709f18cf16bbeeb0562d2003a8b.jpeg)
另外,还有两项需要修改的,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/66492ab4d708ed59301ce80732ea27db.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/c17f0a83f91c12d30095bce4cc3b4db0.jpeg)
注意,要使用
phpldapadmin
,需要有
gettext
包的支持,在
php
编译时还需要将
ldap
也编译进去,否则,会出现下图所示错误信息:
![](https://i-blog.csdnimg.cn/blog_migrate/d3e2731ccce895e2c657a259251d8d18.jpeg)
如果出现类似信息,那么只需要安装
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
的编译如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/af6320e6255ea08f940b18ec98628f27.jpeg)
4
)
phpldapadmin
应用
点击左面板的
login
,我们可以通过
openldap
管理员
root
登录,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/a0e6a73f8c5a2db652893086fbafd528.jpeg)
登录进去后,可以看到
openldap
的操作界面,左面板上跟
windows
的
AD
一样有
ou
,有用户信息。
![](https://i-blog.csdnimg.cn/blog_migrate/0bcd692e69f2d1ccfe2987cc46837348.jpeg)
如果我们要建立用户信息,可以点击左面板上的“
Create new entry here
”,然后根据需要在右面板上选择帐户类型,根据向导一步步建立。图形化的操作界面大家都很熟悉了,这里我就不再一一介绍。
![](https://i-blog.csdnimg.cn/blog_migrate/4f94deaada38fbec9cfc2d9fbaf7ec1c.jpeg)
当然我们也还可以通过
ldif
的方式导入,点击左面板上的
import
可以导入
ldif
文件。点击左面板上的
export
可以将现有数据导出为
ldif
文件。
![](https://i-blog.csdnimg.cn/blog_migrate/0024ff3c69773efcb90e2740042682ef.jpeg)
4.
配置
ldap
日志
修改
ldap
配置文件
slapd.conf
,增加一项
loglevel 1
,如下图:
# vi /usr/local/openldap/etc/openldap/slapd.conf
![](https://i-blog.csdnimg.cn/blog_migrate/eaa42b848632644204b25cba76e8ed5f.jpeg)
然后修改系统日志配置文件:
# 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