zoukankan      html  css  js  c++  java
  • LDAP安装、LDAP数据迁移、LDAP卸载指南及PHPldapAdmin管理软件安装

    LDAP安装、LDAP数据迁移、LDAP卸载指南及PHPldapAdmin管理软件安装

    第一节 LDAP安装篇

    第一步 yum安装ldap

    yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel migrationtools
    

    第二步 查看是否安装成功

    slapd -VV
    

    安装成功会显示如下信息:

    [root@localhost ~]# slapd -VV
    @(#) $OpenLDAP: slapd 2.4.44 (Sep 30 2020 17:16:39) $
    	mockbuild@x86-02.bsys.centos.org:/builddir/build/BUILD/openldap-2.4.44/openldap-2.4.44/servers/slapd
    
    

    第三步 设置管理员密码

    输入如下命令设置密码,注意需要输入两次, 将加密后的SSHA保存,下面配置文件中会用到

    [root@localhost ~]# slappasswd
    

    成功后会输入如下信息:

    [root@localhost openldap]# slappasswd
    New password: 
    Re-enter new password: 
    {SSHA}D7hX37v1NxCcBWeC26C8nO3VvF0GlohX
    

    第四步 修改配置文件

    1、输入一下命令使用vim 修改配置文件, 需要修改三个地方

    vim /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
    

    修改信息不多,请局部复制,不要全局复制如下输出信息。只需要修改cn dc dc的信息,另外添加一行密码配置,其他保持不变。

    修改信息如下:

    # AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
    # CRC32 073e2f66
    dn: olcDatabase={2}hdb
    objectClass: olcDatabaseConfig
    objectClass: olcHdbConfig
    olcDatabase: {2}hdb
    olcDbDirectory: /var/lib/ldap
    olcSuffix: dc=test,dc=com    #这里修改了,主要是修改dc dc的信息
    olcRootDN: cn=root,dc=test,dc=com #这里修改了,主要就是修改cn dc dc的信息
    olcRootPW: {SSHA}RE7si/p5dzFbzWjVR8MB1H5XOxUDvBKP #新加一行,密码为上面生成的密码字符串,注意空格
    olcDbIndex: objectClass eq,pres
    olcDbIndex: ou,cn,mail,surname,givenname eq,pres,sub
    structuralObjectClass: olcHdbConfig
    entryUUID: 0f68f392-fe05-103a-8f4d-053fce3f128a
    creatorsName: cn=config
    createTimestamp: 20210208025701Z
    entryCSN: 20210208025701.104594Z#000000#000#000000
    modifiersName: cn=config
    modifyTimestamp: 20210208025701Z
    

    修改完cat一下看一下文件是否修改成功了

    cat /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
    

    2、修改第二个配置文件

    vim /etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif
    

    只需要修改cn dc dc的信息,其他保持不变。

    修改信息如下:

    # AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
    # CRC32 008df9d0
    dn: olcDatabase={1}monitor
    objectClass: olcDatabaseConfig
    olcDatabase: {1}monitor
    olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern
     al,cn=auth" read by dn.base="cn=root,dc=test,dc=com" read by * none #修改cn dc dc的信息
    structuralObjectClass: olcDatabaseConfig
    entryUUID: 0f68eafa-fe05-103a-8f4c-053fce3f128a
    creatorsName: cn=config
    createTimestamp: 20210208025701Z
    entryCSN: 20210208025701.104375Z#000000#000#000000
    modifiersName: cn=config
    modifyTimestamp: 20210208025701Z                             
    

    修改完cat一下看一下文件是否修改成功了。

    cat /etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif
    

    第五步 测试一下配置文件修改是否正确

    命令行输入如下命令:

    slaptest -u
    

    成功会输入如下命令:

    60222a02 ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif"
    60222a02 ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif"
    config file testing succeeded
    

    前面两行error不用管,它的意思是我们修改了这两个文件,这一步检查失败请检查配置文件。

    第六步 启动Ladp服务

    systemctl start slapd
    systemctl enable slapd
    

    查看是否启动成功

    netstat -tunlp | egrep "389|636"
    

    输出如下:

    [root@localhost openldap]# netstat -tunlp | egrep "389|636"
    tcp        0      0 0.0.0.0:389             0.0.0.0:*               LISTEN      26161/slapd         
    tcp6       0      0 :::389                  :::*                    LISTEN      26161/slapd   
    

    如果起不来百度无法解决的话,就参考第三章卸载篇,程序安装LDAP吧。

    第七步运行基础的schema文件

    依次执行以下文件(可以写个脚本执行)

    cd /etc/openldap/schema/
    ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f cosine.ldif
    ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f nis.ldif
    ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f collective.ldif
    ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f corba.ldif
    ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f core.ldif
    ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f duaconf.ldif
    ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f dyngroup.ldif
    ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f inetorgperson.ldif
    ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f java.ldif
    ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f misc.ldif
    ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f openldap.ldif
    ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f pmi.ldif
    ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f ppolicy.ldif
    ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f core.ldif
    

    第七步如果不执行后面也不会报错。但是迁移数据的时候肯定会出问题!!!

    第八步 查看LDAP数据库信息

    输入如下命令

    ldapsearch -LLL -W -x -D "cn=root,dc=test,dc=com" 
    

    该命令要输入我们在第三步设置的管理员密码。"cn=root,dc=test,dc=com" 相当于我们的账号。也可以输出以下指定密码命令,该命令可以不输入密码。

    ldapsearch -LLL -w "你的密码" -x -D "cn=root,dc=test,dc=com" 
    

    正常执行后输出如下:

    [root@localhost openldap]# ldapsearch -LLL -W -x -D "cn=root,dc=test,dc=com" 
    Enter LDAP Password: 
    No such object (32)
    

    No such object (32)这个输出就是正常的,因为我们没有网LDAP里面添加过任何数据,所以查询出来是空的。到这里为止LDAP就已经成功安装了。

    若出现以下错误:

    [root@localhost openldap]# ldapsearch -LLL -W -x -D "cn=root,dc=test,dc=com" 
    Enter LDAP Password: 
    ldap_bind: Invalid credentials (49)
    

    提示信息很明显,要么是你密码输错了,要么就是你在第四步配置的密码字符串配置错了。检查一下配置文件,或者从第三步重新再来。

    第二篇 安装PHPldapAdmin管理软件

    第一步 安装Apache和PHP:

    [root@localhost ~]# yum -y install httpd php php-ldap php-gd php-mbstring php-pear php-bcmath php-xml
    

    第二步 然后安装phpldapadmin:

    [root@localhost ~]# yum -y install epel-release
    [root@localhost ~]# yum --enablerepo=epel -y install phpldapadmin
    

    第三步 修改配置文件

    [root@localhost ~]# vim /etc/phpldapadmin/config.php
    #397行取消注释,398行添加注释
    $servers->setValue('login','attr','dn');
    // $servers->setValue('login','attr','uid');
    
    [root@localhost ~]# vim /etc/httpd/conf.d/phpldapadmin.conf
    
    // 修改配置将里面的配置文件修改成如下这些信息
    Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
    Alias /ldapadmin /usr/share/phpldapadmin/htdocs
    
    <Directory /usr/share/phpldapadmin/htdocs>
      Order Deny,Allow
      Allow from all
    </Directory>
    

    第四步 修改Apache的端口

    一般来说80端口会被占用,所以需要改一下端口,如果不需要的可以跳过此步骤。

    vim /etc/httpd/conf/httpd.conf 
    

    将配置文件中的Listen 80 改成Listen 8081

    第五步 设置开机自启并启动Apache:

    [root@localhost ~]# systemctl enable httpd
    [root@localhost ~]# systemctl start httpd
    

    第六步 浏览器访问phpldapadmin:

    IP地址:8081/phpldapadmin

    如果运行报错:

    Forbidden
    You don't have permission to access /phpldapadmin/ on this server.
    

    修改Apache主配置文件httpd.conf

    注释掉102-105添加107-110

    [root@cdh-server1 ~]# vi /etc/httpd/conf/httpd.conf
    	102 #<Directory />
        103 #    AllowOverride none
        104 #    Require all denied
        105 #</Directory>
        106
    <Directory />
        Options Indexes FollowSymLinks
        AllowOverride None
    </Directory>
    

    第七步 登录phpldapadmin:

    登录的账号是 "cn=root,dc=test,dc=com" 别傻乎乎就填的root 这是登录不进去的。
    "cn=root,dc=test,dc=com"
    密码是你设置的密码。

    第三篇 数据迁移篇

    第一步 获取数据

    在原始服务器上执行以下命令

    ldapsearch -LLL -W -x -D "cn=root,dc=test,dc=com" -b "dc=test,dc=com" > ldap_data_2021.ldif
    

    以上命令是查询 dc=test,dc=com 域下的所有信息。将这些信息重定向到ldap_data_2021.ldif这个文件中.

    使用cat 查看一下是否数据是否已经备份到ldap_data_2021.ldif文件。如果公司有多个域,请将命令执行多次,修改命令中-b 后面的域名就行。

    cat ldap_data_2021.ldif
    

    注意: 以上命令只适合数据量小的时候,数据量在10000以内可以这么做,如果超过了请就选择其他方法。

    第二步 插入数据

    将第一步生成的文件上传到新服务器上。然后执行以下命令:

    为了节约时间就用-w指定密码,这样子就不用输密码了

    ldapadd -x -D "cn=root,dc=test,dc=com" -w "你的密码" -f ldap_data_2021.ldif
    

    输出信息如下:

    adding new entry "uid=ldapuser1,ou=People,dc=test,dc=com"
    
    adding new entry "uid=ldapuser2,ou=People,dc=test,dc=com"
    
    adding new entry "uid=ldapuser3,ou=People,dc=test,dc=com"
    
    adding new entry "uid=ldapuser4,ou=People,dc=test,dc=com"
    
    adding new entry "uid=ldapuser5,ou=People,dc=test,dc=com"
    
    adding new entry "uid=ldapuser6,ou=People,dc=test,dc=com"
    
    .....
    
    

    插入数据常见错误如下:

    adding new entry "dc=test,dc=com"
    ldap_add: Already exists (68)
    

    这个错误表示你的数据库里面已经有了这个记录,去ldap_data_2021.ldif吧这条数据删了,然后继续执行脚本。直到最后一个人插入结束。

    第四篇 LDAP卸载篇

    停止openldap

    systemctl stop slapd
    systemctl disable slapd
    

    卸载

    yum -y remove openldap-servers openldap-clients
    

    删除残留文件

    rm -rf /var/lib/ldap
    

    删除ldap用户

    userdel ldap
    

    删除openldap目录

    rm -rf /etc/openldap
    
  • 相关阅读:
    JuiceSSH:安卓平台免费好用的 SSH 客户端
    git&github-本地库推送到远程库
    git&githib-给远程库取别名
    Git分支管理的本质
    MySQL学习笔记(一)--逻辑架构学习
    mysql-主从备份问题小结
    Docker--数据管理之Volumes
    初识OpenSSH--1
    一个最简单的Dockfile实践
    构词法2
  • 原文地址:https://www.cnblogs.com/xwxz/p/14393319.html
Copyright © 2011-2022 走看看