15 サーバーの起動と停止
15.1 サーバーの起動
サーバーを起動するには、UNIXシステムまたはLinuxシステムではstart-ds
コマンド、Windowsシステムではstart-ds.bat
コマンドを実行します。デフォルトでは、指定オプションがない場合、start-ds
コマンドにより、サーバーはバックグラウンド・プロセスとして起動します。
--nodetach
オプション付きでstart-ds
コマンドを実行すると、サーバーをフォアグラウンド・プロセスとして起動できます。詳細は、「start-ds」を参照してください。
start-ds
コマンドは、サーバーの起動時に使用する正しいJava環境を自動的に検出しようとします。Javaインストールのパスを指定して、ディレクトリ・サーバーの起動時にJVMに直接、追加オプションを転送することができます。詳細は、「デフォルトのJVMおよびJava引数の構成」を参照してください。
この項の内容は次のとおりです。
15.1.1 start-ds
を使用したサーバーの起動
OUDセットアップoud-replication-gateway-setup
、oud-proxy-setup
およびoud-setup
を使用して作成されたOracle Unified Directory (OUD)インスタンスに対して、start-ds
コマンドを使用してサーバーを起動できます。
次のステップに従ってサーバーを起動します。
15.1.2 フォアグラウンド・プロセスとしてのサーバーの起動
適切なディレクトリに移動してからstart-ds
コマンドを使用することで、フォアグラウンド・プロセスとしてサーバーを起動できます。
フォアグラウンド・プロセスとしてサーバーを起動するには:
15.2 サーバーの停止
どのシステム上でも(サーバーがフォアグラウンドで実行している場合でもバックグラウンドで実行している場合でも)、またリモート・システムからでも、次のいずれかの方法でサーバーを停止できます。
次のトピックに従ってサーバーを停止します。
stop-ds
コマンドの詳細は、「stop-ds」を参照してください。
15.2.1 stop-ds
を使用したサーバーの停止
OUDセットアップoud-replication-gateway-setup
、oud-proxy-setup
およびoud-setup
を使用して作成されたOracle Unified Directory (OUD)インスタンスに対してのみ、適切なディレクトリに移動してstop-ds
コマンドを使用することでサーバーを停止できます。
stop-ds
コマンドを使用してサーバーを停止するには:
15.2.2 フォアグラウンドで実行しているサーバーの停止
別のウィンドウからstop-ds
コマンドを実行することで、フォアグラウンドで実行しているサーバーを停止できます。
この手順は、ディレクトリ・サーバーが(-N
または--nodetach
オプションを使用して)フォアグラウンド・プロセスとして実行していることが前提です。
15.4 非ルート・ユーザーとしてのサーバーの実行
多くのネットワーク・デーモンのように、Oracle Directory Server Enterprise Editionにも、ルート・ユーザーとして起動し、権限を削って、実行機能の少ないユーザーとして実行できるsetuid
機能があります。Oracle Unified Directoryには、現在この機能はありません。ただし、非ルート・ユーザーとしてサーバーをインストール、起動および実行できます。
ノート:
この項の内容は、主にUNIXベースのプラットフォームを対象としています。Windowsシステムでは、今までも、管理者以外のユーザーにそれほど多くの制限はかけられていません。
この項には次のトピックが含まれます:
15.4.1 サーバーを非ルート・ユーザーとして実行する理由の理解
多くの場合、初めから非ルート・ユーザーとしてサーバーを実行できることは、対応するsetuid
より機能性に富んだオプションになります。非ルート・ユーザーとしてサーバーを実行できれば、管理者にとって、操作上よく必要となるシステムへのルート・アクセスが必要なくなるということを意味します。さらに、ルート権限を削った場合には実行できなくなる可能性があることをサーバーが実行できるため、サーバーに対してより多くの管理アクションをオンラインで実行できます。
サーバーが通常はルート・ユーザーで起動および実行される主な理由は、ルート・ユーザーであれば特権ポート(1から1024までのポート)をリスニングできるためです。標準的なLDAP通信用ポートは389、標準的なLDAPS通信用ポートは636です。大部分のUNIXベース・システムでは、ルート・ユーザーのみがこれらのポートをリスニングするプロセスを作成できます。ルート・ユーザーとして起動する理由はほかにもありますが(大量のファイル記述子を使用できるなど)、一般的に、これら他の制限については回避するように構成する方が簡単です。
標準のLDAPポートとLDAPSポートは389と636ですが、サーバーは、これらのポートで実行する必要はありません。環境によっては、ルートとして起動する必要がないという理由により、1024より大きい(1389や1636などの)ポートでサーバーを実行する方が一般的です。実質すべてのLDAP対応クライアントで、サーバーがリスニングするポートを指定できます。クライアント側でサーバーが使用するポートがわかっていれば、どの値でも問題ありません。リスニング・ポートの構成の詳細は、「LDAP接続ハンドラのプロパティの表示」を参照してください。
15.4.2 標準LDAPポートでの非ルート・ユーザーとしてのサーバーの実行
クライアント側で、サーバーがポート389または636をリスニングすることを必要としている場合でも、他のオプションがあります。最適なオプションは、Solaris 10以降のSolarisシステムで有効な方法で、プロセス権限管理サブシステム(最小権限とも呼ばれます)を使用します。Solarisの特権サブシステムは、非ルート・ユーザーとロールに、通常はルート・ユーザーにのみ実行可能な機能を提供できます(特権サブシステムがサーバー内で許可しているようなものです)。
特に、net_privaddr
権限によって、特権ポートにバインドできるユーザーが制御されます。この権限が非ルート・ユーザーに付与された場合、そのユーザーは特権ポートにバインドできます。
この権限をユーザーに構成するには、ルート・ユーザーとして次のコマンドを実行します:
# usermod -K defaultpriv=basic,net_privaddr,sys_resource,-proc_info,-file_link_any oud
このコマンドは、oud
ユーザーが、basic
権限セット(非ルート・ユーザーがデフォルトで持っている権限)で起動できるように構成します。次に、net_privaddr
権限とsys_resource
権限を追加します。この権限により、使用可能なファイル記述子の数が増えるなどします。proc_info
権限(他のユーザーが所有するプロセスを表示できる権限)とfile_link_any
権限(自分が所有していないファイルへのハード・リンクを作成する権限)を削除します。このコマンドを実行した後、oud
ユーザーは、特権ポートをリスニングするサーバーを起動できるようになります。
最小権限のような機能を持っていないシステムでも、起動するためにルート権限を要求することなく、389または636などの特権ポートでサーバーを公開することができます。非特権ポートでサーバーを実行し、特権ポートをリスニングするディレクトリ・プロキシ・サーバーを使用して、通信を非特権ポートのサーバーに転送するという方法もあります。同じ目的のためにネットワーク・ハードウェアを使用したり、同じシステム上でファイアウォール・ルールを設定する方法もあります。
たとえば、Linuxシステムで次のコマンドを使用して、ポート389をターゲットとするトラフィックをポート1389にリダイレクトできます:
# iptables --append PREROUTING --table nat --protocol tcp --dport 389 \ --jump REDIRECT --to-port 1389 # iptables -t nat -A OUTPUT -p tcp --dport 389 -j DNAT --to :1389
15.5 ドメイン内で作成されたOracle Unified Directoryインスタンスの起動および停止
コマンド行インタフェースおよびWebLogic Scripting Tool (WLST)コマンドを使用して、Oracle Unified Directory (OUD)インスタンスを起動および停止できます。
ノート:
ドメイン内でOUDインスタンスを作成した場合、start-ds
またはstop-ds
コマンドを使用してインスタンスを起動または停止することはお薦めしません。これらのコマンドは、OUDセットアップoud-replication-gateway-setup
、oud-proxy-setup
およびoud-setup
を使用してOUDインスタンスを作成した場合にのみ使用します。ドメイン内で作成されたインスタンスは、コマンド行からstartComponent.sh
およびstopComponent.sh
コマンドを使用するか、WLSTコマンドを使用して起動または停止する必要があります。
関連項目:
この項の内容は次のとおりです。
15.5.1 Oracle Unified Directoryインスタンスの起動
コマンド行インタフェースおよびWebLogic Scripting Tool (WLST)コマンドを使用して、Oracle Unified Directory (OUD)インスタンスを起動できます。
ノート:
WLSTを使用して作成されたOUDインスタンスでのみ、起動コマンドを実行できます。これらの処理を実行する前に、次のように./startNodeManager.sh
コマンドを使用してNodeManagerを起動する必要があります。
cd $DOMAIN_HOME/bin
Run ./startNodeManager.sh
この項では、次の項目について説明します。
15.5.1.1 コマンド行を使用したOracle Unified Directoryインスタンスの起動
コマンド行インタフェースを使用して、Oracle Unified Directory (OUD)インスタンスを起動できます。
コマンド行インタフェースから次のコマンドを実行して、OUDインスタンスを起動します。
たとえば:
$DOMAIN_HOME/bin/startComponent.sh oud1
oud1
は、WLSTを使用して作成されたインスタンス名/サーバー名です
15.5.1.2 WebLogic Scripting Toolコマンドを使用したOracle Unified Directoryインスタンスの起動
WebLogic Scripting Tool (WLST)コマンドを使用して、Oracle Unified Directory (OUD)インスタンスを起動できます。
ノート:
インスタンスを起動または停止する前に、次のようにNodeManagerに接続する必要があります。nmConnect(domainName='base_domain',username='weblogic',password='password')
次のWLSTコマンドを実行して、OUDインスタンスを起動します。
nmStart(serverName='oud1',serverType='OUD')
15.5.2 Oracle Unified Directoryインスタンスの停止
コマンド行インタフェースおよびWebLogic Scripting Tool (WLST)コマンドを使用して、Oracle Unified Directory (OUD)インスタンスを停止できます。
ノート:
WLSTを使用して作成されたOUDインスタンスでのみ、停止コマンドを実行できます。これらの処理を実行する前に、次のように./startNodeManager.sh
コマンドを使用してNodeManagerを起動する必要があります。
cd $DOMAIN_HOME/bin
Run ./startNodeManager.sh
15.5.2.1 コマンド行を使用したOracle Unified Directoryインスタンスの停止
コマンド行インタフェースを使用して、Oracle Unified Directory (OUD)インスタンスを停止できます。
コマンド行インタフェースから次のコマンドを実行して、OUDインスタンスを停止します。
たとえば:
$DOMAIN_HOME/bin/stopComponent.sh oud1
oud1
は、WLSTを使用して作成されたインスタンス名/サーバー名です
15.5.2.2 WebLogic Scripting Toolコマンドを使用したOracle Unified Directoryインスタンスの停止
WebLogic Scripting Tool (WLST)コマンドを使用して、Oracle Unified Directory (OUD)インスタンスを停止できます。
ノート:
インスタンスを起動または停止する前に、次のようにNodeManagerに接続する必要があります。nmConnect(domainName='base_domain',username='weblogic',password='password')
次のWLSTコマンドを実行して、OUDインスタンスを停止します。
nmKill(serverName='oud1',serverType='OUD')