3.2. スキーマファイルの要件
スキーマファイルは、cn=schema エントリーを定義する LDIF 形式を使用します。各属性タイプとオブジェクトクラスがこのエントリーに追加されます。
スキーマファイルの要件は次のとおりです。
ファイルは次のエントリーで始まる必要があります。
dn: cn=schema
- スキーマファイルには、属性タイプまたはオブジェクトクラス、あるいはその両方を含めることができます。
- オブジェクトクラス定義は、他のスキーマファイルで定義された属性を使用できます。
カスタムスキーマファイルを使用するインスタンスに応じて、次のいずれかの場所に保存します。
-
/etc/dirsrv/slapd-instance_name/schema/は、この特定のインスタンスでスキーマファイルを使用できるようにします。 -
/usr/share/dirsrv/schema/は、このホストで実行しているすべてのインスタンスでスキーマファイルを使用できるようにします。
-
デフォルトでは、Directory Server は
99user.ldifファイルのカスタムスキーマを想定しています。別のファイル名を使用する場合は、以下のようにします。-
名前はアルファベット順に
99user.ldifより小さくする必要があります。たとえば、99aaa.ldifは使用できますが、99zzz.ldifは使用できません。 カスタムスキーマファイルは、
00から98までのコアスキーマファイルの後にロードする必要があるため、名前は 2 桁で始まり、01より大きくなければなりません。Directory Server は、スキーマファイルをアルファベット順に読み取ります。したがって、たとえば、定義
99user.ldifを保存すると、名前が00と01で始まる標準ファイルの定義がオーバーライドされます。
-
名前はアルファベット順に
-
/usr/share/dirsrv/data/ディレクトリーの標準スキーマファイルを使用する場合は、ファイルを使用するインスタンスに応じて、ファイルを/etc/dirsrv/slapd-instance_name/schema/または/usr/share/dirsrv/schema/にコピーします。ただし、宛先ディレクトリーで別のファイル名を使用してください。それ以外の場合は、Directory Server はアップグレード中にファイルの名前を変更し、.bak接尾辞を追加します。
例3.1 カスタムスキーマファイルの例
dn: cn=schema objectClasses: ( 2.16.840.1.1133730.2.1.123 NAME 'exampleperson' DESC 'An example person object class' SUP top STRUCTURAL MUST dateOfBirth X-ORIGIN 'user defined' ) attributeTypes: ( 2.16.840.1.1133730.2.1.99 NAME 'dateOfBirth' DESC 'For employee birthday' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-ORIGIN 'user defined' )