博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LDAP环境搭建 OpenLDAP和phpLDAPadmin -- yum版
阅读量:6812 次
发布时间:2019-06-26

本文共 6259 字,大约阅读时间需要 20 分钟。

 

前言:

前两天公司要求做一个使用LDAP和Kerberos做一个认证授权系统,然后开始学习LDAP相关知识,期间找了不少博客按照步骤来安装,可是很多博客在配置的时候,都会遇到安装过程中一两个问题卡住了,然后就无法进行下去了,坑了我不少时间,其实我只是想先搭建好环境然后来深入浅出的学习,总结这两天的坑,便有了这篇博文,本次主要是快速上手篇,大部分会采用yum方式安装 力求快速上手,尽量少修改官方配置 最小化的环境,为了详细,文章中图片可能会多一点
正式使用还是要基于源码安装,如果你喜欢源码安装,可以等我后续的源码安装的博文.我也是在学习阶段如果遇到问题希望在留言板提出,我会定时查看,一起共同学习,发现我疏忽的地方.

为了确保文章的正确性,在写这篇文章的时候我有重新安装了一遍!好了话不多说,开始了!

环境要求

系统版本:CentOS-6.5-x86_64-minimal

虚拟机版本:VMware10

SSH客户端版本:Xshell 4 Bulid 0131

 

虚拟机实验环境:

名称 服务器名 ip 网址 用途
OpenLDAP服务器 Cos6.5_x64_ldap_01 192.168.18.142 yf01.oyf.xyz openLDAP服务端
  Cos6.5_x64_ldap_02 192.168.18.137 yf02.oyf.xyz  
客户机 Cos6.5_x64_ldap_03 192.168.18.130 yf03.oyf.xyz phpLDAPadmin客户端
  Cos6.5_x64_ldap_04 192.168.18.140 yf02.oyf.xyz  

注: Cos6.5_x64_ldap_02是为Kerberos预留的,

oyf.xyz是我之前申请的一个域名,你们可以根据自己的域名修改.

例如 example.com

 

yf01配置(OpenLDAP)

修改配置文件和主机名

echo '127.0.0.1    localhost.localdomain yf01.oyf.xyz yf01 oyf.xyz192.168.18.137   yf02.oyf.xyz yf02192.168.18.130   yf03.oyf.xyz yf03192.168.18.140   yf04.oyf.xyz yf04::1   localhost localhost.localdomain localhost6 localhost6.localdomain6' > /etc/hostssed  -i -e'2c\HOSTNAME=yf01' /etc/sysconfig/network

关闭防火墙并重启 让主机名生效

service iptables stopchkconfig iptables offreboot

 

yum 安装openldap

yum install -y openldap-servers openldap-clients

启用日志记录

mkdir /var/log/slapd ; chmod 755 /var/log/slapd/ ;chown ldap:ldap /var/log/slapd/ echo 'local4.* /var/log/slapd.log' >> /etc/rsyslog.confservice rsyslog restart

创建证书

Country Name = 国家名

State or Province Name = 州或省名
Locality Name = 城市名
Organization Name  = 单位名(oyf)
Organizational Unit Name = YFLDAP
Common Name = 主机名(yf01)
Email Address = 电子邮件

cd /etc/pki/tls/certs make slapd.pem/*---输出内容start---Country Name (2 letter code) [XX]:CNState or Province Name (full name) []:CHENGDU  Locality Name (eg, city) [Default City]:CHENGHUAOrganization Name (eg, company) [Default Company Ltd]:oyf  Organizational Unit Name (eg, section) []:YFLDAPCommon Name (eg, your name or your server's hostname) []:yf01Email Address []:admin@oyf.xyzPS: 这里输错了如果按住退格键删除会有奇奇怪怪的符号(^H),不能直接按退格键删除,可以按住ctrl+退格键强制删除!!---输出内容END---*///这条命令可以用来查看生成后的证书的信息openssl x509 -in /etc/pki/tls/certs/slapd.pem -noout -text/*---输出内容start---Issuer: C=CN, ST=CHENGDU, L=CHENGHUA, O=oyf, OU=YFLDAP, CN=yf01/emailAddress=admin@oyf.xyz---输出内容END---*/chmod 640 /etc/pki/tls/certs/slapd.pem chown :ldap /etc/pki/tls/certs/slapd.pem ln -s /etc/pki/tls/certs/slapd.pem /etc/openldap/certs/slapd.pem

slappasswd加密密码

slappasswd    New password:     Re-enter new password:         {SSHA}WQ52ZbS9g6iwIe+ubvnTIXWkxHAvhBdQ

 

复制配置文件

cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.confcp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

 

修改slapd.conf配置文件

vim /etc/openldap/slapd.conf

 

画框的都是被修改部分

需要注意的是 这里的配置参数前面不能有空格,不然会出莫名其妙的问题,例如 rootpw 前面一定一定不能有空格

所有 dc=my-domain 这个等于自己的主机名 如dc=oyf

TLSCACertificateFile /etc/pki/tls/certs/ca-bundle.crtTLSCertificateFile /etc/pki/tls/certs/slapd.pemTLSCertificateKeyFile /etc/pki/tls/certs/slapd.pemdatabase monitoraccess to *        by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read        by dn.exact="cn=Manager,dc=oyf,dc=xyz" read        by * none ######################################################################## database definitions####################################################################### database        bdbsuffix          "dc=oyf,dc=xyz"checkpoint      1024 15rootdn          "cn=Manager,dc=oyf,dc=xyz"

 

