文档章节

Ubuntu14.04下的LDAP的搭建配置说明

大培哥
 大培哥
发布于 2016/12/08 11:23
字数 811
阅读 3267
收藏 81

LDAP介绍

    LDAP,英文全称Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是LDAP简单许多并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,因为TCP/IP对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。

安装LDAP

   基于Debian系列的Ubuntu等系统,可以通过以下命令安装openldap:

sudo apt-get install slapd ldap-utils

    安装过程中会提示输入设置LDAP管理员账号密码:

 

 

 

 

 

 

 

 

再次确认密码:

 

 

 

 

 

 

 

 

配置LDAP

打开'/etc/ldap/ldap.conf'文件按照以下内容配置修改:

sudo vi /etc/ldap/ldap.conf
#
# LDAP Defaults
#

# See ldap.conf(5) for details
# This file should be world readable but not world writable.

BASE    dc=cpu-os,dc=com
URI     ldap://172.30.44.140

#SIZELIMIT      12
#TIMELIMIT      15
#DEREF          never

# TLS certificates (needed for GnuTLS)
TLS_CACERT      /etc/ssl/certs/ca-certificates.crt

执行以下命令配置:

sudo dpkg-reconfigure slapd

以下界面选择“NO”后按Enter继续

 

 

 

 

 

 

 

 

 

输入DNS domain 名称。例如cpu-os.com

 

 

 

 

 

 

 

 

 

输入组织名称,例如cpu-os

 

 

 

 

 

 

 

 

 

输入LDAP管理员的密码

 

 

 

 

 

 

 

 

 

再次确认输入LDAP管理员密码

 

 

 

 

 

 

 

 

 

选择HDB数据库

 

 

 

 

 

 

 

 

 

选择删除LDAP服务时自动删除数据库

 

 

 

 

 

 

 

 

 

选择删除之前的数据库

 

 

 

 

 

 

 

 

 

选择No后,LDAP服务配置且启动

 

 

 

 

 

 

 

 

 

测试LDAP服务

输入"ldapsearch -x",会看到类似以下输出:

# extended LDIF
#
# LDAPv3
# base <dc=your_company,dc=com> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# your_company.com
dn: dc=your_company,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
...

# admin, your_company.com
dn: cn=admin,dc=your_company,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator

# search result
search: 2
result: 0 Success

# numResponses: 3
# numEntries: 2

LDAP服务器管理

    在命令行模式下管理LDAP服务器是相当困难的,所以在这里我使用了一个更简单的GUI管理工具“phpldapadmin”。

安装phpldapadmin

执行以下命令安装:

sudo apt-get install phpldapadmin

给phpldapadmin目录创建link目录

sudo ln -s /usr/share/phpldapadmin/  /var/www/phpldapadmin

打开‘/etc/phpldapadmin/config.phhp’文件,替换配置的名称。按照以下显示修改:

unixmen@server:~$ sudo vi /etc/phpldapadmin/config.php 
$servers = new Datastore();
$servers->newServer('ldap_pla');
$servers->setValue('server','name','your_company LDAP Server');
$servers->setValue('server','host','your_server_ip');
$servers->setValue('server','base',array('dc=your_company,dc=com'));
$servers->setValue('login','auth_type','session');
$servers->setValue('login','bind_id','cn=admin,dc=your_company,dc=com');

重启LDAP服务

sudo /etc/init.d/apache2 restart

打开系统80,389端口

root@nfs-virtual-machine:/home/nfs# ufw allow 80
防火墙规则已更新
规则已更新(v6)
root@nfs-virtual-machine:/home/nfs# ufw allow 389
防火墙规则已更新
规则已更新(v6)

登陆LDAP服务端

通过浏览器访问http://IP/phpldapadmin

 

 

 

 

 

 

 

 

 

 

 

点击登陆按钮进入登陆界面

 

 

 

 

 

 

 

 

 

 

输入密码后点击“认证”进入系统会看到下面的界面

 

 

 

 

 

 

 

 

 

 

至此LDAP的管理服务phpldapadmin算是搭建完成了。

总结

  搭建的步骤按照文章的内容一步一步来操作,看似很简单,但是希望在看本教程的时候,看懂每一步再下手,不要盲目的去重复上面的事情,只有这样才能事半功倍。

