OpenLDAP搭建

 

PS:本次实验是基于centos7,OpenLDAP使用2.4.44版本。

一、初始化环境

1.初始化环境

命令如下:

ntpdate -u ntp.api.bz && sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config && setenforce 0&& systemctl disable firewalld.service && systemctl stop firewalld.service && shutdown -r now

二、安装OpenLDAP

1.使用如下命令安装OpenLDAP

yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel migrationtools

2. 查看OpenLDAP版本

使用如下命令:slapd -VV

3.安装完了之后可以直接启动OpenLDAP服务

service slapd start

三、配置OpenLDAP

1.设置OpenLDAP的管理员密码

{SSHA}MCGLMmuUMpaqQ4lrCrAGKRxe51OxHh5F

上述加密后的字段保存下,等会我们在配置文件中会使用到

2.修改olcDatabase={2}hdb.ldif文件

修改olcDatabase={2}hdb.ldif文件

路径:/etc/openldap/slapd.d/cn=config/olcDatabase\=\{2\}hdb.ldif

对于该文件增加一行

olcRootPW: {SSHA}MCGLMmuUMpaqQ4lrCrAGKRxe51OxHh5F

然后修改域信息:

olcSuffix: dc=dc,dc=com

olcRootDN: cn=root,dc=dc,dc=com

注意:其中cn=root中的root表示OpenLDAP管理员的用户名,而olcRootPW表示OpenLDAP管理员的密码。

3 修改olcDatabase={1}monitor.ldif文件

命令:vim /etc/openldap/slapd.d/cn=config/olcDatabase\=\{1\}monitor.ldif

修改olcAccess字段值:

dn.base=”cn=root,dc=ilanni,dc=com”

注意:该修改中的dn.base是修改OpenLDAP的管理员的相关信息的。

4.验证OpenLDAP的基本配置

使用如下命令:

slaptest -u

通过上图,我们可以很明显的看出OpenLDAP的基本配置是没有问题。

启动OpenLDAP服务,使用如下命令:

systemctl enable slapd

systemctl start slapd

systemctl status slapd

OpenLDAP默认监听的端口是389,下面我们来看下是不是389端口,如下:

netstat -antup | grep 389

5. 配置OpenLDAP数据库

OpenLDAP默认使用的数据库是BerkeleyDB,现在来开始配置OpenLDAP数据库,使用如下命令:

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

chown ldap:ldap -R /var/lib/ldap

chmod 700 -R /var/lib/ldap

ll /var/lib/ldap/

注意:/var/lib/ldap/就是BerkeleyDB数据库默认存储的路径。

 

6.导入基本Schema

导入基本Schema,使用如下命令:

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif

7.修改migrate_common.ph文件

migrate_common.ph文件主要是用于生成ldif文件使用,修改migrate_common.ph文件,如下:

vim /usr/share/migrationtools/migrate_common.ph +71

$DEFAULT_MAIL_DOMAIN = “ilanni.com”;

$DEFAULT_BASE = “dc=ilanni,dc=com”;

$EXTENDED_SCHEMA = 1;

四、PhpLDAPAdmin的搭建

1.安装EPEL仓库

1)安装EPEL仓库,镜像里没有PhpLDAPAdmin这个的安装包,所以得安装EPEL仓库

rpm -ivh

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

yum clean all

yum makecache

2.安装PhpLDAPAdmin

yum install httpd phpldapadmin -y

3.配置phpldapadmin文件

1)修改phpldapadmin的配置文件,访问控制权限

vim /etc/httpd/conf.d/phpldapadmin.conf,允许谁访问

添加:

Require  all granted

Allow from all

2)修改配置文件:vim /etc/phpldapadmin/config.php

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

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

3)重启httpd服务

service httpd restart

4)访问phpldapadmin

在浏览器输入OpenLDAP服务端的IP

例如:http://IP/phpldapadmin

输入账号: cn=root,dc=dc,dc=com

密码:  123456

openLDAP环境搭建的更多相关文章

  1. LNAMP服务器环境搭建(手动编译安装)

    LNAMP服务器环境搭建(手动编译安装) 一.准备材料 阿里云主机一台,操作系统CentOS 6.5 64位 lnamp.zip包(包含搭建环境所需要的所有软件) http://123.56.144. ...

  2. 授权管理-LDAP-介绍与环境搭建

    LDAP介绍 转自:https://blog.csdn.net/tanshizhen119/article/details/79942315 还是先来百度百科介绍. LDAP是轻量目录访问协议,英文全 ...

  3. centos6.5环境搭建openvp服务器及windows客户端搭建及配置详解

    1.环境搭建 说明: vpn client 192.168.8.16/24 openvpn server: eth0: 192.168.8.41 eth1: 172.16.1.10 app serve ...

  4. 【转】jumpserver 堡垒机环境搭建(图文详解)

    jumpserver 堡垒机环境搭建(图文详解)   摘要: Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能.基于ssh协议来管理,客户端无需安装ag ...

  5. zabbix环境搭建部署(一)

     Linux高端架构师课程 Linux实战运维国内NO.1全套视频课程 QQ咨询:397824870  > 监控报警 > zabbix环境搭建部署(一) zabbix环境搭建部署(一) 监 ...

  6. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

  7. Azure Service Fabric 开发环境搭建

    微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...

  8. rnandroid环境搭建

    react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...

  9. python开发环境搭建

    虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...

随机推荐

  1. 关于for循环

    1.普通for循环 (遍历数组的索引值(下标),边界可以自己划定) var arr = [10, 20, 30];for(var i=0; i<arr.length; i++) console. ...

  2. 19.0-uC/OS-III内存管理

    内存管理 uC/OS-III可以获得连续的内存块.内存块大小可以相同, 所有的内存分 区包含了整数个内存块. 在特定的时间执行内存块的分配和释放.内存分 区以内存块数组的形式被静态分配的.如果分配后不 ...

  3. .net 调用python 实例

    如标题 ,python属于解释型语言,所以直接将python的文件copy到项目中 新建.net控制台应用程序,直接nuget  IronPython 安装成功后 在项目内新建Sum文件夹,将py.p ...

  4. python框架之Django(11)-中间件

    介绍 在django中,中间件其实就是一个类,在一个请求到来和这个请求结束之前,django会根据自己的规则在合适的时机执行中间件中相应的方法. 在django项目的settings模块中,有一个 M ...

  5. 8 . IO类-标准IO、文件IO、stringIO

    8.1 IO类 #include <iostream> //标准IO头文件  8.2 文件输入输出流 #include <fstream> //读写文件头文件 std::fst ...

  6. js $的扩展写法

    (function ($, w) { $.extend({   getRenderList: function (keyword, pageIndex, pageSize, renderEle, re ...

  7. ubuntu14安装mantis实践(包含LAMP/PHP)

    安装LAMP 参考 https://www.linuxidc.com/Linux/2016-12/138757.htm sudo add-apt-repository ppa:ondrej/apach ...

  8. AdPlus

    adplus是windbg下面附带的一个小工具: https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/adplus A ...

  9. Filte过滤器

    过滤器 , 其实就是对客户端发出来的请求进行过滤. 浏览器发出, 然后服务器派servlet处理.  在中间就可以过滤, 其实过滤器起到的是拦截的作用.生活中的过滤器例如:门禁,你有门卡才能过去,没有 ...

  10. Zookeeper应用之——栅栏(barrier)

    Zookeeper应用之——栅栏(barrier) 栅栏(barrier)简介 barrier的作用是所有的线程等待,知道某一时刻,锁释放,所有的线程同时执行.举一个生动的例子,比如跑步比赛,所有 运 ...