广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >OpenLdap +PhpLdapAdmin + Grafana docker-compose部署安装
  • 268
分享到

OpenLdap +PhpLdapAdmin + Grafana docker-compose部署安装

grafanadocker容器 2023-09-11 12:09:20 268人浏览 薄情痞子
摘要

目录 一、OpenLdap介绍 二、PhpLdapAdmin介绍 三、使用docker-compose进行安装 1. docker-compose.yml 2. grafana配置文件 3. provisioning 四、安装openld

目录

一、OpenLdap介绍

二、PhpLdapAdmin介绍

三、使用docker-compose进行安装

1. docker-compose.yml

2. grafana配置文件

3. provisioning

四、安装openldap、phpldapadmin、grafana

五、配置OpenLDAP

1. 登陆PhpLdapAdmin web管理

2. 需要注意的细节

内容介绍参考:


一、OpenLdap介绍

  OpenLDAP是轻型目录访问协议(Lightweight Directory Access Protocol,LDAP)的自由和开源的实现,在其OpenLDAP许可证下发行,并已经被包含在众多流行的linux发行版中。它本身是一个小型文件数据库。Ldap是树形结构的,能够通过server + client(服务端+客户端)的方式。进行统一的用户(账号)管理。

举个栗子:如果有100台机器,一个用户需要登录这100台机器。传统的做法就是每台机器中,都需要创建登录账号,操作100次。想想都会疯掉。如果使用ldap来管理,就只需要在ldap服务中创建一次就可以了。账号清理也是类似的道理。我们通过控制一台机器登录账号,即可控制所有机器登录账号。是不是方便很多呢?

ldap架构

二、PHPLdapAdmin介绍

   phpLDAPadmin(又称PLA)是一个基于WEB的LDAP客户端。它提供了方便,随时随地可访问的,多语言管理为LDAP服务器。其层次树状浏览器和先进的搜索功能,使其直观地浏览和管理LDAP目录。既然是一个Web应用程序,此浏览器的LDAP工作在许多平台上,让您的LDAP服务器轻松地从任何位置管理。

   简单来说就是openldap的一个web管理页面,通过点点的方式代替复杂的命令

三、使用Docker-compose进行安装

说明:Grafana只是作为对接LDAP的一个应用,可以替换成其它应用例如jenkinsgitlab等等...

说了不少废话了,该上干货了。下面是应用于生产环境中的配置,由于一些隐私不得进行脱敏~

# 安装目录结构如下root@10-50-183-112:/home/sunwenbo# tree /home/sunwenbo//home/sunwenbo/├── docker-compose.yml└── grafana    ├── grafana.ini    ├── ldap.toml    └── provisioning        ├── access-control        ├── alerting        ├── dashboards        ├── datasources        ├── notifiers        └── plugins8 directories, 3 files

1. docker-compose.yml

完整的内容如下,替换到yml中的xxx即可

