| Works
「389 Directory Server」のインストール
仕事で久々にLDAPサーバを構築することになりました。
ただ、最近のRed Hat Enterprise Linuxでは使い慣れたOpenLDAPがサポートされていないという事情もあり、業務上サポートは必須なのでRed Hat Directory Serverを使うことに。
一応、OSS版の389 Directory Serverは使ったことがあるのですが、こちらも触るのはかなり久しぶりなので、リハビリ兼ねてお勉強中です。
長いので何回かに分けて、まずは基本的なインストールからインスタンスの作成まで。
環境
前提として、OSは「Red Hat Enterprise Linux 9(RHEL 9)」を使います。
RHEL9のライフサイクルポリシーだと偶数のマイナーリリースだとExtended Update Supportがあるので、今回は"9.2"とします。
続いて「Red Hat Directory Server(RHDS)」のリースノートを見ると、RHELのリリースと1対1の関係になっているようなので、RHEL 9.2に合わせて"12.2"とします。
RHDSは2台でレプリケーション構成にするので、サーバ2台を準備します。
ここでは以下のようにしました。
ホスト名 | FQDN | IPアドレス |
ds-1 | ds-1.example.com | 172.16.11.51 |
ds-2 | ds-2.example.com | 172.16.11.52 |
インストール
RHELのインストールと初期設定は省略。テスト環境では最小構成でインストールして、いくつかパッケージを追加しています。
ここから少しRHELやRHDS固有の手順。AlmaLinux等のフリーなものなら無視してください。
RHEL環境だとレポジトリへアクセスするためサブスクリプションへの登録が必要なので、これをやっておきます(手順省略)。当然ですが、RHDSのサブスクリプションも購入して使えるようになっている必要があります。
前述のようにRHELのリリースは"9.2"にするので、"dnf update"の時にリリースが最新にならないよう固定しておきます。
続いてRHDSのレポジトリを有効にしますが、レポジトリ名にリリース番号が入っているので注意します。
これも前述の通り"12.2"とします。
レポジトリが有効になったら"dnf"でパッケージをインストールします。
RHDSは"redhat-ds"といモジュールにまとめられています。
これでパッケージのインストールは完了です。
ちなみに、インストールされた"389-ds-base"のバージョンは"2.2.7"でした。
RHEL/RHDS固有の内容はここまで。OSS版なら"389-ds"という名称で提供されているので、それをインストールすればよい。
インスタンスの作成
2台ともパッケージを入れたらインスタンスの作成を実施します。
いくつかやり方はあるのですが、ここでは設定ファイルから作成する方法を取ります。
まず、設定ファイルのテンプレートを次のコマンドで作成します。
テンプレートファイル"instance_name.inf"が作成されたら、このファイルを編集します。
変更するパラメータの行頭にある";"を削除し、必要に応じてパラメータを修正します。
後でレプリケーションするため、固有の値が必要な箇所以外はパラメータを揃えておきます。
以下は今回変更した箇所のみ記載しています。
full_machine_name = ds-1.example.com
instance_name = localhost
port = 389
root_password = password
secure_port = 636
self_sign_cert = True
self_sign_cert_valid_months = 120
create_suffix_entry = True
enable_replication = True
replica_binddn = cn=replication manager,cn=config
replica_bindpw = secret
replica_id = 1
replica_role = supplier
suffix = dc=example,dc=com
パラメータ | 説明 | 備考 |
---|---|---|
full_machine_name | ホスト名(FQDN) | サーバごとに固有の値 |
instance_name | インスタンス名 | |
port | LDAPのTCPポート | |
root_password | "Directory Manager"のパスワード | |
secure_port | LDAPSのTCPポート | |
self_sign_cert | 自己署名証明書を使うか | |
self_sign_cert_valid_months | 自己署名証明書の有効期間 | 単位は月 |
create_suffix_entry | 接尾辞のルートエントリーを作成するか | |
enable_replication | レプリケーションを有効にするか | |
replica_binddn | レプリケーション用DN | |
replica_bindpw | レプリケーション用DNのパスワード | |
replica_id | レプリケーションID | サーバごとに固有の値 |
replica_role | レプリケーションの役割 | |
suffix | 接尾辞 |
LDAPSは自己署名証明書を使って有効にします。
また、最近のバージョンではここでレプリケーション機能も有効にしておけるので、関連パラメータも含めて有効にしています。
設定ファイルの準備ができたら、次のコマンドでインスタンスを作成します。
エラーにならずインスタンスの作成が完了したら、ファイアウォールや自動起動の設定をしておきます。
# firewall-cmd --reload
# systemctl enable dirsrv.target
2台ともここまでできたらインスタンスの作成は完了です。
Cockpitの有効化
RHDS/389-dsではCockpitに統合されたWeb UIが提供されています。
必須ではないですが、ちょっとした操作をしたい時や運用者がCLIに不慣れだったりする場合に便利です。
"cockpit-389-ds"パッケージがインストール済みであれば、以下のコマンドでCockpitを有効にして利用が可能です。
# systemctl enable cockpit.socket
Cockpitへのアクセスは"https://<サーバのIPアドレス/ホスト名>:9090"です。
RHEL 9.2だとデフォルトでは"root"ユーザーでCockpitにログインできないので、おすすめはしませんがどうしてもという場合は"/etc/cockpit/disallowed-users"ファイルから"root"を削除してください。
今回はここまで。(次へ続く)