开启加密支持

vim /etc/sysconfig/ldap//修改SLAPD_LDAPS=yes

修改ldap配置文件

vim /etc/openldap/ldap.conf

这几个粘贴到最后几行

vim /etc/openldap/ldap.conf//这几个粘贴到最后几行 BASE dc=oyf,dc=xyzURI ldap://localhostTLS_REQCERT never

 

导入用户配置文件

rm -rf /etc/openldap/slapd.d/*vim /tmp/root.ldif
/*---插入start---dn: dc=oyf,dc=xyzdc: oyfobjectClass: dcObjectobjectClass: organizationalUnitou: oyf.xyzdn: ou=yafei,dc=oyf,dc=xyzou: yafeiobjectClass: organizationalUnitdn: ou=groups,dc=oyf,dc=xyzou: groupsobjectClass: organizationalUnitdn: ou=php,dc=oyf,dc=xyzou: phpobjectClass: organizationalUnit---插入end---*/
 
slapadd -v -n 2 -l /tmp/root.ldif
//插入成功后会有下图提示chown -R ldap:ldap /var/lib/ldapchown -R ldap:ldap /etc/openldap/slapd.d
 

 

正常情况下会出现下面的提示:

slapadd 这个主要用于 ldap服务没有启动的时候导入

添加一次就够了 第二次会出错

测试LDAP配置

rm -rf /etc/openldap/slapd.d/* slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.dchown -R ldap:ldap /etc/openldap/slapd.d

执行第二条命令会返回

config file testing succeeded

设置SLAPD服务

chkconfig --level 235 slapd onservice slapd restart

测试 LDAP

ldapsearch -x -ZZ -h localhostldapsearch -x -H ldaps://localhostldapsearch -x -H ldaps://192.168.18.142 //这个是你自己的ip

会有如下提示

 

yf03配置(phpLDAPadmin)

修改配置文件和主机名

cp /etc/hosts /etc/hosts.bak20141203 echo '192.168.18.142    localhost.localdomain yf01.oyf.xyz yf01 oyf.xyz192.168.18.137   yf02.oyf.xyz yf02127.0.0.1   yf03.oyf.xyz yf03192.168.18.140   yf04.oyf.xyz yf04::1   localhost localhost.localdomain localhost6 localhost6.localdomain6' > /etc/hostssed  -i -e'2c\HOSTNAME=yf03' /etc/sysconfig/network

 

关闭selinux

cp /etc/sysconfig/selinux /etc/sysconfig/selinux.bak20141203sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux

关闭防火墙并重启 让主机名和selinux生效

service iptables stop chkconfig iptables off reboot

 

phpLDAPadmin安装

安装EPEL仓库

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

安装phpLDAPadmin

yum install -y phpldapadmin

 

修改 phpldapadmin配置文件 添加访问权限

vim /etc/httpd/conf.d/phpldapadmin.conf在这行后面添加Allow from ::1Allow from 192.168.18 //这里修改为你自己的ip段

这个样子的

修改php配置文件  禁止自动登录和php登录配置

vim /etc/phpldapadmin/config.php
//目前这个参数在389行//$servers->setValue('login','attr','uid');$servers->setValue('server','host','yf01');$servers->setValue('server','port',389);$servers->setValue('server','base',array('dc=oyf,dc=xyz'));$servers->setValue('login','auth_type','cookie');$servers->setValue('login','bind_id','cn=Manager,dc=oyf,dc=xyz');$servers->setValue('login','bind_pass',' ');

 

完成后开启apache

chkconfig httpd onservice httpd start

网址进入 phpLDAPadmin客户端 就有如下界面

http://192.168.18.130/ldapadmin

上面的ip 换成你自己机器的ip

输入之前slappasswd 设置的密码,然后就登录成功了!

 

 

 

如果觉得文本可以请点击下面的好文要顶!让更多人看到.

本文地址:

好了就写到这里,睡觉觉去了!

 

参考资料

[1]CentOS 6安装配置LDAP

[2]在 CentOS 6 初始化 LDAP Server

[3]【備忘】在 CentOS 6 安裝 phpMyAdmin 與 phpLDAPAdmin

[4]LDAP 入門

[5][翻译]OpenLDAP管理员指南(仅前七章)

转载于:https://www.cnblogs.com/yafei236/p/4141897.html

你可能感兴趣的文章
风控8-收码平台
查看>>
SQL Server 中心订阅模型(多发布单订阅)
查看>>
Vue父组件接收不到子组件$emit事件的原因分析
查看>>
工作总结的字体和格式要求
查看>>
CentOS 6.9永久设置静态路由表以及路由表常用设置
查看>>
解决Docker时区与主机时区不一致的问题
查看>>
思考与知识
查看>>
访问日志不记录静态文件 访问日志切割 静态元素过期时间
查看>>
idea中复制module和module中的蓝色tag出现的方法
查看>>
python中的面相对象
查看>>
Spring缓存注解@Cache使用
查看>>
基于Three.js的360度全景--photo-sphere-viewer--简介
查看>>
去除wordpress的category各方法对比
查看>>
『Github』简易使用指南
查看>>
实例解读:网络设备热备部署的三种模式
查看>>
<a>标签中的href如何调用js代码
查看>>
在github上搭建个人博客
查看>>
19.QT-事件发送函数sendEvent()、postEvent()
查看>>
.gitkeep
查看>>
JavaScript 中的12种循环遍历方法
查看>>