この章では、サーバー・インスタンスの起動と停止の基本的な手順について説明します。この章で説明する手順は、Oracle Unified Directoryディレクトリ・サーバー、プロキシ・サーバーおよびレプリケーション・ゲートウェイ・インスタンスに適用されます。
この章には次のセクションが含まれます:
サーバーを起動するには、UNIXシステムまたはLinuxシステムではstart-ds
コマンド、Windowsシステムではstart-ds.bat
コマンドを実行します。デフォルトでは、指定オプションがない場合、start-ds
コマンドにより、サーバーはバックグラウンド・プロセスとして起動します。--nodetach
オプション付きでstart-ds
コマンドを実行すると、サーバーをフォアグラウンド・プロセスとして起動できます。詳細は、付録A「start-ds」を参照してください。
start-ds
コマンドは、サーバーの起動時に使用する正しいJava環境を自動的に検出しようとします。Javaインストールのパスを指定して、ディレクトリ・サーバーの起動時にJVMに直接、追加オプションを転送することができます。詳細は、Oracle Unified DirectoryのインストールのデフォルトのJVMおよびJava引数の構成に関する項を参照してください。
この項の内容は次のとおりです。
start-ds
を使用したサーバーの起動start-dsコマンドを使用してサーバーを起動するには、次のようにします。
適切なディレクトリに移動します。
(UNIX, Linux) $cd INSTANCE_DIR/OUD/bin
(Windows) C:\>cd INSTANCE_DIR\OUD\bat
「start-ds
」と入力します。
(UNIX, Linux) $ start-ds (Windows) C:\> start-ds
適切なディレクトリに移動します。
(UNIX, Linux) $cd INSTANCE_DIR/OUD/bin
(Windows) C:\>cd INSTANCE_DIR\OUD\bat
-N
または--nodetach
付きで「start-ds
」と入力します。
(UNIX, Linux) $start-ds --nodetach
(Windows) C:\>start-ds --nodetach
サーバーが実行しているターミナル・ウィンドウで[Ctrl]
を押しながら[C]を押すか、別のウィンドウからstop-ds
ユーティリティを実行して、ディレクトリ・サーバーを停止できます。
インストール・ディレクトリに移動します。
(UNIX, Linux) $cd INSTANCE_DIR/OUD/bin
(Windows) C:\>cd INSTANCE_DIR\OUD\bat
-R
または--restart
付きで「stop-ds
」と入力します。
(UNIX, Linux) $stop-ds --restart
(Windows) C:\>stop-ds --restart
start-ds
コマンドには、重大なエラーが発生しないかぎり起動プロセス中の出力を抑制するquietオプション(-Q
または--quiet
)があります。起動スクリプトでこのオプションを使用できます。
シェル・スクリプトを作成して、次のstart-ds
コマンドを追加します。
INSTANCE_DIR/OUD/bin/start-ds --quiet
スクリプトを実行します。
どのシステム上でも(サーバーがフォアグラウンドで実行している場合でもバックグラウンドで実行している場合でも)、またリモート・システムからでも、次のいずれかの方法でサーバーを停止できます。stop-ds
コマンドの詳細は、付録A「stop-ds」を参照してください。
この項の内容は次のとおりです。
stop-ds
を使用したサーバーの停止適切なディレクトリに移動します。
(UNIX, Linux) $cd INSTANCE_DIR/OUD/bin
(Windows) C:\>cd INSTANCE_DIR\OUD\bat
「stop-ds
」と入力します。
(UNIX, Linux) $stop-ds
(Windows) C:\>stop-ds
この手順は、ディレクトリ・サーバーが(-N
または--nodetach
オプションを使用して)フォアグラウンド・プロセスとして実行していることが前提です。
ターミナル・ウィンドウ(UNIX)または「コマンド プロンプト」ウィンドウ(Windows)で[Ctrl]を押しながら[C]を押して、サーバーを停止します。
または、別のウィンドウからstop-ds
コマンドを実行します。
stop-ds
コマンドには、重大なエラーが発生しないかぎり停止プロセス中の出力を抑制するquietオプション(-Q
または--quiet
)があります。シャットダウン・スクリプトでこのオプションを使用できます。
シェル・スクリプトを作成して、次のstop-ds
コマンドを追加します。
INSTANCE_DIR/OUD/bin/stop-ds --quiet
スクリプトを実行します。
status
コマンドを使用して、サーバーが起動しているか停止しているかをいつでも確認することができます。
適切なディレクトリに移動します。
(UNIX, Linux) $cd INSTANCE_DIR/OUD/bin
(Windows) C:\>cd INSTANCE_DIR\OUD\bat
「status
」と入力します。
(UNIX, Linux) $ status (Windows) C:\> status
多くのネットワーク・デーモンのように、Oracle Directory Server Enterprise Editionにも、ルート・ユーザーとして起動し、権限を削って、実行機能の少ないユーザーとして実行できるsetuid
機能があります。Oracle Unified Directoryには、現在この機能はありません。ただし、非ルート・ユーザーとしてサーバーをインストール、起動および実行できます。
注意: この項の内容は、主にUNIXベースのプラットフォームを対象としています。Windowsシステムでは、今までも、管理者以外のユーザーにそれほど多くの制限はかけられていません。 |
多くの場合、初めから非ルート・ユーザーとしてサーバーを実行できることは、対応するsetuid
より機能性に富んでいるため、便利なオプションになります。非ルート・ユーザーとしてサーバーを実行できれば、管理者にとって、操作上よく必要となるシステムへのルート・アクセスが必要なくなるということを意味します。さらに、ルート権限を削った場合には実行できなくなる可能性があることをサーバーが実行できるため、サーバーに対してより多くの管理アクションをオンラインで実行できます。
サーバーが通常はルート・ユーザーで起動および実行される主な理由は、ルート・ユーザーであれば特権ポート(1から1024までのポート)をリスニングできるためです。標準的なLDAP通信用ポートは389、標準的なLDAPS通信用ポートは636です。大部分のUNIXベース・システムでは、ルート・ユーザーのみがこれらのポートをリスニングするプロセスを作成できます。ルート・ユーザーとして起動する理由はほかにもありますが(大量のファイル記述子を使用できるなど)、一般的に、これら他の制限については回避するように構成する方が簡単です。
標準のLDAPポートとLDAPSポートは389と636ですが、サーバーは、これらのポートで実行する必要はありません。環境によっては、ルートとして起動する必要がないという理由により、1024より大きい(1389や1636などの)ポートでサーバーを実行する方が一般的です。実質すべてのLDAP対応クライアントで、サーバーがリスニングするポートを指定できます。クライアント側でサーバーが使用するポートがわかっていれば、どの値でも問題ありません。リスニング・ポートの構成については、第17.1.5.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