Contents
Overview
389 Directory Server を使用して LDAP サーバーを構築します。本稿ではインスタンスの作成と起動までを行います。389 Directory Server はポート番号単位で複数のインスタンスを作成でき、プロセスの起動もインスタンス単位となります。
前提条件
- こちらを参考に基本設定が完了していること。
インストール
389 Directory Server をインストールします。
myadmin@ubuntu:~$ sudo apt -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold install 389-ds-base
INF ファイルの作成
INF ファイルのテンプレートを作成します。作成先のディレクトリは任意です。CentOS 8 で 389 Directory Server を構築した際はこの方法を知らず Cockpit からインスタンスを作成していましたが、CentOS 8 でも同じ方法をとれます。
myadmin@ubuntu:~$ dscreate create-template ~/work/ldap/main.inf
デフォルト値
デフォルト値は下記の通りです。一部手動で調整して記載しています。
myadmin@ubuntu:~$ grep -v -e '^\s*#' -e '^\s*$' ~/work/ldap/main.inf | expand | tr -s [:space:] | sed 's/^\s/ /g'
[general]
;defaults = 999999999
;full_machine_name = ubuntu.si1230.com
;start = True
;strict_host_checking = False
[slapd]
;instance_name = localhost
;ldapi = /run/slapd-{instance_name}.socket
;port = 389
;root_password = Directory_Manager_Password
;secure_port = 636
;self_sign_cert = True
;self_sign_cert_valid_months = 24
[backend-userroot]
;create_suffix_entry = False
;require_index = False
;sample_entries = no
;suffix =
設定値
設定例は下記の通りです。
myadmin@ubuntu:~$ tee ~/work/ldap/main.inf <<"EOF"
[general]
full_machine_name = ldap.si1230.com
[slapd]
instance_name = main
root_password = password
self_sign_cert = False
[backend-userroot]
suffix = dc=si1230,dc=com
EOF
インスタンスの作成と起動状態の確認
インスタンスを作成します。
myadmin@ubuntu:~$ sudo dscreate from-file ~/work/ldap/main.inf
インスタンスは作成に成功すると自動的に起動します。systemctl で status を確認します。
myadmin@ubuntu:~$ systemctl status dirsrv@main.service
インスタンスの削除
インスタンスを削除する場合は下記を実行します。
myadmin@ubuntu:~$ sudo dsctl main remove --do-it
正常性確認
LDAP への接続を確認します。-H を接続先を指定しない場合は localhost に接続されますが、後述の TLS 接続の場合は FQDN が必須となる為、localhost の場合でもコマンドのテンプレートとして -H を使用するほうが良いでしょう。もちろん、DNS, hosts 等で名前解決をできるようにしておきます。
myadmin@ubuntu:~$ ldapsearch -H ldap://ldap.si1230.com -D "cn=Directory Manager" -W -b cn=config
-w オプションにすることでコマンド内にパスワードを含めることができます。以降の LDAP 関連のドキュメントでは -w で記載しています。通常利用は推奨しませんが、状況に応じて使い分けて下さい。
myadmin@ubuntu:~$ ldapsearch -H ldap://ldap.si1230.com -D "cn=Directory Manager" -w password -b cn=config
次のステップ
389 Directory Server LDAP サーバー構築 #2 TLS 有効化