openLDAP环境搭建
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
输入账号: cn=root,dc=dc,dc=com
密码: 123456
openLDAP环境搭建的更多相关文章
- LNAMP服务器环境搭建(手动编译安装)
LNAMP服务器环境搭建(手动编译安装) 一.准备材料 阿里云主机一台,操作系统CentOS 6.5 64位 lnamp.zip包(包含搭建环境所需要的所有软件) http://123.56.144. ...
- 授权管理-LDAP-介绍与环境搭建
LDAP介绍 转自:https://blog.csdn.net/tanshizhen119/article/details/79942315 还是先来百度百科介绍. LDAP是轻量目录访问协议,英文全 ...
- 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 ...
- 【转】jumpserver 堡垒机环境搭建(图文详解)
jumpserver 堡垒机环境搭建(图文详解) 摘要: Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能.基于ssh协议来管理,客户端无需安装ag ...
- zabbix环境搭建部署(一)
Linux高端架构师课程 Linux实战运维国内NO.1全套视频课程 QQ咨询:397824870 > 监控报警 > zabbix环境搭建部署(一) zabbix环境搭建部署(一) 监 ...
- .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门
2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...
- Azure Service Fabric 开发环境搭建
微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...
- rnandroid环境搭建
react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...
- python开发环境搭建
虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...
随机推荐
- CFGym101138D Strange Queries 莫队/分块
正解:莫队/分块 解题报告: 传送门 ummm这题耗了我一天差不多然后我到现在还没做完:D 而同机房的大佬用了一个小时没有就切了?大概这就是大佬和弱鸡的差距趴QAQ 然后只是大概写下思想好了因为代码我 ...
- vivi.c框架
内核文档: V4L2-framework.txt UVC:usb video controll UVC驱动框架: system call: open read write -------------- ...
- vs安装问题
1 首先windows update异常,导致vs2015的一个安装不上,先试着修一下: https://support.microsoft.com/zh-cn/help/2629484 如果提示:“ ...
- Linux常用总结
CentOS 7.0中一个最主要的改变,就是切换到了systemd.它用于替代红帽企业版Linux前任版本中的SysV和Upstart,对系统和服务进行管理.systemd兼容SysV和Linux标准 ...
- 关闭图形界面下普通用户关机重启命令- 7.x - CentOS
vim /etc/polkit-/rules.d/-inhibit-shutdown.rules polkit.addRule(function(action, subject) { if (acti ...
- 深入理解Java虚拟机3-chap4-5-斗之气10段
一.虚拟机性能监控与故障处理 1.JDK的命令行工具:对jdk/lib/tools.jar的薄包装,Linux下可能是Shell编写,执行类似于Linux中的命令 2.可视化工具JConsole 打开 ...
- Spark实时案例
1.概述 最近有同学问道,除了使用 Storm 充当实时计算的模型外,还有木有其他的方式来实现实时计算的业务.了解到,在使用 Storm 时,需要编写基于编程语言的代码.比如,要实现一个流水指标的统计 ...
- js中字符替换函数String.replace()使用技巧
定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法 stringObject.replace(regexp/substr,replac ...
- Go 初体验 - channel.2 - 超时机制
channel 虽然很好用,但是我们也要考虑异常情况,比如:超时 go 语言怎么解决这个超时问题呢? 可以利用 select 语句: select 的用法与 switch 语言非常类似,由 selec ...
- oracle中实现某个用户truncate 其它用户下的表
oracle文档中对truncate权限的要求是需要某表在当前登录的用户下,或者当前登录的用户有drop any table的权限. 但是如果不满足第一个条件的情况下,要让某用户满足第二个条件就导致权 ...