OpenLDAP サーバーの構成

OpenLDAP サーバーの構成を開始する前に、次の前提条件が満たされている必要があります。

注: UNIX バージョンが異なる場合、リストとは異なるコマンドが必要になる場合があります。

これ以降、secldap をコンテナー名の例として使用しています。必要に応じてこれをカスタマイズします。

OpenLDAP サーバーを構成するには、次の手順を実行します。

  1. 次の手順はオプションであり、OpenLDAP がすでにインストールされて使用中であり、既知の初期状態から開始する場合にのみ必要となります。OpenLDAP がまだインストールされていない場合は、手順 2 に進みます。
    重要: システムから slapd 構成を削除する前に、特に、OpenLDAP に依存するアプリケーションがすでに存在しているかどうか、または使用中のスキーマが以前に拡張されているかどうかについて、LDAP 管理者に確認してください。Micro Focus では、既存ファイルの復元が必要になる場合に備えて、次のようにバックアップすることをお勧めします。
    tar czf /etc/openldap/slapd-backup.tgz slapd.conf -C /var/lib ldap

    slapd を停止してクリアするには、コマンド ラインで次のコマンドを実行します。

    systemctl stop slapd
    systemctl disable slapd
    rm -rf
    /etc/openldap/slapd.d
    rm -f /var/lib/ldap/*
    yum -y remove openldap-servers
    yum -y remove openldap-clients
  2. OpenLDAP をインストールするには、コマンド ラインで次のコマンドを実行します。
    yum -y install openldap-servers
    yum -y install openldap-clients
  3. slapd.d/cn=config/olcDatabase={0}config.ldif ファイルを変更します。
    sed -i '/CRC.*/d' /etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif
     
    sed -i '/olcAccess:.*/c\olcAccess: {0}to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage by * break' /etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif
     
    sed -i '/ al,cn=auth.*/d' /etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif
  4. slapd プロセスを開始します。
    systemctl start slapd
  5. 現在のディレクトリに次の内容の chrootpwd.ldif ファイルを作成します。
    dn: olcDatabase={0}config,cn=config
    changetype: modify
    add: olcRootPW
    olcRootPW: {SSHA}xxxxxxxxxxxxxxxxxxxxxxxx
  6. chrootpwd.ldif を変更し、ルート DN パスワードを追加します。下のコマンドの [password] を任意のパスワードに置き換えます。
    secret=$(slappasswd -s [password]) 
     
    sed -i "/olcRootPW:.*/c\olcRootPW: $secret" chrootpwd.ldif
  7. ldapadd コマンドを使用して LDAP スキーマを拡張します。
    ldapadd -Y EXTERNAL -H ldapi:/// -f chrootpwd.ldif 
     
    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/core.ldif 
     
    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/corba.ldif 
     
    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif 
     
    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/duaconf.ldif 
     
    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/dyngroup.ldif 
     
    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
     
    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/java.ldif 
     
    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/misc.ldif
     
    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif 
     
    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/openldap.ldif 
     
    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/collective.ldif 
     
    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/ppolicy.ldif
  8. 現在のディレクトリに次の内容の backend.ldif ファイルを作成します。
    dn: cn=module,cn=config
    objectClass: olcModuleList
    cn: module
    olcModulepath: /usr/lib/openldap
    olcModuleload: back_hdb
     
    dn: olcDatabase=hdb,cn=config
    objectClass: olcDatabaseConfig
    objectClass: olcHdbConfig
    olcDatabase: {1}hdb
    olcDbDirectory: /var/lib/ldap
    olcDbIndex: objectClass eq,pres
    olcDbIndex: ou,cn,mail,surname,givenname eq,pres,sub
    olcSuffix: dc=secldap,dc=com
    olcRootDN: cn=Manager,dc=secldap,dc=com
    olcRootPW: {SSHA}xxxxxxxxxxxxxxxxxxxxxxxx
    olcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=Manager,dc=secldap,dc=com" write by anonymous auth by self write by * none
    olcAccess: {1}to dn.base="" by * read
    olcAccess: {2}to * by dn="cn=Manager,dc=secldap,dc=com" write by * read
  9. Micro FocusEnterprise Server 接続のパスワードを作成します。[connection password] を任意のパスワードに置き換えます。
    secret=$(slappasswd -s [connection password]) 
     
    sed -i "/olcRootPW:.*/c\olcRootPW: $secret" backend.ldif
     
    ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif
  10. slapd デーモンを停止します。
    systemctl stop slapd
  11. 次の内容を持つ schema_convert.conf ファイルを作成します。
    include corba.schema      
    include core.schema       
    include cosine.schema     
    include duaconf.schema    
    include dyngroup.schema   
    include inetorgperson.schema
    include java.schema       
    include misc.schema       
    include nis.schema        
    include openldap.schema   
    include ppolicy.schema    
    include collective.schema
    include container.schema
    include mfds.schema
  12. MFDS を使用して Enterprise Server スキーマ拡張を作成します。
    cp -r /etc/openldap/schema .
     
    mfds -l "dc=secldap,dc=com" 2 schema/mfds.schema
     
    rm -rf schema/cn=config
     
    cd schema
     
    slaptest -f ../schema_convert.conf -F .
     
    cd ..
     
    cp schema/cn=config/cn=schema/cn={12}container.ldif /etc/openldap/slapd.d/cn=config/cn=schema
     
    cp schema/cn=config/cn=schema/cn={13}mfds.ldif /etc/openldap/slapd.d/cn=config/cn=schema
     
    chown -R ldap /etc/openldap/slapd.d
     
    chmod -R 700 /etc/openldap/slapd.d
  13. slapd スタンドアロン LDAP デーモンを再起動します。
    systemctl start slapd
  14. slapd サービスを有効にします。
    systemctl enable slapd
  15. ログ フォルダーを作成します。
    rm -rf schema/log
     
    mkdir schema/log
  16. 追加のスキーマ拡張ファイル top.ldif をスキーマ ディレクトリに作成します。
    dn: dc=secldap,dc=com
    objectClass: dcObject
    objectClass: organization
    dc: secldap
    description: secldap domain
    o: MFSECLDAP
  17. 追加のスキーマ拡張ファイル mf-containers.ldif をスキーマ ディレクトリに作成します。
    dn: cn=Micro Focus,dc=secldap,dc=com
    cn: Micro Focus
    objectClass: container
     
    dn: cn=Enterprise Server Resources,cn=Micro Focus,dc=secldap,dc=com
    cn: Enterprise Server Resources
    objectClass: container
     
    dn: cn=Enterprise Server Users,cn=Micro Focus,dc=secldap,dc=com
    cn: Enterprise Server Users
    objectClass: container
     
    dn: cn=Enterprise Server User Groups,cn=Micro Focus,dc=secldap,dc=com
    cn: Enterprise Server User Groups
    objectClass: container
  18. 残りのスキーマ拡張機能をインストールします。
    ldapadd -v -D "cn=Manager,dc=secldap,dc=com" -w [connection_password] -f schema/top.ldif -h localhost:389 > schema/log/top.log
     
    ldapadd -v -D "cn=Manager,dc=secldap,dc=com" -w [connection_password] -f schema/mf-containers.ldif -h localhost:389 > schema/log/containers.log
     
    rm -f schema/mfds-users.ldif
     
    mfds -e "cn=Micro Focus,dc=secldap,dc=com" "cn=Enterprise Server Users" "cn=Enterprise Server User Groups" "cn=Enterprise Server Resources" 2 "schema/mfds-users.ldif" 
     
    ldapadd -v -D "cn=Manager,dc=secldap,dc=com" -w [connection_password] -f schema/mfds-users.ldif -h localhost:389 -c > schema/log/mfds-users.log
     
    sed 's/DC=X/CN=Micro Focus,dc=secldap,dc=com/' /opt/microfocus/EnterpriseDeveloper/etc/es_default_ldap_openldap.ldf > schema/es_default_ldap_openldap.ldif
     
    ldapadd -v -D "cn=Manager,dc=secldap,dc=com" -w [connection_password] -f schema/es_default_ldap_openldap.ldif -h localhost:389 -c > schema/log/es_default_ldap_openldap.log
  19. 次のコマンドを使用して、スキーマ拡張機能がインストールされていることを確認します。
    ldapsearch -h localhost:389 -x -b "cn=subschema" -s base + > schema.txt
    結果ファイル schema.txt の内容を調べて、microfocus- で始まる属性および objectClass エントリがあることを確認します。簡易な ID "cn=Manager,dc=secldap,dc=com" および [connection password] パスワードを使用して、ポート 389 を経由し、LDAP ブラウザーまたは他の LDAP アクセス ツールで、"dc=secldap,dc=com" またはカスタマイズしたバリエーションであるベース DN への接続も試行できます。また、"cn=Micro Focus" コンテナー ツリーも参照できます。