オープンソース

389 Directory Serverのインストール

389 Direcotry Serverは、CentOS8では389-dsという名称でパッケージが提供されています。ここでは、389 Directory Serverのインストール方法から、389 Directory Serverの初期セットアップの方法までを解説します。

パッケージのインストール

CentOS 8では、389 Directory ServerをAppStreamのモジュールとして提供しています。ただし、389 Directory Serverのモジュールは、標準では有効になっていないため、最初にモジュールを有効にする必要があります。

# dnf module enable 389-ds⏎

389 Directory Serverのモジュールを有効にしたら、次のようにモジュールの状態を表示することができます。

# dnf module list 389-ds⏎
メタデータの期限切れの最終確認: 0:03:15 時間前の 2020年04月23日 15時45分56秒 に実施しました。
CentOS-8 - AppStream
Name            Stream           Profiles         Summary
389-ds          1.4 [e]                           389 Directory Server (base)

ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled

モジュールを有効にしても、389-dsにはモジュールプロファイルが用意されていません。そのため、389 Directory Serverをインストールするためには、次のように個別にパッケージ名を指定してインストールを行う必要があります。

# dnf install 389-ds-base⏎

389 Directory Serverの初期設定

モジュールをインストールしたら、最初に389 Directory Serverの初期セットアップを行います。389 Directory Serverでは、設定を簡易化するためにdscreateコマンドが用意されています。以下のようにdscrate interactiveを実行すると、対話型の質問形式でセットアップを行うことができ、自動的に389 Directory Serverのインスタンスが動作するのに必要な設定ファイルが作成されます。各質問には、デフォルト値が用意されているので、特に問題なければ、そのままEnterを入力していきます。

# dscreate interactive⏎
Install Directory Server (interactive mode)
===========================================

Enter system's hostname [centos81.nscg.jp]: 	← ホスト名

Use strict hostname verification (set to "no" if using GSSAPI behind a load balancer) [yes]: yes

Enter the instance name [centos81w]: designet ⏎	← インスタンス名

Enter port number [389]: 	← ポート番号

Create self-signed certificate database [yes]:	← TLS自己署名証明書を作成するか

Enter secure port number [636]: 	← TLS用ポート番号

Enter Directory Manager DN [cn=Directory Manager]: 	← ディレクトリ管理者のDN

Enter the Directory Manager password: ********	← ディレクトリ管理者のパスワード
Confirm the Directory Manager Password:  ********	← パスワードの再入力

Enter the database suffix (or enter "none" to skip) [dc=centos81w,dc=designet,dc=jp]: dc=designet,dc=jp	← ルートDN

Create sample entries in the suffix [no]: 	← サンプルのエントリを作成するか?

Create just the top suffix entry [no]: yes ⏎	← ルートDNのエントリを作成するか?

Do you want to start the instance after the installation? [yes]: 	← インストール後サービスを起動するか?

Are you ready to install? [no]: yes ⏎	← インストールを行うか?

Starting installation...
Created symlink /etc/systemd/system/multi-user.target.wants/dirsrv@designet.service → /usr/lib/systemd/system/dirsrv@.service.	← 自動起動設定
Completed installation for designet	← インストール成功

この例では、「designet」という名称の389 Directory Serverのインスタンスを作成しました。複数のインスタンスを作成したい場合には、同じ手順でインスタンスを追加することが可能です。

389 Directory Serverの起動

systemctlコマンドを使って、389 Directory Serverを起動します。389 Directory Serverのサービス名は、dirsrv@<instance>.serviceとなります。

# systemctl start dirsrv@designet.service⏎

389 Directory Serverへのデータ投入

CentOS版の389 Directory Serverには、GUI管理画面が付属していません。そのため、OpenLDAPなどと同様にリモートからLDAPサーバにアクセスして、データの追加、更新、削除、検索を行います。データ管理には、ldapadd、ldapmodify、ldapdelete、ldapsearchなどのLDAPツールを使います。CentOSでは、LDAPツールにはOpenLDAPを採用しています。次のように、LDAPクライアントをインストールします。

# dnf install openldap-client⏎

389 Directory Serverの管理

389 Directory Serverは、OpenLDAPと同様にLDAP手順を使って、リモートから接続して設定を変更することができます。設定は、cn=configというエントリに保管されています。

$ ldapsearch -LLL -x -D "cn=Directory Manager" -b cn=config -s base -W⏎
Enter LDAP Password:  ********* ⏎	← ディレクトリ管理者のパスワード
dn: cn=config
cn: config
objectClass: top
objectClass: extensibleObject
objectClass: nsslapdConfig
nsslapd-backendconfig: cn=config,cn=userroot,cn=ldbm database,cn=plugins,cn=co
 nfig
nsslapd-betype: ldbm database
nsslapd-privatenamespaces: cn=schema
  :

例えばアクセスログのログレベルを調整する場合には、次のようなLDIFファイルを用意します。

loglevel.ldif

dn: cn=config
changetype: modify
replace: nsslapd-accesslog-level
nsslapd-accesslog-level: 512

次のようにldapmodifyを使って設定を変更することができます。

$ ldapmodify -D "cn=Directory Manager" -W -f accesslog-level.ldif⏎

設定の詳細

デージーネットは、秀和システムから発行されているサーバ構築ガイドシリーズの執筆に参加しています。「CentOS 8で作るサーバ構築ガイド」では、389 Direcotry Serverを使ったLDAPサーバの構築方法や管理方法について、詳しく解説しています。(近日発売予定)

「情報の一覧」

389 Directory Serverを利用したLDAPサーバ事例

389 Directory Serverを利用したLDAPサーバ事例

デージーネットでケーブルテレビの契約ユーザ向けのLDAPサーバのリプレースを行いました。これまで使用してきた389 Directory ServerからOpenLDAPへリプレースしようとしましたが、設定上、うまくいかないことがあり、新サーバでも389 Directory Serverを採用することになりました。旧サーバの環境で利用していたLDAPのデータもすべて移行しました。

https://www.designet.co.jp/system/oss.php?category=auth&id=8

389 Directory Server調査報告書

389 Directory Server調査報告書

389 Directory Serverはオープンソースのディレクトリサーバです。OpenLDAPサーバに替わるLDAPソフトウェアとして注目されています。本書では、インストールや基本的な管理方法を紹介しています。

https://www.designet.co.jp/download/#authentication

デモのお申込み

もっと使い方が知りたい方へ
操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。デモをご希望の方は、下記よりお申込みいただけます。


デモをご希望の方

デモの申し込みイメージ


OSS情報「389 Directory Serve」

389 Directory Serverのインストールの先頭へ