version: '3'services:  openldap:    image: osixia/openldap:latest    container_name: openldap-server    hostname: ldap.xxx.cn    restart: always    environment:      LDAP_LOG_LEVEL: "256"      LDAP_ORGANISATION: "xxx Company"      LDAP_DOMAIN: "xxx.cn"      LDAP_ADMIN_PASSWord: 'xxxxxxx'      LDAP_BASE_DN: "dc=xxx,dc=cn"      LDAP_TLS: "true"      LDAP_READONLY_USER: "false"      LDAP_BACKEND: "mdb"      LDAP_TLS_CRT_FILENAME: "ldap.crt"      LDAP_TLS_KEY_FILENAME: "ldap.key"      LDAP_TLS_DH_PARAM_FILENAME: "dhparam.pem"      LDAP_TLS_CA_CRT_FILENAME: "ca.crt"      LDAP_TLS_ENFORCE: "false"      LDAP_TLS_CIPHER_SUITE: "SECURE256:-VERS-SSL3.0"      LDAP_TLS_VERIFY_CLIENT: "demand"      LDAP_REPLICATION: "false"      KEEP_EXISTING_CONFIG: "false"      LDAP_REMOVE_CONFIG_AFTER_SETUP: "true"      LDAP_SSL_HELPER_PREFIX: "ldap"    tty: true    stdin_open: true    ports:      - 389:389      - 636:636    volumes:      - /data/slapd/database/:/var/lib/ldap/      - /data/slapd/config/:/etc/ldap/slapd.d/    networks:      - openldap-net  phpldapadmin:    image: osixia/phpldapadmin:latest    hostname: phpldapadmin-service    restart: always    container_name: phpldapadmin    privileged: true    environment:      PHPLDAPADMIN_https: "false"      PHPLDAPADMIN_LDAP_HOSTS: "ldap.xxx.cn"    ports:      - 80:80      - 443:443    depends_on:      - openldap    networks:      - openldap-net  grafana:    image: grafana/grafana:latest    hostname: grafana    restart: always    container_name: grafana    privileged: true    ports:      - 3000:3000    volumes:      - /home/sunwenbo/grafana/:/etc/grafana    depends_on:      - openldap    networks:      - openldap-netnetworks:  openldap-net:    driver: bridge

2. grafana配置文件

grafana.ini 只修改以下内容即可

#################################### Auth LDAP ##########################[auth.ldap]enabled = trueconfig_file = /etc/grafana/ldap.toml          allow_sign_up = true             # prevent synchronizing ldap users organization roles# skip_org_role_sync = false                         # LDAP background sync (Enterprise only)# At 1 am every daysync_cron = "0 1 * * *"active_sync_enabled = true   

ldap.toml 配置如下,xxx替换为实际的dc

[[servers]]host = "10.50.183.112"port = 389ssl_skip_verify = falsebind_dn = "cn=admin,dc=xxx,dc=cn"bind_password = 'xxxxxxx'search_filter = "(cn=%s)"search_base_dns = ["ou=users,dc=xxx,dc=cn"]group_search_filter = "(&(objectClass=posixGroup)(memberUid=%s))"group_search_base_dns = ["ou=GrafanaGroups,ou=Application,dc=xxx,dc=cn"]group_search_filter_user_attribute = "uid"[servers.attributes]name = "givenName"surname = "sn"username = "cn"member_of = "memberOf"email =  "email"[[servers.group_mappings]]group_dn = "cn=Grafana-admins,ou=GrafanaGroups,ou=Application,dc=xxx,dc=cn"org_role = "Admin"[[servers.group_mappings]]group_dn = "cn=Grafana-editors,ou=GrafanaGroups,ou=Application,dc=xxx,dc=cn"org_role = "Editor"[[servers.group_mappings]]# group_dn = "*"  #修改为*,可以认为所有LDAP用户都是viewer角色,根据实际需求进行配置group_dn = "cn=Grafana-viewers,ou=GrafanaGroups,ou=Application,dc=xxx,dc=cn"org_role = "Viewer"

3. provisioning

这个目录不做任何修改只是单纯的挂载出来了。

四、安装openldap、phpldapadmin、grafana

一条命令搞定

root@10-50-183-112:/home/sunwenbo# docker-compose  up -d [+] Running 4/4 ✔ Network sunwenbo_openldap-net  Created                     0.0s  ✔ Container openldap-server      Started                     0.2s  ✔ Container phpldapadmin         Started                     0.6s  ✔ Container grafana              Started                     0.6s root@10-50-183-112:/home/sunwenbo# docker-compose ps NAME                IMAGE                        COMMAND                 SERVICE             CREATED             STATUS              PORTSgrafana             grafana/grafana:latest       "/run.sh"               grafana             16 seconds ago      Up 14 seconds       0.0.0.0:3000->3000/tcp, :::3000->3000/tcpopenldap-server     osixia/openldap:latest       "/container/tool/run"   openldap            16 seconds ago      Up 15 seconds       0.0.0.0:389->389/tcp, :::389->389/tcp, 0.0.0.0:636->636/tcp, :::636->636/tcpphpldapadmin        osixia/phpldapadmin:latest   "/container/tool/run"   phpldapadmin        16 seconds ago      Up 14 seconds       0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp

