GUI 없이 Apache Directory Server를 구성하는 방법

GUI 없이 Apache Directory Server를 구성하는 방법

저는 Apache Directory Server(apacheds-2.0.0-M23)를 처음 사용하는데 이에 대한 공식 문서가 매우 불완전합니다. Apache Directory Studio GUI를 사용하여 서버를 쉽게 구성할 수 있다는 것을 알고 있지만 그래픽 인터페이스 없이 원격 서버에 서버를 배포하려고 합니다. 이는 Apache Directory Studio를 사용할 수 없음을 의미합니다.

읽어보려고 했는데이것, 그런 다음 Apache Studio를 사용하여 새 파티션을 생성하여 디스크에 어떤 파일이 생성되었는지 확인했습니다. 실제로 설명서에 나열된 속성을 사용하여 생성된 폴더와 .ldif 파일이 있습니다. 여기서 문제는 필수 속성에 이 항목의 EntryCSN과 같은 자동 생성 값이 있다는 것입니다.목록indexes.ldif 파일의 경우

누군가 나에게 다음 방법을 말해 줄 수 있습니까?

Add a partition, a JDBM one
Import an ldif file of entries under that partition

답변1

본 적 있어?파티션 생성에 대한 문서? 첫 번째 부분에서는 Apache Directory Studio GUI를 사용하여 이를 추가하는 방법을 설명합니다. 그러나 마지막으로 파일을 사용하는 Java 예제가 있습니다 ldif.

dn: ads-partitionId=example,ou=partitions,ads-directoryServiceId=default,ou=config
objectclass: top
objectClass: ads-base
objectclass: ads-partition
objectclass: ads-jdbmPartition
ads-partitionSuffix: dc=example,dc=com
ads-contextentry:: ZG46IGRjPWV4YW1wbGUsZGM9Y29tCmRjOiBleGFtcGxlCm9iamVjdGNsYXNzOiBkb21haW4Kb2JqZWN0Y2xhc3M6IHRvcAoK
ads-jdbmpartitionoptimizerenabled: TRUE
ads-partitioncachesize: 10000
ads-partitionsynconwrite: TRUE
ads-partitionid: example
ads-enabled: TRUE

ldif파티션 내용(OU, 사용자 등) 앞에 위 항목을 넣어 새 파티션을 생성할 수 있습니다 . 예제 파티션과 같이 Base64 인코딩의 파티션 DN을 포함하는 속성을 ldif기록해 두십시오 .ads-contextentry

dn: dc=example,dc=com
dc: example
objectclass: domain
objectclass: top

답변2

예를 들어 다음과 같은 도메인을 만듭니다.

dn: dc=marmoser,dc=local
dc: marmoser
objectclass: domain
objectclass: top

base64를 통해 Ads-contextentry(dn: dc=marmoser,dc=local\n...)로 인코딩해야 합니다.

이 버퍼를 marmoser-partition.ldif에 저장합니다.

dn: ads-partitionId=marmoser,ou=partitions,ads-directoryServiceId=default,ou=config
objectclass: top
objectClass: ads-base
objectclass: ads-partition
objectclass: ads-jdbmPartition
ads-enabled: TRUE
ads-partitionSuffix: dc=marmoser,dc=local
ads-contextentry:: ZG46IGRjPW1hcm1vc2VyLGRjPWxvY2FsCmRjOiBtYXJtb3NlcgpvYmplY3RjbGFzczogZG9tYWluCm9iamVjdGNsYXNzOiB0b3AK
ads-partitioncachesize: 1000
ads-partitionsynconwrite: TRUE
ads-partitionid: marmoser

dn: ou=indexes,ads-partitionId=marmoser,ou=partitions,ads-directoryServiceId=default,ou=config
objectclass: top
objectclass: organizationalUnit
ou: indexes

dn: ads-indexAttributeId=uid,ou=indexes,ads-partitionId=marmoser,ou=partitions,ads-directoryServiceId=default,ou=config
objectclass: top
objectclass: ads-base
objectclass: ads-index
objectclass: ads-jdbmIndex
ads-indexAttributeId: uid
ads-enabled: TRUE
ads-indexhasreverse: FALSE

dn: ads-indexAttributeId=dc,ou=indexes,ads-partitionId=marmoser,ou=partitions,ads-directoryServiceId=default,ou=config
objectclass: top
objectclass: ads-base
objectclass: ads-index
objectclass: ads-jdbmIndex
ads-indexAttributeId: dc
ads-enabled: TRUE
ads-indexhasreverse: FALSE

구현하다

ldapmodify -h localhost -p 10389 -D "uid=admin,ou=system" -w secret -a -f marmoser-partition.ldif

service apacheds restart

관련 정보