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

関連情報