检查端口是否监听

root@10-50-183-112:/home/sunwenbo# netstat  -NLPt Active Internet connections (only servers)Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      323033/sshd: /usr/s tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      377291/docker-proxy tcp        0      0 0.0.0.0:389             0.0.0.0:*               LISTEN      377156/docker-proxy tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      377266/docker-proxy tcp        0      0 0.0.0.0:636             0.0.0.0:*               LISTEN      377137/docker-proxy tcp        0      0 0.0.0.0:3000            0.0.0.0:*               LISTEN      377248/docker-proxy tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      591/systemd-resolve tcp6       0      0 :::22                   :::*                    LISTEN      323033/sshd: /usr/s tcp6       0      0 :::80                   :::*                    LISTEN      377299/docker-proxy tcp6       0      0 :::389                  :::*                    LISTEN      377162/docker-proxy tcp6       0      0 :::443                  :::*                    LISTEN      377273/docker-proxy tcp6       0      0 :::636                  :::*                    LISTEN      377144/docker-proxy tcp6       0      0 :::3000                 :::*                    LISTEN      377253/docker-proxy 

五、配置OpenLDAP

1. 登陆PhpLdapAdmin web管理

目录结构如下

2. 需要注意的细节

OU:创建选择为Generic: Organisational Unit

CN:创建选择为Generic: Posix Group

将名字为test的人员添加到CN

登陆grafana验证

有不明白的地方欢迎随时找我~

查询用户信息ldapsearch -x -H ldap://10.50.183.112:389 -D "cn=admin,dc=bigmodel,dc=cn" -w "StrongAdminPassw0rd" -b "dc=bigmodel,dc=cn" "(cn=sunwenbo)"查询组信息ldapsearch -x -H ldap://10.50.183.112:389 -D "cn=admin,dc=bigmodel,dc=cn" -w "StrongAdminPassw0rd" -b "dc=bigmodel,dc=cn" "(&(objectClass=organizationalUnit)(ou=groups)"

内容介绍参考:

小白篇(十九):openLdap介绍(又名:Ldap介绍)_belialxing的博客-CSDN博客

来源地址:https://blog.csdn.net/weixin_43798031/article/details/132691482

--结束END--

本文标题: OpenLdap +PhpLdapAdmin + Grafana docker-compose部署安装

