172.21.251.111 server
172.21.251.112 node

{SSHA}gGQUjzyJX+Oi7ZJCURCVmqq2UmtVWHZd
一、环境准备
关闭 selinux firewalld
setenforce 0
systemctl stop firewalld.service
systemctl disable firewalld.service
二、OPENLDAP服务搭建
1、安装LDAP服务器和客户端,migrationtools工具包
yum install -y openldap-servers openldap-clients migrationtools
2、设置openldap管理员密码
slappasswd
然后根据提示输入密码:
New password: 123456
Re-enter new password: 123456
会返回加密的密码字符串,保存好这个字符串
{SSHA}f13zZnx/b4LQ/ErM+Rf9VSVEJqIE7yHM
3、更改openldap配置
查看安装了哪些文件(如果熟悉目录结构可以略过)
rpm -ql openldap
rpm -ql openldap-servers
修改配置
vim /etc/openldap/slapd.d/cn\=config\/olcDatabase\={2}hdb.ldif
找到olcSuffix,修改为你的dc,如:
dc=mypaas,dc=com
下一行olcRootDN, 修改为你的用户名,如:
cn=Manager,dc=mypaas,dc=com
在文件末尾添加一行,设置刚才的密码:
olcRootPW: {SSHA}f13zZnx/b4LQ/ErM+Rf9VSVEJqIE7yHM
4、更改监控认证配置
vim /etc/openldap/slapd.d/cn\=config\/olcDatabase\={1}monitor.ldif
修改 olcAccess 中的dn.base=”cn=xxxxxxx”这行为刚才设置的用户名,如:
dn.base=”cn=Manager,dc=mypaas,dc=com”
5、设置DB Cache
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown -R ldap:ldap /var/lib/ldap/
6、测试配置文件
slaptest -u
末尾出现configfile testing successed 说明成功了
7、启动OpenLDAP和开机启动
systemctl start slapd.service
systemctl enable slapd.service
8、导入模板
ls /etc/openldap/schema/*.ldif | xargs -I {} sudo ldapadd -Y EXTERNAL -H ldapi:/// -f {}
三、安装Web管理服务
1、 安装httpd服务器
yum install httpd -y
2、修改配置文件httpd.conf
vim /etc/httpd/conf/httpd.conf
找到AllowOverride一行,修改none为all
如果想修改端口号,修改Listen 80一行
3、启动服务,测试页面
systemctl start httpd.service
systemctl enable httpd.service
curl http://127.0.0.1/
4、安装phpldapadmin
yum install phpldapadmin
(如果找不到软件包,重新设置一下yum源)
yum localinstall http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
5、修改配置文件
vim /etc/phpldapadmin/config.php
找到并取消下面几行的注释:
$servers->setValue(‘server’,’host’,’127.0.0.1’);
$servers->setValue(‘server’,’port’,389);
$servers->setValue(‘server’,’base’,array(‘dc=mypaas,dc=com’));
(array里加上openldap配置文件中设置的olcSuffix)
$servers->setValue(‘login’,’auth_type’,’session’);
$servers->setValue(‘login’,’attr’,’dn’);
把它的下一行注释掉
#$servers->setValue(‘login’,’attr’,’uid’);
6、修改访问配置文件,允许任意ip访问
vim /etc/httpd/conf.d/phpldapadmin.conf
取消Order Deny,Allow的注释
7、创建基础目录
在/etc/openldap目录下添加base.ldif文件
cd /etc/openldap/
vim base.ldif
在文件中添加以下内容
dn: dc=mypaas,dc=com
o: ldap
objectclass: dcObject
objectclass: organization
dc: mypaas
(dc 修改为你自己的内容)
8、重启httpd服务
systemctl restart httpd.service
9、访问web管理端
访问 http://ip/phpldapadmin
登陆用户名:cn=Manager,dc=mypaas,dc=com
四、常见问题
1、httpd 无法启动
先用systemctl status httpd 查看一下日志
1、提示端口号是否冲突,修改httpd.conf端口号
2、提示没有权限:检查selinux,防火墙是否关闭或者正确配置防火墙
2、phpldapadmin 用户名密码提示错误
检查/etc/phpldapadmin/config.php 中的参数是否正确配置
3、phpldapadmin创建子条目时,模板不能选中
未导入openldap的schema文件,执行下[1.8节]的命令试试

导入帐号:
vim /etc/openldap/base.ldif
dn: dc=wangqing,dc=com
o: ldap
objectclass: dcObject
objectclass: organization
dc: wangqing

ldapadd -f base.ldif -x -D cn=Manager,dc=wangqing,dc=com -w123456

Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
Alias /ldapadmin /usr/share/phpldapadmin/htdocs

<Directory /usr/share/phpldapadmin/htdocs>
<IfModule mod_authz_core.c>
# Apache 2.4
Require local
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
Require ip 172.0.0.0/8
</IfModule>
<IfModule !mod_authz_core.c>
</IfModule>
</Directory>

centos 7 部署LDAP服务的更多相关文章

  1. 快速部署ldap服务

    快速部署ldap服务 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.LDAP概述 .什么是目录服务 ()目录是一类为了浏览和搜索数据二十几的特殊的数据库,例如:最知名的的微软公 ...

  2. LDAP1-安装部署LDAP服务

    基于Linux部署openldap服务 参考文档: https://blog.csdn.net/computer1024/article/details/78172785 参考文档:  https:/ ...

  3. CentOS上部署JAVA服务【转】

    http://www.th7.cn/Program/java/201511/686437.shtml 本文将介绍如何在CentOS上运行Java Web服务,其中将包括如何搭建JAVA运行环境.如何开 ...

  4. centos上部署nginx服务

    Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为俄罗斯访问量第二的R ...

  5. centos下部署redis服务环境的操作记录

    Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主 ...

  6. centos下部署redis服务环境及其配置说明

    Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主 ...

  7. Centos 7 部署FTP服务简单版

    第三方教程推荐与参考: http://blog.csdn.net/somehow1002/article/details/70232791 先安装成功了,有信心了.再进一步扩展配置. 1.安装vsft ...

  8. nginx+ssl+pm2 部署 nodejs 服务

    nginx+pm2 部署 nodejs 服务 最近在 centos 上部署 nodejs 服务,记下来步骤: 注意都是使用 root 用户. 下载 nvm: curl -o- https://raw. ...

  9. hadoop集群搭建--CentOS部署Hadoop服务

    在了解了Hadoop的相关知识后,接下来就是Hadoop环境的搭建,搭建Hadoop环境是正式学习大数据的开始,接下来就开始搭建环境!我们用到环境为:VMware 12+CentOS6.4 hadoo ...

随机推荐

  1. HDOJ 6664 Andy and Maze

    HDOJ题目页面传送门 给定一个无向带权图\(G=(V,E),|V|=n,|E|=m\),求边权之和最大的有\(s\)个节点的链的边权之和,即求\(\max\limits_{\forall i\in[ ...

  2. Java深入学习(3):线程池原理

    线程池的特点: 降低资源:通过重复利用已创建的线程降低线程创建和销毁的损耗 提高效率:当任务到底时,不需要等待,立即执行 方便管理:统一分配,调优和监控等 线程池的创建方式: 1.CachedThre ...

  3. 【python】一篇文章里的词频统计

    一.环境 1.python3.6 2.windows系统 3.安装第三方模块 pip install wordcloud #词云展示库 pip install jieba #结巴分词 pip inst ...

  4. 025:为什么需要将Logger对象声明为private static final类型的

    本文阅读时间大约4分钟. 参考答案 就这个问题而言,我总结了三个原因: 设置为private是为了防止其他类使用当前类的日志对象: 设置为static是为了让每个类中的日志对象只生成一份,日志对象是属 ...

  5. Python3 import tensorflow 出现FutureWarning: Passing (type, 1) or '1type' 问题

    解决python调用TensorFlow时出现FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecate ...

  6. pandas 之 索引重塑

    import numpy as np import pandas as pd There are a number of basic operations for rearanging tabular ...

  7. SQL 乐色干货笔记

    因为公司基本都是用存储过程所以本来写的干货基本都是存储过程的. SELECT TOP 1 Code,Invitation,Num,Typ FROM SignLog WITH(NOLOCK) WHERE ...

  8. redis的cluster(分布式or分片)

    1.创建配置文件: /data/cluster目录下创建6个redis配置 2.逐个配置 port 7001 添加: daemonize yes cluster-enabled yes cluster ...

  9. 【前端_js】array.forEach和$.each()及$().each()的用法与区别

    1.$.each():方法是jQuery中的方法,用于遍历数组或对象.用法:$.each(array,function(index,value){...}),有两个参数,第一个为待遍历的数组或对象,第 ...

  10. 动态路由 RIP

    不同网段之间进行通信,中间有多个路由器的情况下,我们可以通过配置RIP动态路由来实现数据转发. 实验拓扑 如图所示连接,地址规划如下: 名称 接口 IP地址 R1 f0/0 192.168.10.1/ ...