Sun Java System Calendar Server 管理ガイド |
第 2 章
LDAP ディレクトリの設定Calendar Server をインストールした後、実行する前に設定を行う必要があります。2 つの設定プログラムを次の順序で実行することが重要です。
- comm_dssetup.pl : この章で説明するように、 Sun Java System Directory Server LDAP ディレクトリを設定します。
- csconfigurator.sh : 第 3 章「Calendar Server の設定」での説明に従って、Calendar Server を設定します。
この章では comm_dssetup.pl と次の内容について説明します。
LDAP ディレクトリの更新LDAP ディレクトリの更新に使用する方法を決めるための要素はいくつかあります。
Calendar Server 6 2004Q2 でサポートされる LDAP ディレクトリサーバーのリストについては、次の Web サイトで入手できる『Calendar Server 6 2004Q2 リリースノート』を参照してください。
http://docs.sun.com/db/prod/entsys?l=ja
Sun 以外の LDAP ディレクトリにユーザーが格納されている場合、Calendar Server の配備のためのもっとも簡単な方法は、ディレクトリサーバーを Sun Java System Directory Server にアップグレードすることです。
Directory Server のインストールと設定の詳細については、次の Web サイトを参照してください。
http://docs.sun.com/db/prod/entsys?l=ja
Sun Java System Directory Server を使用している場合
Calendar Server 6 2004Q2 または Messaging Server 6 2004Q2 のインストール後、LDAP ディレクトリに Sun Java System Directory Server を使用している場合は、Directory Server が稼働している各サーバーに対して一度ずつ comm_dssetup.pl を実行します。
将来、レプリカなどの追加 LDAP サーバーを追加する場合は、comm_dssetup.pl を実行します。
設定プログラムを実行する前に、comm_dsstup.pl を実行します。
詳細は、「comm_dsetup.pl での更新」を参照してください。
注
comm_dssetup.pl を実行する前に、Directory Server をカスタマイズしている場合は、「カスタマイズした Directory Server がある場合」を参照し、comm_dssetup.pl の実行によってカスタマイズ内容がどのような影響を受けるかを確認してください。
カスタマイズした Directory Server がある場合
comm_dssetup.pl を実行する前に、以下を確認する必要があります。
- いくつかの属性にインデックスを付けることによって Directory Server をカスタマイズしている場合は、comm_dssetup.pl の実行後、インデックスを再び追加する必要のある場合があります。
- 他の .ldif スキーマ定義を追加している場合は、影響を受けることはないため、何もする必要はありません。ただし、通常と同様に、comm_dssetup.pl を実行する前に、カスタムスキーマ定義ファイルのバックアップをとっておくほうが賢明です。
- 上記の 2 つのカスタマイズも含め、どのようなカスタマイズを行う場合にも、スクリプトを生成したあと、実際に LDAP ディレクトリを更新する前に comm_dssetup.pl を停止します。次に、スクリプトを調べて、この推奨アクションがどのように LDAP ディレクトリに影響を与えたかを評価します。LDAP に対してスクリプトを実行する前に、カスタマイズ内容を保護するために必要だと思われるあらゆるアクションを行います。
ディレクトリサーバーに Sun 製品を使用しない場合
ディレクトリサーバーに Sun 製品を使用しない場合は、Sun 以外の LDAP ディレクトリに対して更新が必要な内容を調べるために、(実際にスクリプトを実行することなく) comm_dssetup.pl によって生成されるスクリプトを使用できます。以下に示す comm_dssetup.pl スクリプトの実行手順を参照してください。
comm_dsetup.pl での更新Directory Server の設定用 Perl スクリプト (comm_dssetup.pl) は Calendar Server 6 および Messaging Server 6 用に Directory Server を設定します。comm_dssetup.pl スクリプトは新しい LDAP スキーマ、インデックス、および設定データを設定することによって、Directory Server の準備を行います。
ここで説明する内容は次のとおりです。
comm_dssetup.pl の機能
comm_dssetup.pl ユーティリティは、以下に示す 3 つの手順で処理を行います。
- ユーティリティオプションで選択された結果を収集します。
この手順に必要な情報については、「comm_dssetup.pl の実行に必要な情報の収集」を参照してください。
- LDAP ディレクトリの変更に使用されるオプションからシェルスクリプトと LDIF ファイルを生成します。ディレクトリサーバーに Sun 製品を使用していない場合、または Directory Server をカスタマイズしている場合は、シェルスクリプトを実行せずにここで処理を停止し、「カスタマイズした Directory Server がある場合」または「ディレクトリサーバーに Sun 製品を使用しない場合」の節の指示に従ってください。
- オプションの選択結果から作成されたシェルスクリプトを実行します。それに応じて LDAP が変更されます。
このユーティリティでは、各手順の終わりに、続行するかどうかのメッセージが表示されます。3 番目の手順まで、LDAP ディレクトリに対する変更は行われません。
comm_dssetup.pl を実行するための要件
comm_dssetup.pl を実行するための要件は以下のとおりです。
comm_dssetup.pl の実行に必要な情報の収集
comm_dssetup.pl の最初の手順では、次の情報を入力する必要があります。この情報を記録しておくために、付録 A 「ディレクトリ設定のワークシート」を使用してください。
- Directory Server のルートパス名。デフォルトは /var/mps/serverroot
- Directory Server に複数のインスタンスが存在している場合は、Calendar Server 6 2004Q2 に使用するインスタンス
- Directory Manager の識別名 (DN) とパスワード。デフォルト DN は "cn=Directory Manager"
- Directory Server はユーザーやグループで使用するか。つまり、Directory Server を使用して、設定とユーザーデータの両方 (yes) を格納するか、または設定データだけ (no) を格納するか。デフォルトは両方 (yes)
- Directory Server がユーザーやグループで使用される場合のユーザーやグループのルートサフィックス。デフォルトは o=usergroup
- 使用するスキーマのバージョン
詳細については、「使用するスキーマの決定」を参照してください。1 つのバージョンのスキーマがインストールされていて、上位レベルにアップグレードする場合は、このユーティリティを実行する前に『Sun Java System Communications Services Schema Migration Guide』を参照してください。
使用するスキーマの決定
Calendar Server はネイティブモードと互換モードの両方の Sun LDAP Schema 1 および Sun LDAP Schema 2 をサポートします。
使用するスキーマを決めかねている場合は、『Sun Java Enterprise System 技術の概要』の中の『Sun Java Enterprise System インストールガイド』、および『Sun Java System Communications Services Schema Migration Guide』を参照してください。
表 2-1 に、インストールに使用するスキーマの選択方法を簡略化してまとめたガイドラインを示します。
プロビジョニングや管理に Schema 1 を選択する場合、本書で説明しているように、csuser、csdomain、csresource などの Calendar Server ユーティリティを使用します。
プロビジョニングや管理に Schema 2 を選択する場合、製品にバンドルされているユーザー管理ユーティリティを使用します。ユーザー管理ユーティリティの詳細については、『Sun Java System Communications Services 6 2004Q2 User Management Utility Administration Guide』を参照してください。
このルールにはいくつかの例外があります。古い Schema 1 のカレンダーユーティリティを使用することもでき、また、ある機能では使用する必要がある場合もあります。たとえば、ユーザー用やリソース用のカレンダーの作成などに使用します。自動プロビジョニングが有効になっている場合は、ユーザー用にだけ使用できます。リソースカレンダーの作成には、必ずcsresource を使用する必要があります。
comm_dssetup.pl の実行
comm_dssetup.pl スクリプトは Directory Server に追加されるスキーマファイルと同じ zip ファイルに圧縮されています。ファイル名は dssetup.zip です。次のディレクトリに保存されています。
/opt/SUNWics5/cal/install/
dssetup.zip ファイルが見つからない場合は、自分で comm_desetup.pl ファイル (/opt/SUNWics5/cal/sbin/) と schema ディレクトリ (/opt/SUNWics5/cal/sbin/schema) の中身を dssetup.zip という名前の zip ファイルに圧縮できます。
comm_dssetup.pl を実行するには
- Directory Server がインストールされているサーバー上で、スーパーユーザー (root) としてログインするか、スーパーユーザーになります。
- 必要に応じて Directory Server を起動します。
- Calendar Server が同じマシンにインストールされている場合は、/opt/SUNWics5/cal/sbin ディレクトリに移動します。
Calendar Server が同じマシンにインストールされていない場合は、次の手順を実行します。
- サイレントモードまたは対話型モードで comm_dssetup.pl script を実行します。このスクリプトを実行するには、Directory Server 5.x に組み込まれているバージョンの Perl を使用します。
ds_svr_base/bin/slapd/admin/bin/perl
サイレントモード
サイレントモードで comm_dssetup.pl を実行するには、次の構文を使用します。
表 2-2 に、サイレントモードで comm_dssetup.pl を実行するために使用するオプションを示します。引数はすべて必須です。また、この表には各オプションとその説明も示します。
表 2-2 Directory Server セットアップスクリプト (comm_dssetup.pl) のオプション
オプション
説明
-i yes|no
"Do you want to configure new indexes?" に対する回答
yes : 新しい Directory Server インデックスを追加する。comm_dssetup.pl により、icsCalendar 属性と icsCalendarOwned 属性にインデックスが追加される
no : インデックスを追加しない
-R yes|no
"Do you want to reindex now?" に対する回答
-c DirectoryServerRoot
Directory Server のルートパス名
例 : /usr/sunone/servers-d DirectoryInstance
Directory Server インスタンスのサブディレクトリ
例 : slapd-varrius-r DCTreeSuffix
DC ツリーのルートサフィックス (Schema 1 と Schema 2 の互換モードのみ)
例 : o=internet
-u UserGroupSuffix
ユーザーおよびグループのルートサフィックス
例 : o=isp
-s yes|no
"Do you want to reindex now?" に対する回答
yes : スキーマを更新する。config ディレクトリとスキーマファイルが必要
no : スキーマを更新しない
-D DirectoryManagerDN
Directory Manager の識別名 (DN)。comm_dssetup.pl で空白文字を含む値を正しく解釈できるように、値を二重引用符 (") で囲む必要がある
例 :"cn=Directory Manager"
-w DirectoryManagerPassword
Directory Manager の DN パスワード
-b yes|no
"Will this directory server be used for users and groups?" に対する回答
yes : このディレクトリを設定とユーザーグループデータの両方を格納するために使用する
no : このディレクトリを設定データの格納だけに使用する
-t 1|1.5|2
スキーマのバージョン:
-m yes|no
"Do you want to modify the directory server?" に対する回答
yes : ユーザーに確認を求めることなく Directory Server を変更する
no : ユーザーの確認がなければ Directory Server を変更しない
-S PathtoSchemaFiles
スキーマファイルが格納されているディレクトリへのパス
例 : ./schema
例
perl comm_dssetup.pl -i yes -c /var/mps/serverroot -d slapd-ketu -r o=internet -u o=usergroup" -s yes -D "cn=Directory Manager" -w password -b yes -t 1 -m yes -R yes
サイレントモードで実行する場合は、実際に Directory Server への変更を行う前に、comm_dssetup.pl によって、対話型モードの設定の手順と同様の概要が表示されます。
対話型モード
対話型モードで実行するには、引数なしで comm_dssetup.pl スクリプトを実行し、画面に表示される指示に従って選択項目を入力します。
- 最初の画面
# perl comm_dssetup.pl
Welcome to the Directory Server preparation tool for Sun Java System Communications Services.
(Version 6.1 Revision 0.1)
This tool prepares your directory server for use by the
Communications Services which include Messaging, Calendar and their components.
The logfile is /var/tmp/dssetup_YYYYMMDDHHSS
Do you want to continue [y]:
Enter キーを押して続行するか、no と入力してから Enter キーを押して終了します。
- Directory Server のインストールルート
Please enter the full path to the directory where the Sun Java System Directory Server was installed.
Directory server root [/var/mps/serverroot]
Directory Server のインストールルートの場所を指定します。
- Directory Server のインスタンス
Please select a directory server instance from the following list:
[1] slapd-varrius
Which instance do you want [1]:
Directory Server の複数のインスタンスがサーバー上に存在している場合は、Calendar Server で設定するインスタンスを選択します。
- Directory Manager の識別名 (DN)
Directory Manager DN (cn=Directory Manager) は組織ツリー内のユーザーおよびグループのデータに責任を持つ管理者です。このスクリプトで指定する Directory Manager DN が、Calendar Server 設定や Directory Server に設定したものと同じ DN であることを確認してください。
- ユーザーおよびグループの Directory Server
回答が Yes の場合、組織ツリーに対するユーザーおよびグループベースのサフィックスを指定する必要があります。
回答が No の場合、このディレクトリインスタンスは設定データの格納だけに使用されるとみなされ、手順 9 に進みます。設定ディレクトリインスタンスに対するこのスクリプトの実行後、Calendar Server 用の設定プログラムを実行する前に、ユーザーおよびグループデータを格納するディレクトリインスタンスに対してこのスクリプトを実行する必要があります。
- ユーザーおよびグループベースのサフィックス
ユーザーおよびグループベースのサフィックスは、ユーザーおよびグループのエントリ用のネームスペースを保持する組織ツリーの最上位エントリです。選択するユーザーおよびグループベースのサフィックスが、Directory Server および Calendar Server に対して指定したものと同じであることを確認してください。
Identity Server をインストールしている場合は、Identity Server で指定したサフィックスが、ここで指定するものと同じであることを確認してください。同じサフィックスを使用しない場合、インストールされている Identity Server が Calendar Server から認識されません。
- スキーマタイプ
There are 3 possible schema types:
1 - schema 1 for systems with iMS 5.x data
1.5 - schema 2 compatibility for systems with iMS 5.x data that has been converted with commdirmig
2 - schema 2 native for systems using Identity Server
Please enter the Schema Type (1, 1.5, 2) [1]:
使用を計画しているスキーマのバージョンを次のいずれかから選択します。
- ドメインコンポーネント (DC) ツリーベースのサフィックス
手順 7 でオプション 1 または 1.5 を選択した場合は、DC ツリーベースのサフィックスを入力するように求められます。オプション 2 を選択した場合は、このメッセージは表示されません。
DC ツリーはローカル DNS 構造をミラー化し、ユーザーおよびグループのデータエントリを含む組織ツリーへのインデックスとして、システムによって使用されます。DC ツリーベースのサフィックスは、DC ツリーの最上位エントリ名です。デフォルト (o=internet) を選択することも、別の名前を選択することもできます。
- スキーマファイルの更新
Yes と答えた場合、comm_dssetup.pl によってスキーマに新しい要素が追加されます。新しいバージョンの Calendar Server または Messaging Server をインストールするたびに、新しいスキーマファイルでディレクトリを更新します。
- 新しいインデックスの設定
手順 5 で Yes と答えた場合、新しいインデックスを設定するかどうかのメッセージが表示されます。インデックスを設定するとディレクトリ検索のパフォーマンスを向上させることができます。
comm_dssetup.pl は、インデックスが存在しない場合にだけ、インデックスが作成される各属性に対して db2index を呼び出します。
Calendar Server の場合は、comm_dssetup.pl によって icsCalendar 属性と icsCalendarOwned 属性にインデックスが追加されます。これによって検索アルゴリズムのパフォーマンスが向上するため、Yes と答えます。
表 2-3 に comm_dssetup.pl によって作成されるインデックスをサフィックスのカテゴリ毎にグループに分け、さまざまな属性と各属性に対するインデックスのタイプを表示します。Directory Server のインデックス作成の詳細については、次の Web サイトを参照してください。
表 2-3 comm_dssetup.pl によってインデックスが作成される属性
サフィックス
インデックスが作成される属性
追加されるインデックスのタイプ
User/Group
inetMailGroupStatus
pres,eq
inetUserStatus
pres,eq
pres,eq,approx,sub
mailAlternateAddress
pres,eq,approx,sub
mailEquivalentAddress
pres,eq,approx,sub
mailHost
pres,eq,approx,sub
mailUserStatus
pres,eq
member
eq
ou
pres
cosspecifier
pres
createtimestamp
eq
modifytimestamp
eq
DC ツリー
inetDomainBaseDN
pres,eq
inetCanonicalDomainName
pres,eq
inetDomainStatus
pres,eq
mailDomainStatus
pres,eq
mailRoutingHosts
pres,eq,approx,sub
dc
pres
createtimestamp
eq
modifytimestamp
eq
Personal Address Book (PAB)
memberOfManagedGroup
pres,eq
memberOfPAB
pres,eq
memberOfPABGroup
pres,eq
un
eq
createtimestamp
eq
modifytimestamp
eq
icsCalendar
pres,eq,approx,sub
icsCalendarOwned
pres,eq,approx,sub
New PAB
displayname
pres,eq,sub
MemberOfPiBook
eq
MemberofPiGroup
eq
- すぐにインデックスを作成し直すかどうか
すぐにインデックスを作成するか、後で作成するかを選択できます。後でインデックスを作成することを選択した場合は、都合のいいときにインデックスの作成を有効にしてスクリプトを再実行します。インデックス作成には長い時間がかかる可能性がありますが、Directory Server はその間も機能しています。つまり、インデックスの作成中も読み取り専用モードにはなりません。
- 設定の概要
comm_dssetup.pl は Directory Server 設定を更新する前に、設定の概要を表示し、続行するかどうかを質問します。
Here is a summary of the settings that you chose:
Server Root :/var/mps/serverroot/
Server Instance : slapd-varrius
Users/Groups Directory : Yes
Update Schema :yes
Schema Type : 1
DC Root :o=internet
User/Group Root : o=usergroup
Add New Indexes :yes
Reindex New Indexes Now:yes
Schema Directory :./schema **
Directory Manager DN : cn=Directory Manager
Now ready to generate a shell script and ldif file to modify the Directory.
No changes to the Directory Server will be made this time.
Do you want to continue [y]:
手順 7 でオプション 2 (Schema 2 - ネイティブモード) を選択した場合、DC ルートは「User/Group Root」で入力した値と同じになります。
設定を変更するには、No と入力してスクリプトを再実行します。
続行する場合は、Directory Server のインデックスおよびスキーマを更新するために、comm_dssetup.pl によって次の LDIF ファイルおよびシェルスクリプトが作成されます。(ただし、この時点ではスクリプトは実行されない)
/var/tmp/dssetup_timestamp.ldif
/var/tmp/dssetup_timestamp.sh- スクリプトの実行
続行する場合、メッセージが表示されたときに Yes と答えないと、前の手順で作成したスクリプトを設定プログラムは実行しません。
Yes と入力してここで dssetup_timestamp.sh スクリプトを実行するか、No と入力して終了します。終了する場合、/var/tmp/dssetup_timestamp.sh スクリプトを後で実行できます。
スキーマファイルの手動更新何らかの理由で、comm_dssetup.pl が生成したスクリプトを実行しないと決めた場合は、以下の指示に従い、次のディレクトリサーバーのスキーマファイルを手動で更新できます。
スキーマファイルの更新後に OID の競合が発生した場合は、「LDAP スキーマディレクトリ内の OID 競合の解決」を参照してください。
Sun Directory Server
Calendar Server で使用される Sun Java System Directory Server 5 2004Q2、SunTM ONE Directory Server 5.2 および iPlanetTM Directory Server 5.1 LDAP スキーマ拡張は、60iplanet-calendar.ldif ファイルで定義されています。
Calendar Server のインストールプログラムを使用すると、/opt/SUNWics5/cal/config/schema ディレクトリにこのファイルがインストールされます。
注
LDAP サーバーのスキーマを手動で更新し、あとで Calendar Server をアップグレードした場合、LDAP サーバーのスキーマをもう一度手動で更新する必要があります。スキーマを手動で更新した後は、Calndar Server によってディレクトリサーバーのスキーマが自動的に更新されることはありません。
Directory Server を手動で更新するには
- Calendar Server 6 2004Q2 をインストールします。
- Calendar Server が動作している場合は、停止します。
- Directory Server が動作している場合は、停止します。
- 60iplanet-calendar.ldif ファイルを、ディレクトリサーバーが動作しているマシン上の次のディレクトリにコピーします。
dir_svr_base/slapd-hostname/config/schema
dir_svr_base は Directory Server のインストールディレクトリを示し、hostname はマシンを識別します。
- Directory Server を再起動します。OID エラーが発生した場合は、「LDAP スキーマディレクトリ内の OID 競合の解決」を参照してください。
- csconfiguration.sh プログラムを実行して、Calendar Server を設定します。
Calendar Server の設定方法については、第 3 章「Calendar Server の設定」を参照してください。
Netscape Directory Server
Netscape Directory Server 4.12 または 4.16 の場合は、Calendar Server で使用される LDAP スキーマ拡張が次のファイルで定義されます。
これらのファイルは /opt/SUNWics5/cal/config ディレクトリにあります。
Netscape Directory Server 4.12 または 4.16 を手動で更新するには
- Calendar Server 6.0 をインストールします。
- LDAP スキーマファイル (um50-common-schema.conf と ics50-schema.conf) を /opt/SUNWics5/cal/config ディレクトリから、ディレクトリサーバーが動作しているサーバー上の次のディレクトリにコピーします。
server-root/slapd-hostname/config
hostname はサーバー名を示します。たとえば、Solaris や他の UNIX システムでは、次のようになります。
/usr/Netscape/Server4/slapd-sesta/config
- Calendar Server が動作している場合は、停止します。
- Directory Server が動作している場合は、停止します。
- (um50-common-schema.conf ファイルと ics50-schema.conf ファイルをコピーした、同じディレクトリにある) ns-schema.conf ファイルを編集します。ファイルの末尾に以下のファイルが含まれる行が存在していない場合は、追加します。
Solaris および他の UNIX システムの場合は、次の行を追加します。
include /netscape/server4/slapd-hostname/config/um50-common-schema.conf
include /netscape/server4/slapd-hostname/config/ics50-schema.conf
Windows 2000 システムの場合は、次の行を追加します。
include "C:¥Netscape¥Server4¥slapd-hostname¥config¥um50-common-schema.conf"
include "C:¥Netscape¥Server4¥slapd-hostname¥config¥ics50-schema.conf"
hostname はディレクトリサーバーが動作しているサーバーの名前を示します。
- Netscape Directory Server を再起動します。OID エラーが発生した場合は、「LDAP スキーマディレクトリ内の OID 競合の解決」を参照してください。
- Calendar Server を設定します。
Calendar Server の設定方法については、第 3 章「Calendar Server の設定」を参照してください。
LDAP スキーマディレクトリ内の OID 競合の解決LDAP スキーマディレクトリで Object Identifiers (OID) が競合している場合、Directory Server はどの OID を使用するかを判断できず、エラーメッセージを返します。たとえば、次のメッセージは icsCalendarUser オブジェクトクラスの OID の競合を示します。
[24/Apr/2004:23:45:28 -0700] dse - The entry cn=schema in file 99user.ldif is invalid, error code 20 (Type or value exists) - object class icscalendaruser: The name does not match the OID. Another object class is already using the name or OID.
[24/Apr/2004:23:45:28 -0700] dse - Please edit the file to correct the reported problems and then restart the server.
この問題は Calendar Server 6 2004Q2 をインストールしていて、LDAP サーバースキーマの 99user.ldif ファイルを動的に更新する旧バージョンの Calendar Server も削除していない場合に発生する可能性があります。
OID の競合を解決するには、99user.ldif ファイルを編集して古い OID を削除する必要があります。Calendar Server 6 2004Q2 については、問題を発生する特定の OID を表 2-4 に示します。
表 2-4 LDAP スキーマディレクトリ内の Calendar Server OID
オブジェクトクラス
古い OID
新しい OID
icsCalendarUser
2.16.840.1.113730.3.2.141
1.3.6.1.4.1.42.2.27.9.2.2
icsCalendarResource
2.16.840.1.113730.3.2.143
1.3.6.1.4.1.42.2.27.9.2.3
icsCalendarDomain
2.16.840.1.113730.3.2.144
1.3.6.1.4.1.42.2.27.9.2.4
99user.ldif ファイルを編集したあとで、Directory Server を再起動します。