设为首页 收藏本站
查看: 639|回复: 1

[经验分享] LDAP环境搭建 OpenLDAP和phpLDAPadmin

[复制链接]

尚未签到

发表于 2015-3-31 14:17:58 | 显示全部楼层 |阅读模式
  
  前言:   
前两天公司要求做一个使用LDAP和Kerberos做一个认证授权系统,然后开始学习LDAP相关知识,期间找了不少博客按照步骤来安装,可是很多博客在配置的时候,都会遇到安装过程中一两个问题卡住了,然后就无法进行下去了,坑了我不少时间,其实我只是想先搭建好环境然后来深入浅出的学习,总结这两天的坑,便有了这篇博文,本次主要是快速上手篇,大部分会采用yum方式安装 力求快速上手,尽量少修改官方配置 最小化的环境,为了详细,文章中图片可能会多一点     
正式使用还是要基于源码安装,如果你喜欢源码安装,可以等我后续的源码安装的博文.我也是在学习阶段如果遇到问题希望在留言板提出,我会定时查看,一起共同学习,发现我疏忽的地方.
  为了确保文章的正确性,在写这篇文章的时候我有重新安装了一遍!好了话不多说,开始了!
  环境要求
  系统版本:CentOS-6.5-x86_64-minimal
  虚拟机版本:VMware10
  SSH客户端版本:Xshell 4 Bulid 0131
  
  虚拟机实验环境:
  
名称服务器名ip网址用途
OpenLDAP服务器Cos6.5_x64_ldap_01192.168.18.142yf01.oyf.xyzopenLDAP服务端
Cos6.5_x64_ldap_02192.168.18.137yf02.oyf.xyz
客户机Cos6.5_x64_ldap_03192.168.18.130yf03.oyf.xyzphpLDAPadmin客户端
Cos6.5_x64_ldap_04 192.168.18.140yf02.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.xyz
192.168.18.137   yf02.oyf.xyz yf02
192.168.18.130   yf03.oyf.xyz yf03
192.168.18.140   yf04.oyf.xyz yf04
::1   localhost localhost.localdomain localhost6 localhost6.localdomain6
' > /etc/hosts
sed  -i -e'2c\HOSTNAME=yf01' /etc/sysconfig/network
  

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



service iptables stop
chkconfig iptables off
reboot
  
  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.conf
service 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]:CN
State or Province Name (full name) []:CHENGDU  
Locality Name (eg, city) [Default City]:CHENGHUA
Organization Name (eg, company) [Default Company Ltd]:oyf  
Organizational Unit Name (eg, section) []:YFLDAP
Common Name (eg, your name or your server's hostname) []:yf01
Email Address []:admin@oyf.xyz
PS: 这里输错了如果按住退格键删除会有奇奇怪怪的符号(^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.conf
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
  
  修改slapd.conf配置文件



vim /etc/openldap/slapd.conf
  
DSC0000.png
DSC0001.png
  画框的都是被修改部分
  需要注意的是 这里的配置参数前面不能有空格,不然会出莫名其妙的问题,例如 rootpw 前面一定一定不能有空格
  所有 dc=my-domain 这个等于自己的主机名 如dc=oyf



TLSCACertificateFile /etc/pki/tls/certs/ca-bundle.crt
TLSCertificateFile /etc/pki/tls/certs/slapd.pem
TLSCertificateKeyFile /etc/pki/tls/certs/slapd.pem
database monitor
access 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        bdb
suffix          "dc=oyf,dc=xyz"
checkpoint      1024 15
rootdn          "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=xyz
URI ldap://localhost
TLS_REQCERT never
  
  导入用户配置文件



rm -rf /etc/openldap/slapd.d/*
vim /tmp/root.ldif

/*---插入start---
dn: dc=oyf,dc=xyz
dc: oyf
objectClass: dcObject
objectClass: organizationalUnit
ou: oyf.xyz
dn: ou=yafei,dc=oyf,dc=xyz
ou: yafei
objectClass: organizationalUnit
dn: ou=groups,dc=oyf,dc=xyz
ou: groups
objectClass: organizationalUnit
dn: ou=php,dc=oyf,dc=xyz
ou: php
objectClass: organizationalUnit
---插入end---*/


slapadd -v -n 2 -l /tmp/root.ldif

//插入成功后会有下图提示

chown -R ldap:ldap /var/lib/ldap
chown -R ldap:ldap /etc/openldap/slapd.d

  
  正常情况下会出现下面的提示:
DSC0002.png
  slapadd 这个主要用于 ldap服务没有启动的时候导入
  添加一次就够了 第二次会出错
  测试LDAP配置



rm -rf /etc/openldap/slapd.d/*
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
chown -R ldap:ldap /etc/openldap/slapd.d
  执行第二条命令会返回
config file testing succeeded
  设置SLAPD服务



chkconfig --level 235 slapd on
service slapd restart
  测试 LDAP



ldapsearch -x -ZZ -h localhost
ldapsearch -x -H ldaps://localhost
ldapsearch -x -H ldaps://192.168.18.142 //这个是你自己的ip
  会有如下提示
DSC0003.png
  
  yf03配置(phpLDAPadmin)
  修改配置文件和主机名



cp /etc/hosts /etc/hosts.bak20141203
echo '
192.168.18.142    localhost.localdomain yf01.oyf.xyz yf01 oyf.xyz
192.168.18.137   yf02.oyf.xyz yf02
127.0.0.1   yf03.oyf.xyz yf03
192.168.18.140   yf04.oyf.xyz yf04
::1   localhost localhost.localdomain localhost6 localhost6.localdomain6
' > /etc/hosts
sed  -i -e'2c\HOSTNAME=yf03' /etc/sysconfig/network
  
  关闭selinux



cp /etc/sysconfig/selinux /etc/sysconfig/selinux.bak20141203
sed -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 ::1
Allow from 192.168.18 //这里修改为你自己的ip段
  这个样子的
DSC0004.png
  修改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 on
service httpd start
  网址进入 phpLDAPadmin客户端 就有如下界面



http://192.168.18.130/ldapadmin
  上面的ip 换成你自己机器的ip
DSC0005.png
  输入之前slappasswd 设置的密码,然后就登录成功了!
DSC0006.png
  
  
  
  如果觉得文本可以请点击下面的好文要顶!让更多人看到.
  本文地址:http://www.iyunv.com/yafei236/p/4141897.html
  好了就写到这里,睡觉觉去了!
  
  参考资料
  [1]CentOS 6安装配置LDAP
  http://www.zhukun.net/archives/7548
  [2]在 CentOS 6 初始化 LDAP Server
  http://jamyy.us.to/blog/2012/01/3506.html
  [3]【備忘】在 CentOS 6 安裝 phpMyAdmin 與 phpLDAPAdmin
  http://jamyy.us.to/blog/2012/10/4172.html
  [4]LDAP 入門
  http://www.l-penguin.idv.tw/article/ldap-1.htm
  [5][翻译]OpenLDAP管理员指南(仅前七章)
  http://bbs.iyunv.com/forum.php?mod=viewthread&action=printable&tid=422726

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-52485-1-1.html 上篇帖子: ssh 密码登陆 下篇帖子: YARN环境搭建 之 二:CentOS7.0 JDK配置
累计签到:58 天
连续签到:1 天
发表于 2016-2-5 19:53:54 | 显示全部楼层
好帖,顶一个!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表