OpenLDAP 2.4 スキーマ追加

OpenLDAP 2.4でスキーマを追加する。

手順が複雑なのでメモ。

 

使用するスキーマファイルをダウンロードする。

hoge.schema とする。

まず、

/etc/openldap/schema/

にコピーする。

それとは別のコピーを適当なディレクトリに配置する。

 

そして、結合させる設定ファイルを作成する。

> vim addschema.ldif

中身は

include /etc/openldap/schema/hoge.schema

とする。

 

次に、作業用ディレクトリに移動して一時ディレクトリを作成する。

> mkdir tmp

そして、コンバートする。

> slapcat -f ./addschema.ldif -F tmp -n 0 -s 'cn={X}hoge,cn=schema,cn=config'

(X = 現在設定されているschemaファイルの総数 + 1)

実行すると、openldapの設定ディレクトリが丸ごと作られる。

 

目的のファイルの場所まで移動し、

> cd tmp/...../

 

出来上がったhoge.ldifを編集する。

(ファイルは tmp/cn=config/cn=schema にある )

> vim cn={X}hoge.ldif

#
################################################################################
#
# dn: cn=schema
#
################################################################################
#

(ファイル先頭に、以下の行を追加する。)

dn: cn=(スキーマ名),cn=schema,cn=config
objectClass: olcSchemaConfig
cn: (スキーマ名)


attributeType ( … )

 

保存して、このファイルを設定に反映させる。

> ldapadd -Y EXTERNAL -H ldapi:/// -f cn={X}hoge.ldif

 

/etc/openldap/slapd.d/cn=config/cn=schema

に{X}hoge.ldifがタイムスタンプつきで出来ていれば成功。

 

最後に tmpディレクトリを削除する。