2.4. non-root ユーザーとして新しいインスタンスを設定
root 権限がない場合は、非 root ユーザーとして Directory Server のインストールを実行できます。この方法を使用して、Directory Server をテストし、LDAP アプリケーションを開発します。ただし、non-root ユーザーが実行するインスタンスには、次のような制限があることに注意してください。
- Simple Network Management Protocol (SNMP) はサポートしていません。
- 1024 以上のポートのみを使用できます。
2.4.1. 非 root ユーザーとして Directory Server をインストールするための環境の準備 リンクのコピーリンクがクリップボードにコピーされました!
非 root ユーザーの場合は、Directory Server インスタンスを作成して管理する前に、dscreate ds-root コマンドを使用して適切な環境を準備する必要があります。
前提条件
-
rootユーザーとして Directory Server パッケージをインストールしている。
手順
PATH 変数に
$HOME/binがあることを確認します。そうでない場合は、以下を行います。~/.bash_profileファイルに以下を追加します。PATH="$HOME/bin:$PATH"~/bash_profileファイルを再読み込みします。$ source ~/.bash_profile
カスタムの場所を使用するようにインスタンス作成環境を設定します。
$ dscreate ds-root $HOME/dsroot $HOME/binこのコマンドは、標準のインストールパスを
$HOME/dsroot/に置き換え、標準の Directory Server 管理ユーティリティーのコピーを$HOME/bin/ディレクトリーに作成します。シェルが新しいパスを使用するようにするには、以下を行います。
キャッシュをクリアします。
$ hash -r dscreateシェルがコマンドへの正しいパスを使用していることを確認します。
$ which dscreate ~/bin/dscreate
dscreate コマンドで、シェルが /usr/bin/dscreate の代わりに $HOME/bin/dscreate を使用するようになりました。
2.4.2. non-root ユーザーとして新しいインスタンスをインストール リンクのコピーリンクがクリップボードにコピーされました!
root 権限なしで Directory Server をインストールする場合、対話型インストーラを使用できます。インストール後、Directory Server はカスタムの場所にインスタンスを作成し、ユーザーは通常どおり dscreate、dsctl、dsconf ユーティリティーを実行できます。
前提条件
- non-root インストール用の環境を準備している。
-
firewall-cmdユーティリティーを使用するためのsudo権限がある (外部から Directory Server インスタンスを使用できるようにする場合)。
手順
対話型インストーラーを使用したインスタンスの作成
対話型インストーラーを起動します。
$ dscreate interactive対話型インストーラーの質問に答えます。
インストーラーのほとんどの質問の後ろにある角括弧内に表示されるデフォルト値を使用するには、値を入力せずに Enter キーを押します。
注記インストール中に、1024 より大きい インスタンスポートとセキュアポートの番号 (たとえば 1389 と 1636) を選択する必要があります。選択しない場合、ユーザーは特権ポート (1-1023) にバインドするパーミッションを持ちません。
Install Directory Server (interactive mode) =========================================== Non privileged user cannot use semanage, will not relabel ports or files. Selinux support will be disabled, continue? [yes]: yes Enter system's hostname [server.example.com]: Enter the instance name [server]: instance_name Enter port number [389]: 1389 Create self-signed certificate database [yes]: Enter secure port number [636]: 1636 Enter Directory Manager DN [cn=Directory Manager]: Enter the Directory Manager password: password Confirm the Directory Manager Password: password Choose whether mdb or bdb is used. [bdb]:注記デフォルトでは、Directory Server は Berkeley Database (BDB)でインスタンスを作成します。Directory Server 12.5 以降のテクノロジープレビューである LMDB インスタンスをインストールするには、
mdbを設定し、次のステップで LMDB データベースサイズをバイト単位で設定します。Enter the database suffix (or enter "none" to skip) [dc=server,dc=example,dc=com]: dc=example,dc=com Create sample entries in the suffix [no]: Create just the top suffix entry [no]: yes Do you want to start the instance after the installation? [yes]: Are you ready to install? [no]: yes注記クリアテキストでパスワードを設定する代わりに、
pwdhashユーティリティーで生成された{algorithm}hash文字列を設定できます。以下に例を示します。Enter the Directory Manager password: {PBKDF2-SHA512}100000$Haw7UDcBKUBejEjOTVHbiefT6cokHLo2$PeoP7W3B92Jzby7DGRkicovTN4LDGhnsC4EWCsv6crA2KA0Xn6rxPePX9UXhlM2utOPSQHeVpZzscNTx+fGi7A==
オプション: 外部から Directory Server インスタンスを使用できるようにする場合、以下を行います。
ファイアウォールでポートを開きます。
# sudo firewall-cmd --permanent --add-port={1389/tcp,1636/tcp}ファイアウォール設定を再読み込みします。
# sudo firewall-cmd --reload
検証
ldapsearchコマンドを実行して、ユーザーがインスタンスに接続できることをテストします。$ ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com:1389 -b "dc=example,dc=com" -s sub -x "(objectclass=*)"