本文链接: https://www.lsjlt.com/news/403067.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • OpenLdap +PhpLdapAdmin + Grafana docker-compose部署安装
    目录 一、OpenLdap介绍 二、PhpLdapAdmin介绍 三、使用docker-compose进行安装 1. docker-compose.yml 2. grafana配置文件 3. provisioning 四、安装openld...
    99+
    2023-09-11
    grafana docker 容器
  • ubuntu Docker安装部署Rancher
    Rancher是一个开源的企业级容器管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。主要包括服...
    99+
    2023-01-31
    ubuntu Docker Rancher
  • Docker怎么安装部署RabbitMQ
    这篇文章主要讲解了“Docker怎么安装部署RabbitMQ”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker怎么安装部署RabbitMQ”吧!关于Docker关于Docker,百度...
    99+
    2023-06-19
  • docker如何部署安装jenkins
    这篇文章主要介绍docker如何部署安装jenkins,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!首先,我们需要一台安装了docker的服务器。(这个我已经在我的小主机上安装了)第一步,把镜像给拉下来docker&...
    99+
    2023-06-22
  • docker怎么离线安装部署
    要进行离线安装部署,首先需要在离线环境中准备好所需的Docker安装包和依赖项。以下是一种离线安装部署Docker的方法:1. 在在...
    99+
    2023-10-10
    docker
  • Docker中怎么安装部署RabbitMQ
    这篇文章主要介绍“Docker中怎么安装部署RabbitMQ”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Docker中怎么安装部署RabbitMQ”文章能帮助大家解决问题。安装部署RabbitMQ...
    99+
    2023-06-27
  • docker安装部署jumpserver 2.25.5的方法
    目录官网简介一、机器环境准备二、安装部署三、对接k8s集群官网 https://www.jumpserver.org/ 简介 Jumpserver 是一款由python编写开源的跳板...
    99+
    2022-11-13
  • 在windows上用docker desktop安装部署StoneDB
    目录1、安装docker desktop1.1 下载1.2 安装1.3 安装WSL 2核心1.4 安装Docker desktop完成1.5、配置镜像加速2、用docker安装StoneDB2.1 拉取StoneDB镜像...
    99+
    2022-08-19
    StoneDB安装部署 windows下安装StoneDB 安装StoneDB
  • docker安装部署 onlyoffice的详细过程
    0. 系统要求 中央处理器 I5-10400F以上 内存 16 GB,最佳32G内存 硬盘 至少40 GB的可用空间 1:安装Docker Desktop 2:进入BIOS设置CPU...
    99+
    2022-11-12
  • Docker 部署 Prometheus的安装详细教程
    目录1.安装Node Exporter2.安装cAdvisor3.安装 Prometheus Server4.创建运行Grafana5.添加监控模板6.键值查询7.使用Prometh...
    99+
    2022-11-12
  • CentOS7.6系统下Docker安装部署教程
    目录前提说明查看系统版本命令Docker 版本Docker 安装Docker 部署Docker 阿里云镜像加速前提说明 目前,Centos 仅发行版本中的内核支持 Docker。Do...
    99+
    2022-11-13
  • docker部署安装jenkins的实现步骤
    首先,我们需要一台安装了docker的服务器。(这个我已经在我的小主机上安装了) 第一步,把镜像给拉下来 docker pull jenkins/jenkins:lts 第二...
    99+
    2022-11-12
  • Docker如何安装部署Redis数据库
    本篇内容介绍了“Docker如何安装部署Redis数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1,...
    99+
    2023-02-28
    docker redis
  • Docker安装部署neo4j的实战过程
    目录前言一、Docker 安装部署neo4j二、源码包安装 neo4j三、k8s搭建NEO4J因果集neo4j 3个成员组成的集群托管Kubernetes上部署Neo4J单核总结前言...
    99+
    2023-05-20
    docker neo4j docker安装部署neo4j neo4j docker
  • CentOS7.6系统下Docker怎么安装部署
    ...
    99+
    2023-06-30
  • Linux中怎么离线安装及部署docker
    要在Linux上离线安装和部署Docker,您可以按照以下步骤进行操作: 在一台联网的机器上下载Docker的安装包和依赖文件。...
    99+
    2023-10-27
    Linux docker
  • ubuntu docker安装部署的方法是什么
    要在Ubuntu上安装和部署Docker,可以按照以下步骤进行操作:1. 更新系统:运行以下命令来更新系统软件包列表和已安装的软件包...
    99+
    2023-09-18
    ubuntu docker
  • 基于Docker安装与部署Zabbix的案例
    小编给大家分享一下基于Docker安装与部署Zabbix的案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!今天测试了一天的Zabbix-Docker,部署起来确...
    99+
    2023-06-07
  • docker lnmp安装及部署的方法是什么
    安装和部署 Docker 上的 LNMP(Linux、Nginx、MySQL、PHP)环境可以按照以下步骤进行:1. 安装 Dock...
    99+
    2023-10-10
    docker LNMP
  • docker在linux上的安装部署实例讲解
    以下文章了解之后你可以在服务器上部署项目,本地不需要安装 tomcat,jdk,mysql等服务器,通过docker可以一键解决 安装docker $ apt install docker.io -y 若找不到...
    99+
    2022-06-04
    docker在linux上的安装部署 docker安装部署在linxu系统
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作