centos 6.5 openldap php,Centos7.6 openldap部署

2023-10-13 19:50

本文主要是介绍centos 6.5 openldap php,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

a4af00e8769eb223fbdcf76f69591b6e.png

2.2、systemctl enable slapd.service

88eb8c5a6544ca10876d276141ff42e1.png

openldap: #OpenLDAP配置文件、库和文档

openldap-servers: #服务器进程及相关命令、迁移脚本和相关文件

openldap-clients: #客户端进程及相关命令,用来访问和修改 OpenLDAP 目录

2.3、安装过程中会自动创建ldap用户和ldap组

[root@slapd /]# grep ldap /etc/passwd

[root@slapd /]# grep ldap /etc/group

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

c7793dfed2338a50c89205873ad4f0a0.png

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

0ca12eeb3fd8eaa493bdf4941112badb.png

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

45d23201fda4b732825a2945562a831f.png

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

1a3cc7a11d20baa60e4cc6d27e9e4d1b.png

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

修改为

Alias /phpldapadmin /usr/share/phpldapadmin/htdocs

Alias /ldapadmin /usr/share/phpldapadmin/htdocs

Order Deny,Allow

Allow from all

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

vi /etc/httpd/conf/httpd.conf 102 # 103 # AllowOverride none 104 # Require all denied 105 # 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’);

2d5161f843dff1bdfd93648957e05d32.png

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

密码明文

f145b8a84bcddf6668f523143bf096f6.png

这篇关于centos 6.5 openldap php,Centos7.6 openldap部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/205486

相关文章

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

Linux部署中的文件大小写问题的解决方案

《Linux部署中的文件大小写问题的解决方案》在本地开发环境(Windows/macOS)一切正常,但部署到Linux服务器后出现模块加载错误,核心原因是Linux文件系统严格区分大小写,所以本文给大... 目录问题背景解决方案配置要求问题背景在本地开发环境(Windows/MACOS)一切正常,但部署到

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

CentOS 7 YUM源配置错误的解决方法

《CentOS7YUM源配置错误的解决方法》在使用虚拟机安装CentOS7系统时,我们可能会遇到YUM源配置错误的问题,导致无法正常下载软件包,为了解决这个问题,我们可以替换YUM源... 目录一、备份原有的 YUM 源配置文件二、选择并配置新的 YUM 源三、清理旧的缓存并重建新的缓存四、验证 YUM 源

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx