Centos7.6 openldap部署

Centos7.6 openldap部署
花了一个星期左右研究。
一、安装环境
二、安装openldap并启动slapd.service服务
三、copy DB_CONFIG.example 并授权DB_CONFIG目录权限
四、设定slapd编译过的密码并保存,修改文件中要用到。
五、新增vim chrootpw.ldif及vim chdomain.ldif&vim basedomain.ldif
六、向 LDAP 中导入一些基本的 Schema
七、安装httpd服务及phpldapadmin管理工具
八、修改phpldapadmin.conf&httpd.conf&config.php文件
九、用web访问ldapadmin

从OpenLDAP2.4.23版本开始所有配置数据都保存在slapd.d目录下的cn=config文件夹中,不再使用slapd.conf作为配置文件

有两种配置方式,一种是通过修改旧版配置文件slapd.conf,再用slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/导入到数据库中,这种方式非常麻烦,不建议使用。
一种是通过编辑ldif文件,再用ldapadd命令导入到数据库中,这种方式是动态配置,不需要重新启动服务端slapd进程。
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
1、安装环境
1.1、centos 7.6
1.2、Idap服务器192.168.0.88
Openldap 2.4.44
Root帐号下执行所以命令

2、安装ldap服务器端yum install openldapap openldap-clients.x86_64 openldap-servers

2.1、systemctl start slapd.service 

在这里插入图片描述
2.2、systemctl enable slapd.service
在这里插入图片描述
openldap: #OpenLDAP配置文件、库和文档
openldap-servers: #服务器进程及相关命令、迁移脚本和相关文件
openldap-clients: #客户端进程及相关命令,用来访问和修改 OpenLDAP 目录

2.3、安装过程中会自动创建ldap用户和ldap组
[root@slapd /]# grep ldap /etc/passwd
ldap❌55:55:OpenLDAP server:/var/lib/ldap:/sbin/nologin
[root@slapd /]# grep ldap /etc/group
ldap❌55:

3、复制数据库模板
#cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
# chown ldap. /var/lib/ldap/DB_CONFIG

4、设定slad密码,并复制好,等下修改文件使用。
[root@localhost ~]# slappasswd
在这里插入图片描述
New password: 123456
Re-enter new password:123456
{SSHA}tF+yodMmimS/7z4D7GKOfnJyZ3xo3XQ8
使用 slappasswd 命令生成管理员(admin)密码,编写 LDIF(一种LDAP 专用的数据 交换格式)文件并通过ldapadd命令将管理员密码导入到 LDAP配置文件中。

5、新增vim chrootpw.ldif及vim chdomain.ldif文件,并keyin相关数据
[root@ladp conf.d]# vim chrootpw.ldif

dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}BXTlwAUMwVSgqHr0WlIEud3iu9ddjvQE

在这里插入图片描述
5、中导入一些基本的 Schema

我们需要向 LDAP 中导入一些基本的 Schema。这些 Schema 文件位于 /etc/openldap/schema/ 目录中,schema控制着条目拥有哪些对象类和属性

ldapadd -Y EXTERNAL -H ldapi:/// -f chrootpw.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
配置 LDAP 的根域(以 dc=baidu,dc=com 为例)及其管理域:

vim chdomain.ldif

#用你自己的域名代替"dc=***,dc=***"语句块

dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base=“gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth”
read by dn.base=“cn=admin,dc=baidu,dc=com” read by * none

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=baidu,dc=com

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=admin,dc=baidu,dc=com

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}F6zoILgoKS68zC8gStge4h+7seulqgmG

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by
dn=“cn=admin,dc=baidu,dc=com” write by anonymous auth by self write by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn=“cn=admin,dc=badiu,dc=com” write by * read

#导入[root@ladp conf.d]#  ldapmodify -Y EXTERNAL -H ldapi:/// -f chdomain.ldif

在这里插入图片描述
6.1、在上述基础上,我们来创建一个叫做 baidu company 的组织,并在其下创建一个 admin 的组织角色(该组织角色内的用户具有管理整个 LDAP 的权限)和 People 和 Group 两个组织单元:
vim basedomain.ldif

dn: dc=baidu,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: Baidu Company
dc: baidu

dn: cn=admin,dc=baidu,dc=com
objectClass: organizationalRole
cn: admin

dn: ou=People,dc=baidu,dc=com
objectClass: organizationalUnit
ou: People

dn: ou=Group,dc=baidu,dc=com
objectClass: organizationalRole
cn: Group

在这里插入图片描述

ldapsearch -x -b “dc=baidu,dc=com” -H ldap://127.0.0.1
ldapadd -x -D cn=admin,dc=baidu,dc=com -W -f basedomain.ldif

Enter LDAP Password: #输入上面设置的管理员密码(明文) adding new entry “dc=baidu,dc=com”

通过以上的所有步骤,我们就设置好了一个 LDAP 目录树:其中基准 dc=baidu,dc=com 是该树的根节点,其下有一个管理域 cn=admin,dc=baidu,dc=com 和两个组织单元 ou=People,dc=baidu,dc=com 及 ou=Group,dc=baidu,dc=com。

7、安装httpd服务及phpldapadmin管理工具
yum install -y epel-release
yum install -y phpldapadmin
rpm -qa | grep phpldapadmin

7.1、配置/etc/httpd/conf.d/phpldapadmin.conf允许从远程访问
修改以下文件:
vi /etc/httpd/conf.d/phpldapadmin.conf

Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
Alias /ldapadmin /usr/share/phpldapadmin/htdocs

<Directory /usr/share/phpldapadmin/htdocs>

修改为

Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
Alias /ldapadmin /usr/share/phpldapadmin/htdocs

<Directory /usr/share/phpldapadmin/htdocs>
Order Deny,Allow
Allow from all

7.2、 第二处修改Apache主配置文件httpd.conf
vi /etc/httpd/conf/httpd.conf

102 #<Directory />
103 #    AllowOverride none
104 #    Require all denied
105 #</Directory>
106
Options Indexes FollowSymLinks AllowOverride None

注释掉102-105添加如下

Options Indexes FollowSymLinks
AllowOverride None

不然会报错

7、3、修改/etc/phpldapadmin/config.php配置用DN登录
vi /etc/phpldapadmin/config.php
第397行和398行
$servers->setValue(‘login’,‘attr’,‘dn’);
// $servers->setValue(‘login’,‘attr’,‘uid’);

在这里插入图片描述

8、然后重启httpd服务

启动 [root@cdh-server1 ~]# service httpd start
停止 [root@cdh-server1 ~]# service httpd stop
重启 [root@cdh-server1 ~]# systemctl restart httpd
查看状态 [root@cdh-server1 ~]# service httpd status

9、进入openladp

打开网页输入 http://ip/ladpadmin
输入帐号cn=admin,dc=baidu,dc=com
密码明文

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值