最近一直在看LDAP的东西,把自己的记录下来,以后可以看看。

1:环境

1):关闭防火墙

service iptables stop

2):setenforce 0

vim /etc/sysconfig/selinux  修改成SELINUX=disabled

2:安装,yum源安装

        yum install -y  openldap-clients.x86_64
        yum -y install openldap-servers.x86_64
 
3:添加ldap用户

        groupadd ldap
        useradd -g ldap ldap  
        passwd ldap
4:初始化OpenLDAP配置
       cp    /usr/share/openldap-servers/slapd.conf.obsolete     /etc/openldap/slapd.conf

       cp    /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
 
5:slappasswd创建一个密码,先记着,后面要用
 
6:修改slapd.conf文件,下面的rootpw就是第5步生成的密码,rootpw必须顶格写,与后面的密码用Tab键分开
    
7:生成配置数据(若重新修改了配置文件,从这一步开始得重新生成数据)先查看一下:

[root@yunovo openldap]# cat /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}bdb.ldif
# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
# CRC32 408c80ce
dn: olcDatabase={2}bdb
objectClass: olcDatabaseConfig
objectClass: olcBdbConfig
olcDatabase: {2}bdb
olcSuffix: dc=example,dc=com
olcAddContentAcl: FALSE
olcLastMod: TRUE
olcMaxDerefDepth: 15
olcReadOnly: FALSE
olcRootDN: cn=Manager,dc=example,dc=com

删除这些数据:

rm -rf /etc/openldap/slapd.d/*

重新生成新的配置数据:

# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
config file testing succeeded

然后,查看重新生成的数据是否匹配:

cat /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{\}bdb.ldif 

授权:

chown -R ldap.ldap slapd.d/

8:启动服务:

/etc/init.d/slapd restart

9:执行到这一步,必须添加Manager的数据后,才能通过phpldapAdmin登录

导入数据:

vim root.ldif
dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: Example,Inc.
dc: example
dn: cn=Manager,dc=example,dc=com
objectclass: organizationalRole
cn: Manager

用ldapadd命令导入

ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f example.ldif
Enter LDAP Password: 输入slappasswd时候设置的密码
adding new entry "dc=example,dc=com"
adding new entry "cn=Manager,dc=example,dc=com"

二:phpldapAdmin的搭建

1):安装EPEL仓库

rpm -ivh http://mirrors.ukfast.co.uk/sites/dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

2):yum安装phpldapAdmin

yum install -y phpldapadmin

3):修改phpldapAdmin配置文件

Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
Alias /ldapadmin /usr/share/phpldapadmin/htdocs
<Directory /usr/share/phpldapadmin/htdocs>
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::
Allow from 10.0.0.170 10.0.0.126 允许哪些IP地址访问phpldapadmin
</Directory>

4):修改php配置文件

$servers->setValue('login','attr','dn');    把这一行的注释去掉
// $servers->setValue('login','attr','uid');

5):重启httpd服务

/etc/init.d/httpd restart

6):在网页段输入访问路径  http://服务端IP/ldapadmin

 
 
 
       
       

OpenLDAP与phpldapadmin的搭建的更多相关文章

  1. LDAP环境搭建 OpenLDAP和phpLDAPadmin -- yum版

      前言: 前两天公司要求做一个使用LDAP和Kerberos做一个认证授权系统,然后开始学习LDAP相关知识,期间找了不少博客按照步骤来安装,可是很多博客在配置的时候,都会遇到安装过程中一两个问题卡 ...

  2. CentOS7安装OpenLDAP+MySQL+PHPLDAPadmin

    安装环境:CentOS 7 1.安装和设置数据库 在CentOS7下,默认安装的数据库为MariaDB,属于MySQL数据库的一个分支,所以我还是使用了MariaDB.安装命令为: [root@loc ...

  3. 完整版的OpenLDAP搭建全过程

    总结:          先写总结,再写正文,嘿嘿嘿.这还是第一次认真的写个文档,写个总结,哈哈.大概在一个月前,第一次听说这个东西,完全没有概念,刚开始的时候看理论的知识,看了几次之后就没看了,看不 ...

  4. openLDAP环境搭建

    OpenLDAP搭建   PS:本次实验是基于centos7,OpenLDAP使用2.4.44版本. 一.初始化环境 1.初始化环境 命令如下: ntpdate -u ntp.api.bz & ...

  5. OpenLDAP搭建全过程

    目        的:搭建一套完整的OpenLDAP系统,实现账号的统一管理.                     1:OpenLDAP服务端的搭建                     2:P ...

  6. openldap完整版本搭建记录

    文档信息 目        的:搭建一套完整的OpenLDAP系统,实现账号的统一管理.                     1:OpenLDAP服务端的搭建                   ...

  7. Centos7 搭建openldap完整详细教程(真实可用)

    最近,由于公司需求,需要搭建openldap来统一用户名和密码,目前市面上几乎所有的工具都支持ldap协议,具体ldap的介绍这里就不详细说明了,这里主要记录一下如果部署openldap来实现Ldap ...

  8. CentOS6下OpenLDAP+PhpLdapAdmin基本安装及主从/主主高可用模式部署记录

    下面测试的部署机ip地址为:192.168.10.2051)yum安装OpenLDAP [root@openldap-server ~]# yum install openldap openldap- ...

  9. OpenLDAP部署目录服务

        文档信息 目        的:搭建一套完整的OpenLDAP系统,实现账号的统一管理.                     1:OpenLDAP服务端的搭建               ...

随机推荐

  1. JavaSE坦克网络版

    02.1.建立Server(保持这个TankServer一直运行) package server; public class TankServer { public static void main( ...

  2. 转: MySQL 赋予用户权限(grant %-远程和localhost-本地区别)

    相关参考资料: MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利. gr ...

  3. ipython

    ipython 是一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数. T ...

  4. Android遇到的错误记录

    解决小米手机无法收到开机广播的问题 http://blog.csdn.net/ksr12333/article/details/16116627 怎样在Android Studio中打开DDMS窗口? ...

  5. 网易开发工程师编程题 比较重量 Java

    比较重量 小明陪小红去看钻石,他们从一堆钻石中随机抽取两颗并比较她们的重量.这些钻石的重量各不相同.在他们们比较了一段时间后,它们看中了两颗钻石g1和g2.现在请你根据之前比较的信息判断这两颗钻石的哪 ...

  6. ASP.NET MVC : Action过滤器(Filtering)

    http://www.cnblogs.com/QLeelulu/archive/2008/03/21/1117092.html ASP.NET MVC : Action过滤器(Filtering) 相 ...

  7. protobuf 数据解析的2种方法

    方法1: message person{required int32 age = 1;required int32 userid = 2;optional string name = 3;} mess ...

  8. Java多线程--wait和join

    首先从公司一道笔试题开始 package test; public class Test implements Runnable { public int i = 0; @Override publi ...

  9. python分布式任务调度Celery

    Celery是Python开发的分布式任务调度模块,今天抽空看了一下,果然接口简单,开发容易,5分钟就写出了一个异步发送邮件的服务. Celery本身不含消息服务,它使用第三方消息服务来传递任务,目前 ...

  10. Android广播机制简介

    为什么说Android中的广播机制更加灵活呢?这是因为Android中的每个应用程序都可以对自己感兴趣的广播进行注册,这样该程序就只会接收到自己所关心的广播内容,这些广播可能是来自于系统的,也可能是来 ...