OpenLDAP Proxy -- Installation and configuration

  sonic0002        2017-11-03 20:26:41       20,581        0          English  简体中文  繁体中文  ภาษาไทย  Tiếng Việt 

在理解了OpenLDAP代理的配置之后,现在该解释OpenLDAP代理的安装以及如何运行它了。在这篇文章中,我们将介绍如何在本地和使用docker安装OpenLDAP代理。

本地安装

安装非常简单,需要安装一些软件包,包括ldap服务器、ldap客户端和一些实用程序。以下步骤适用于CentOS,其他平台的说明应该类似,只是软件包名称和软件包位置略有不同。

  1. 安装openldap openldap-clients openldap-servers
    yum install openldap openldap-clients openldap-servers
  2. 如果不存在,则创建/etc/openldap/slapd.conf。
  3. 更新/etc/openldap/slapd.conf并添加LDAP条目(查看之前的文章了解配置)
  4. 删除当前的/etc/openldap/slapd.d/内容
    rm -rf /etc/openldap/slapd.d/*
  5. 重新生成配置
    slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
  6. 将配置目录的所有者更改为ldap。对于Ubuntu,它是openldap。
    chown -R ldap:ldap /etc/openldap/slapd.d
  7. 重启slapd服务
    /etc/init.d/slapd restart

这应该会启动具有所需配置的OpenLDAP代理。如果您不想使用LDIF样式的配置,可以在更新/etc/ldap/slapd.conf文件后删除/etc/ldap/slapd.d文件夹。

Docker设置

Docker已成为托管特定用途的单个服务的流行方法。OpenLDAP代理非常适合此模型。因此,我们还将介绍使用Docker和docker-compose设置OpenLDAP代理的方法。如果您不了解这些实用程序,请先阅读一些在线资源。

设置OpenLDAP代理的步骤如下:

  1. 创建一个名为openldap_proxy的目录,您可以选择任何名称。然后进入openldap_proxy目录。
  2. 创建一个Dockerfile并放入以下内容(这只是一个示例)
    # 从授权来源拉取基础镜像
    FROM centos:7
    
    # 安装LDAP代理服务器所需的软件包
    RUN yum install openldap openldap-clients openldap-servers -y
    
    # 创建必要的目录
    RUN mkdir -p /root/openldap_proxy && \
        mkdir -p /root/openldap_proxy/tmp && \
        mkdir -p /root/openldap_proxy/data && \
        mkdir -p /root/openldap_proxy/data/certs
    
    # 删除不需要的目录
    RUN rm -rf /etc/openldap/slapd.d
    
    # 将文件复制到容器
    COPY ./start.sh /root/openldap_proxy/start.sh
    COPY ./slapd.conf /etc/openldap/slapd.conf
    
    # 添加执行权限
    RUN chmod 755 /root
    RUN chmod +x /root/openldap_proxy/start.sh
    
    # 入口点
    ENTRYPOINT ["/root/openldap_proxy/start.sh"]
  3. 保存Dockerfile
  4. slapd.conf文件放入openldap_proxy目录,并在openldap_proxy中创建一个名为start.sh的文件
  5. 在start.sh中,放入以下内容
    #!/bin/bash
    
    TOPDIR=$(dirname $0)
    cd $TOPDIR && TOPDIR=$PWD
    
    # 如果不存在,则生成证书
    DESTDIR="$TOPDIR/data/certs"
    APP_FQDN=$(hostname -f)
    
    [[ -d $DESTDIR ]] || mkdir -p $DESTDIR
    
    APP_GEN_CERT='openssl req -x509 -nodes -days 365 -newkey rsa:2048'
    APP_GEN_CERT="$APP_GEN_CERT -keyout $DESTDIR/ldap.key -out $DESTDIR/ldap.crt"
    APP_GEN_CERT="$APP_GEN_CERT -subj '/CN=$APP_FQDN/OU=TestOU/O=Organization/L=Location/ST=State/C=Country'"
    APP_GEN_CERT="[[ -f $DESTDIR/ldap.crt ]] || $APP_GEN_CERT"
    
    eval $APP_GEN_CERT
    
    # 运行docker-compose命令
    exec "$@"
  6. start.sh是Docker容器的入口点,它将被复制到容器并在docker容器启动时运行。该脚本将首先生成一个证书,如果代理服务SSL请求,则将使用该证书,然后它将处理传递给start.sh的命令的执行,该命令将是稍后创建的docker-compose.yml中的command选项
  7. 创建一个名为my_openldap_proxy的docker镜像。
    docker build -t my_openldap_proxy .
  8. 接下来,移出openpldap_proxy目录一级 (cd ../)
  9. 创建一个包含以下内容的docker-compose.yml文件
    my_openldap_proxy:
      image: my_openldap_proxy:latest
      container_name: my_openldap_proxy
      ports:
        - '389:389'
        - "636:636"
      volumes:
        - shared_data:/root/openldap_proxy/data
      command: bash -l -c "cd /root/openldap_proxy && /usr/sbin/slapd -h 'ldap:/// ldapi:/// ldaps:///' -g ldap -u ldap -d 2"
  10. 保存它,然后运行docker-compose up -d命令。如果容器不存在,此命令将构建容器并以分离模式启动它。

非常简单的安装步骤。如果您想在配置中添加启用SSL的远程LDAP服务器,还有一些其他设置,我们将在以后的文章中介绍。敬请关注。

INSTALLATION  CENTOS  DOCKER  OPENLDAP  OPENLDAP PROXY 

       

  RELATED


  0 COMMENT


No comment for this article.



  RANDOM FUN

How Chinese learn to drive

A Chinese lady is learning how to drive secirouly with equipments found in her own house. She is so creative.