ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Unified Directory管理者ガイド
11g リリース2 (11.1.2)
B72794-04
  目次へ移動
目次

前
 
次
 

16 サーバーの起動と停止

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

この章には次のトピックが含まれます:

16.1 サーバーの起動

サーバーを起動するには、UNIXシステムまたはLinuxシステムではstart-dsコマンド、Windowsシステムではstart-ds.batコマンドを実行します。デフォルトでは、指定オプションがない場合、start-dsコマンドにより、サーバーはバックグラウンド・プロセスとして起動します。--nodetachオプション付きでstart-dsコマンドを実行すると、サーバーをフォアグラウンド・プロセスとして起動できます。詳細は、付録A「start-ds」を参照してください。

start-dsコマンドは、サーバーの起動時に使用する正しいJava環境を自動的に検出しようとします。Javaインストールのパスを指定して、ディレクトリ・サーバーの起動時にJVMに直接、追加オプションを転送することができます。詳細は、Oracle Fusion Middleware Oracle Unified Directoryインストレーション・ガイドのデフォルトJVMとJava引数の構成に関する項を参照してください。

16.1.1 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
    

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

  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ユーティリティを実行して、ディレクトリ・サーバーを停止できます。

16.1.3 サーバーの再起動

  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
    

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

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

  1. シェル・スクリプトを作成して、次のstart-dsコマンドを追加します。

    INSTANCE_DIR/OUD/bin/start-ds --quiet 
    
  2. スクリプトを実行します。

16.2 サーバーの停止

どのシステム上でも(サーバーがフォアグラウンドで実行している場合でもバックグラウンドで実行している場合でも)、またリモート・システムからでも、次のいずれかの方法でサーバーを停止できます。stop-dsコマンドの詳細は、付録A「stop-ds」を参照してください。

16.2.1 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
    

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

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

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

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

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

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

  1. シェル・スクリプトを作成して、次のstop-dsコマンドを追加します。

    INSTANCE_DIR/OUD/bin/stop-ds --quiet
    
  2. スクリプトを実行します。

16.3 サーバーが起動しているか停止しているかの確認

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

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

  1. 適切なディレクトリに移動します。

    
    (UNIX, Linux)  $ cd INSTANCE_DIR/OUD/bin
    (Windows)      C:\> cd INSTANCE_DIR\OUD\bat
    
  2. status」と入力します。

    
    (UNIX, Linux)  $ status
    (Windows)      C:\> status
    

16.4 非ルート・ユーザーとしてのサーバーの実行

多くのネットワーク・デーモンのように、Oracle Directory Server Enterprise Editionにも、ルート・ユーザーとして起動し、権限を削って、実行機能の少ないユーザーとして実行できるsetuid機能があります。Oracle Unified Directoryには、現在この機能はありません。ただし、非ルート・ユーザーとしてサーバーをインストール、起動および実行できます。この項は、主にUNIXベースのプラットフォームを対象としています。Windowsシステムでは、今までも、管理者以外のユーザーにそれほど多くの制限はかけられていません。

16.4.1 非ルート・ユーザーとしてサーバーを実行する理由

多くの場合、初めから非ルート・ユーザーとしてサーバーを実行できることは、対応するsetuidより機能性に富んでいるため、便利なオプションになります。非ルート・ユーザーとしてサーバーを実行できれば、管理者にとって、操作上よく必要となるシステムへのルート・アクセスが必要なくなるということを意味します。さらに、ルート権限を削った場合には実行できなくなる可能性があることをサーバーが実行できるため、サーバーに対してより多くの管理アクションをオンラインで実行できます。

サーバーが通常はルート・ユーザーで起動または実行される主な理由は、ルート・ユーザーであれば特権ポート(1から1024までのポート)をリスニングできるためです。標準的なLDAP通信用ポートは389、標準的なLDAPS通信用ポートは636です。大部分のUNIXベース・システムでは、ルート・ユーザーのみがこれらのポートをリスニングするプロセスを作成できます。ルート・ユーザーとして起動する理由はほかにもありますが(大量のファイル記述子を使用できるなど)、一般的に、これら他の制限については回避するように構成する方が簡単です。

標準のLDAPポートとLDAPSポートは389と636ですが、サーバーは、これらのポートで実行する必要はありません。環境によっては、ルートとして起動する必要がないという理由により、1024より大きい(1389や1636などの)ポートでサーバーを実行する方が一般的です。実質すべてのLDAP対応クライアントで、サーバーがリスニングするポートを指定できます。クライアント側でサーバーが使用するポートがわかっていれば、どの値でも問題ありません。リスニング・ポートの構成については、第17.1.5.2項「LDAP接続ハンドラの構成」を参照してください。

16.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