私は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