码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2021-02-10 13:03:06      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:lca   director   表示   aml   加密   mock   lob   ready   system   

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

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

标签:lca   director   表示   aml   加密   mock   lob   ready   system   

原文地址:https://www.cnblogs.com/xwxz/p/14393319.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!