返回顶部
首页 > 资讯 > 后端开发 > 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://lsjlt.com/news/403067.html(转载时请注明来源链接)

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

猜你喜欢
  • OpenLdap +PhpLdapAdmin + Grafana docker-compose部署安装
    目录 一、OpenLdap介绍 二、PhpLdapAdmin介绍 三、使用docker-compose进行安装 1. docker-compose.yml 2. grafana配置文件 3. provisioning 四、安装openld...
    99+
    2023-09-11
    grafana docker 容器
  • Linux系统下安装配置 OpenLDAP + phpLDAPadmin
    Linux系统下安装配置 OpenLDAP + phpLDAPadmin实验环境:操作系统:Centos 7.4服务器ip:192.168.3.41运行用户:root网络环境:InternetLDAP(轻量级目录访问协议)是一个能实现提供被...
    99+
    2023-06-05
  • docker-compose部署nginx+php
    1、首先拉取nginx及php镜像 docker pull nginx:1.21.6 docker pull php:7.4.28-fpm 2、创建本地目录 mkdir /home/nginx-php...
    99+
    2023-09-09
    php nginx docker
  • 使用Docker-compose部署mysql
    前言 虽然docker部署环境比自己下载安装包要方便不少,但是docker的命令还有挂载目录在每次启动容器的时候都去找命令对使用者是很不友好的,而且有时候要启动多个容器的时候显然一个个的启动是很麻烦的。所以如果可以事先将"启动脚本"写好的...
    99+
    2023-09-03
    docker mysql 容器 Powered by 金山文档
  • docker-compose怎么部署Yapi
    本篇内容主要讲解“docker-compose怎么部署Yapi”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker-compose怎么部署Yapi”吧!1 安装dockersudo&nbs...
    99+
    2023-06-29
  • Docker-compose怎么部署gitlab
    这篇文章主要介绍“Docker-compose怎么部署gitlab”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Docker-compose怎么部署gitlab”文章能帮助大家解决问题。docker...
    99+
    2023-06-26
  • Docker compose部署minio服务
    目录介绍单机版部署纠删码模式部署分布式部署介绍 最近才知道minio这个对象存储服务中间件,简直相见恨晚,只怪我见识太短浅(哭泣脸)。 说得通俗易懂点,minio的作用就是用来存储文...
    99+
    2022-11-13
    Docker compose部署minio服务 Docker compose
  • 使用docker部署grafana+prometheus配置
    docker-compose-monitor.yml version: '2' networks: monitor: driver: bridge service...
    99+
    2024-04-02
  • 使用docker、docker-compose部署微服务
    使用docker、docker-compose部署微服务 一、使用docker部署1、准备2、上传jar包3、编写dockerfile文件3、构建镜像和容器 二、使用docker-compose部署1、准备服务的jar包和doc...
    99+
    2023-08-30
    docker 微服务 容器
  • docker/docker-compose 部署 nginx+mysql+wordpress 实战
    1. 网络架构图 MariaDB 作为后面的关系型数据库,端口号是 3306; WordPress 是中间的应用服务器,使用 MariaDB 来存储数据,它的端口是 80; Nginx 是前面的反向...
    99+
    2023-09-06
    docker nginx mysql
  • docker-compose部署Yapi的方法
    1 安装docker sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config...
    99+
    2024-04-02
  • 使用 Docker Compose 部署 MySQL 8.0
    大家好!今天我们来讨论一下如何使用 Docker Compose 部署 MySQL 8.0。Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具,它使得管理和部署复杂的应用程序变得更加简单。 MySQL 8...
    99+
    2023-08-24
    docker mysql
  • ubuntu Docker安装部署Rancher
    Rancher是一个开源的企业级容器管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。主要包括服...
    99+
    2023-01-31
    ubuntu Docker Rancher
  • docker compose 安装Mysql
    第一步:首先安装docker 和docker-compose 这里使用快速安装脚本进行安装 curl -sSL https://get.daocloud.io/docker | sh 第二步:新建/data/mysql目录    data...
    99+
    2023-09-18
    docker java 运维
  • centos7安装docker-compose
    Docker Compose是 docker 提供的一个命令行工具,用来定义和运行由多个容器组成的应用。使用 compose,我们可以通过 YAML 文件声明式的定义应用程序的各个服务,并由单个命令完成应用的创建和启动。确保本机已经安装了d...
    99+
    2023-01-31
    docker compose
  • 使用docker-compose部署MySQL方法
    本文主要给大家介绍使用docker-compose部署MySQL方法,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下使用docker-compose部...
    99+
    2024-04-02
  • 如何使用docker-compose部署clickhouse
    这篇文章主要介绍如何使用docker-compose部署clickhouse,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!ClickHouse 是一个开源的面向列的 DBMS(由 Yandex 开发)。ClickHo...
    99+
    2023-06-25
  • 怎么使用Docker-compose部署mysql
    这篇文章主要介绍了怎么使用Docker-compose部署mysql的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Docker-compose部署mysql文章都会有所收获,下面我们一起来看看吧。一、D...
    99+
    2023-07-06
  • 如何使用docker部署grafana+prometheus配置
    这篇文章主要为大家展示了“如何使用docker部署grafana+prometheus配置”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用docker部署grafana+prometheu...
    99+
    2023-06-22
  • docker如何部署安装jenkins
    这篇文章主要介绍docker如何部署安装jenkins,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!首先,我们需要一台安装了docker的服务器。(这个我已经在我的小主机上安装了)第一步,把镜像给拉下来docker&...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作