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. SparkContext初始化之SparkScheduler初始化

  2. sql中遍历字符串

    在sql或者存储过程中会需要遍历字符串. ), --如111,222,333,尾部加, ), @Id int, ) set @split = ',' ) begin ,) ,charindex(@sp ...

  3. 自动微分(AD)学习笔记

    1.自动微分(AD) 作者:李济深链接:https://www.zhihu.com/question/48356514/answer/125175491来源:知乎著作权归作者所有.商业转载请联系作者获 ...

  4. 在 .Net Core1.0 上使用Mysql 的EFcore

    https://www.codeproject.com/Articles/1218348/Using-EF-Core-with-MySQL-in-DotNet-Core

  5. OAuth2认证和授权:ResourceOwnerPassword认证

    ResourceOwnerPassword在 ClientCredentials认证上新增了用户名和密码 但通过RequestPasswordTokenAsync获取不到refresh_token,不 ...

  6. arch----------arch下的一些命令,亲测

    1.taoyanghao 不在 sudoers 文件中.此事将被报告. 这个是使用sudo以后报出的错误提示,sudo确定已经安装了. 解决方案:编辑/etc/sudoers文件.找到这一 行:&qu ...

  7. Linux. 计划任务 时间格式

    Linux. 计划任务 时间格式 在linux中执行指令:cat /etc/crontab 结果,如下图所示: 结果一目了然,不多说. 如有问题,欢迎纠正!!! 如有转载,请标明源处:https:// ...

  8. CSS组合选择符

    组合选择符说明了两个选择器直接的关系. 目录: 后代选取器(以空格分隔) 子元素选择器(以大于号分隔) 相邻兄弟选择器(以加号分隔) 普通兄弟选择器(以破折号分隔) 后代选取器 后代选取器匹配所有值得 ...

  9. sitecore开发入门教程如何获取Sitecore项目的域名

    我假设您在<sites>web.config文件的部分中设置了多个站点,并且每个站点都hostName定义了一个属性,例如 <site name="website1&quo ...

  10. transition属性值

    一.transition-property: transition-property是用来指定当元素其中一个属性改变时执行transition效果,其主要有以下几个值:none(没有属性改变):all ...