15 サーバーの起動と停止

これらのトピックでは、Oracle Unified Directoryディレクトリ・サーバー、プロキシ・サーバーおよびレプリケーション・ゲートウェイ・インスタンスに適用される基本的な手順について説明します。

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-setupoud-proxy-setupおよびoud-setupを使用して作成されたOracle Unified Directory (OUD)インスタンスに対して、start-dsコマンドを使用してサーバーを起動できます。

次のステップに従ってサーバーを起動します。

  1. 適切なディレクトリに移動します。
    
    (UNIX, Linux)  $ cd INSTANCE_DIR/OUD/bin
    (Windows)      C:\> cd INSTANCE_DIR\OUD\bat
    
  2. start-ds」と入力します。
    
    (UNIX, Linux)  $ start-ds
    (Windows)      C:\> start-ds
    

15.1.2 フォアグラウンド・プロセスとしてのサーバーの起動

適切なディレクトリに移動してからstart-dsコマンドを使用することで、フォアグラウンド・プロセスとしてサーバーを起動できます。

フォアグラウンド・プロセスとしてサーバーを起動するには:

  1. 適切なディレクトリに移動します。
    
    (UNIX, Linux)  $ cd INSTANCE_DIR/OUD/bin
    (Windows)      C:\> cd INSTANCE_DIR\OUD\bat
    
  2. -Nまたは--nodetach付きで「start-ds」と入力します。
    
    (UNIX, Linux)  $ start-ds --nodetach
    (Windows)      C:\> start-ds --nodetach
    

    サーバーが実行しているターミナル・ウィンドウで[Ctrl]を押しながら[C]を押すか、別のウィンドウからstop-dsユーティリティを実行して、ディレクトリ・サーバーを停止できます。

15.1.3 サーバーの再起動

インストール・ディレクトリに移動して--restartコマンドを使用することで、サーバーを再起動できます。

サーバーを再起動するには:

  1. インストール・ディレクトリに移動します。
    
    (UNIX, Linux)  $ cd INSTANCE_DIR/OUD/bin
    (Windows)      C:\> cd INSTANCE_DIR\OUD\bat 
    
  2. -Rまたは--restart付きで「stop-ds」と入力します。
    
    (UNIX, Linux)  $ stop-ds --restart
    (Windows)      C:\> stop-ds --restart
    

15.1.4 スクリプトを使用したサーバーの起動(UNIX/Linux)

start-dsコマンドには、重大なエラーが発生しないかぎり起動プロセス中の出力を抑制するquietオプション(-Qまたは--quiet)があります。起動スクリプトでこのオプションを使用できます。

スクリプトを使用してサーバーを起動するには:

  1. シェル・スクリプトを作成して、次のstart-dsコマンドを追加します。
    INSTANCE_DIR/OUD/bin/start-ds --quiet 
    
  2. スクリプトを実行します。

15.2 サーバーの停止

どのシステム上でも(サーバーがフォアグラウンドで実行している場合でもバックグラウンドで実行している場合でも)、またリモート・システムからでも、次のいずれかの方法でサーバーを停止できます。

次のトピックに従ってサーバーを停止します。

stop-dsコマンドの詳細は、「stop-ds」を参照してください。

15.2.1 stop-dsを使用したサーバーの停止

OUDセットアップoud-replication-gateway-setupoud-proxy-setupおよびoud-setupを使用して作成されたOracle Unified Directory (OUD)インスタンスに対してのみ、適切なディレクトリに移動してstop-dsコマンドを使用することでサーバーを停止できます。

stop-dsコマンドを使用してサーバーを停止するには:

  1. 適切なディレクトリに移動します。
    (UNIX, Linux)  $ cd INSTANCE_DIR/OUD/bin
    (Windows)         C:\> cd INSTANCE_DIR\OUD\bat
    
  2. stop-ds」と入力します
    
    (UNIX, Linux)  $ stop-ds
    (Windows)      C:\> stop-ds
    

15.2.2 フォアグラウンドで実行しているサーバーの停止

別のウィンドウからstop-dsコマンドを実行することで、フォアグラウンドで実行しているサーバーを停止できます。

この手順は、ディレクトリ・サーバーが(-Nまたは--nodetachオプションを使用して)フォアグラウンド・プロセスとして実行していることが前提です。

  1. ターミナル・ウィンドウ(UNIX)または「コマンド プロンプト」ウィンドウ(Windows)で[Ctrl]を押しながら[C]を押して、サーバーを停止します。

    または、別のウィンドウからstop-dsコマンドを実行します。

15.2.3 スクリプトを使用したサーバーの停止(UNIX/Linux)

stop-dsコマンドには、重大なエラーが発生しないかぎり停止プロセス中の出力を抑制するquietオプション(-Qまたは--quiet)があります。シャットダウン・スクリプトでこのオプションを使用できます。

スクリプトを使用してサーバーを停止するには:

  1. シェル・スクリプトを作成して、次のstop-dsコマンドを追加します。
    INSTANCE_DIR/OUD/bin/stop-ds --quiet
    
  2. スクリプトを実行します。

15.3 サーバー・ステータスの確認

statusコマンドを使用して、サーバーが起動しているか停止しているかをいつでも確認できます。

サーバー・ステータスを確認するには:

  1. 適切なディレクトリに移動します。
    
    (UNIX, Linux)  $ cd INSTANCE_DIR/OUD/bin
    (Windows)      C:\> cd INSTANCE_DIR\OUD\bat
    
  2. status」と入力します
    
    (UNIX, Linux)  $ status
    (Windows)      C:\> status
    

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-setupoud-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')