Linux服务器部署系列之七—OpenLDAP篇

简介:


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 的编译如下图:
4 phpldapadmin 应用
点击左面板的 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 51CTO博客,原文链接:http://blog.51cto.com/tonyguo/182432,如需转载请自行联系原作者



相关文章
|
6天前
|
资源调度 JavaScript 搜索推荐
Linux系统之部署envlinks极简个人导航页
【4月更文挑战第11天】Linux系统之部署envlinks极简个人导航页
40 2
|
9天前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
13天前
|
Linux
linux下搭建tftp服务器教程
在Linux中搭建TFTP服务器,需安装`tftp-server`(如`tftpd-hpa`)。步骤包括:更新软件包列表,安装`tftpd-hpa`,启动并设置开机自启,配置服务器(编辑`/etc/default/tftpd-hpa`),添加选项,然后重启服务。完成后,可用`tftp`命令进行文件传输。例如,从IP`192.168.1.100`下载`file.txt`: ``` tftp 192.168.1.100 <<EOF binary put file.txt quit EOF ```
27 4
|
16天前
|
存储 前端开发 Linux
Linux系统之部署ToDoList任务管理工具
【4月更文挑战第1天】Linux系统之部署ToDoList任务管理工具
61 1
|
24天前
|
定位技术
GPS北斗卫星同步时钟(时间同步服务器)建设施工部署方案
GPS北斗卫星同步时钟(时间同步服务器)建设施工部署方案
GPS北斗卫星同步时钟(时间同步服务器)建设施工部署方案
|
27天前
|
Linux Shell 网络安全
【Shell 命令集合 网络通讯 】Linux 与SMB服务器进行交互 smbclient命令 使用指南
【Shell 命令集合 网络通讯 】Linux 与SMB服务器进行交互 smbclient命令 使用指南
40 1
|
1天前
|
弹性计算 JavaScript Java
阿里云服务器搭建部署宝塔详细流程
以下是内容的摘要: 本文主要介绍了在阿里云上创建和配置服务器环境的步骤,包括注册阿里云账号、实名认证、购买和设置服务器、域名的获取与备案、以及使用宝塔面板安装和配置环境。首先,用户需要注册阿里云账号并进行实名认证,选择合适的服务器配置。接着,购买服务器后,要准备并备案域名,以便通过友好的网址访问网站。在服务器上安装宝塔面板,可以方便地管理和配置LAMP/LNMP/Tomcat/Node.js等应用环境。完成这些步骤后,用户还需要在宝塔面板中安装MySQL、Redis等数据库,部署Java或Vue项目,并配置相关端口。最后,将前端项目打包上传至服务器,并设置站点,即可实现网站的上线。
|
1天前
|
应用服务中间件 Linux 开发工具
如何在阿里云服务器快速搭建部署Nginx环境
以下是内容的摘要: 本文档主要介绍了在阿里云上购买和配置服务器的步骤,包括注册阿里云账号、实名认证、选择和购买云服务器、配置安全组、使用Xshell和Xftp进行远程连接和文件传输,以及安装和配置Nginx服务器的过程。在完成这些步骤后,你将能够在服务器上部署和运行自己的网站或应用。
|
3天前
|
NoSQL 关系型数据库 MySQL
阿里云服务器部署项目流程
本文主要讲解阿里云服务器的部署,如何选择配置等
|
5天前
|
Linux 数据安全/隐私保护
Linux基础与服务器架构综合小实践
【4月更文挑战第9天】Linux基础与服务器架构综合小实践
1076 6