• LDAP环境搭建 OpenLDAP和phpLDAPadmin -- yum版


    前言:
    前两天公司要求做一个使用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.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'2cHOSTNAME=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

    wps7529.tmp

    wps7539.tmp

    画框的都是被修改部分

    需要注意的是 这里的配置参数前面不能有空格,不然会出莫名其妙的问题,例如 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
     

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

    wps753A.tmp

    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

    会有如下提示

    wps754B.tmp

    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'2cHOSTNAME=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段

    这个样子的

    wps754C.tmp

    修改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

    wps754D.tmp

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

    wps754E.tmp

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

    本文地址:http://www.cnblogs.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.chinaunix.net/forum.php?mod=viewthread&action=printable&tid=422726

  • 相关阅读:
    wenbao与LCIS(最长公共上升子序列)
    wenbao与cf上升序列(最多改变一个变为连续严格上升序列)
    wenbao与随机
    wenbao与cf(849D)思维
    wenbao与蓝桥
    wenbao与合肥网络赛
    wenbao与HDU
    wenbao与hiho最短路还原
    wenbao与cf连续子序列最大和问题
    wenbao与cf四个人坐车的故事
  • 原文地址:https://www.cnblogs.com/yafei236/p/4141897.html
Copyright © 2020-2023  润新知