OpenLDAP Proxy -- Installation and configuration

  sonic0002        2017-11-03 20:26:41       21,270        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 Proxy 伺服器所需的套件
    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 伺服器,則會有一些其他的設定,我們將在未來的文章中說明。敬請期待。

OPENLDAP PROXY  OPENLDAP  DOCKER  CENTOS  INSTALLATION 

           

  RELATED


  0 COMMENT


No comment for this article.



  RANDOM FUN

Nice shop name


  SUPPORT US