ps:如有问题,可以在评论区留言。

 

 

 

© 著作权归作者所有

共有 人打赏支持
大培哥
粉丝 5
博文 31
码字总数 29758
作品 0
浦东
程序员
加载中

评论(9)

大培哥
大培哥

引用来自“爱罗”的评论

太详细了~好贴
你不会跟我收版权费吧?
大培哥
大培哥

引用来自“RuralHunter”的评论

应该还需要装一个php5-cgi
可以试一试:sweat_smile:
蓝桥书生
蓝桥书生
太棒了直接想自己搭个LDAP
R
RuralHunter
应该还需要装一个php5-cgi
大培哥
大培哥

引用来自“黄海彬”的评论

very good
现在一般用来做用户认证、比如单点登陆(sso)。可以把ldap理解成网络数据库,原来多个服务器上的服务的用户认证就可以都通过这个网络数据库来实现
大培哥
大培哥

引用来自“黄海彬”的评论

very good
O(∩_∩)O谢谢
黄海彬
黄海彬
very good
钛元素
钛元素
LDAP到底怎么用呢
爱罗
爱罗
太详细了~好贴
GitLab安装篇-Ubuntu 14.04 LTS

GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。它提供Git版本控制、代码检查、Bug跟踪和Wiki,它可以通过LDAP或活动目录来进行安全认...

firehare
2014/07/11
0
0
500 OOPS: cannot locate user entry:hsp

OS:ubuntu14.04 LDAP+vsftp 在LDAP服务器上建立的账号去连接vsftp的服务器的时候提示 500 OOPS: cannot locate user entry:hsp(这个是LDAP账号) Login failed. 421 Service not availabl...

水瓶座H
2017/05/10
43
0
Ubuntu15.10上的Docker Registry问题解决

Docker在Ubuntu15.10上搭建registry时出现问题,总是报TLS错。 1、Ubuntu14.04及之前版本的解决方法 然后,网上搜索的解决办法都是: 修改/etc/default/docker文件,加入: DOCKEROPTS='--in...

openthings
2016/04/14
203
0
keepalived+openldap主主模式(Mirror Mode)模式实例

keepalived+openldap主主模式(Mirror Mode)模式实例 ps:下面是一个ldap Mirror Mode的实例,做主主复制,如果对此不是太熟悉的话,可以参考:http://407711169.blog.51cto.com/6616996/152...

陈延宗
06/29
0
0
Review board整合ldap

Review board整合ldap Review board本身已经支持ldap登录,我们需要做的就是一些安装、配置工作。首先review board需要python-ldap,如果没有安装,我们在打开ldap配置页面,就会提醒LDAP au...

youthflies
2014/07/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

no such module 'pop'问题

在github上 clone 了一个 swift 项目,编译时提示"no such module 'POP'"错误,查了一下居然是因为podfile中指定的最低版本是iOS 11.0,大于我测试手机的iOS版本10.3.3,将Podfile中的最低版...

yoyoso
56分钟前
1
0
redis 系列一 -- 简介及安装

1.简介 redis -- remote dictionary server 远程字典服务 使用 C 语言编写; 高性能的 key-value数据库; 内存数据库,支持数据持久化。 Redis 是一个开源(BSD许可)的,内存中的数据结构存...

imbiao
今天
3
0
nginx log记录请求响应时间

有时为了方便分析接口性能等,需要记录请求的时长,通过修改nginx的日志格式可以做到,如 添加一个新的log_format log_format timed_combined '$remote_addr - $remote_user [$time_local] "...

swingcoder
今天
4
0
Spring MVC之RequestMappingHandlerMapping匹配

对于RequestMappingHandlerMapping,使用Spring的同学基本都不会陌生,该类的作用有两个: 通过request查找对应的HandlerMethod,即当前request具体是由Controller中的哪个方法进行处理; 查...

爱宝贝丶
今天
5
0
Java Web--增删改查之二界面后台java代码(转载参考)

/** *  *//** * @author Administrator * */package dao; import java.sql.*;public class DBConn {/** * 链接数据库 * @return */  ...

小橙子的曼曼
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部