オープンソース

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⏎

設定の詳細

デージーネットは、秀和システムから発行されているサーバ構築ガイドシリーズの執筆に参加しています。「入門LDAP/OpenLDAP ディレクトリサービス導入・運用ガイド」では、389 Direcotry Serverを使ったLDAPサーバの構築方法や管理方法について、詳しく解説しています。

「情報の一覧」

389 Directory Server調査報告書

389 Directory Server調査報告書

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

LDAPサーバ管理UI調査報告書

LDAPサーバ管理UI調査報告書

LDAPとは、ディレクトリサービスのための標準プロトコルです。LDAPを使い、ディレクトリサービスを提供するソフトウェアやシステムを、LDAPサーバと呼びます。本書は、OSSのLDAPサーバの管理UIの現状についてまとめたものです。

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

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

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

Cockpitのアプリケーション

OSS情報(Cockpit)

389 Directory Serverは非常に多機能ですが、その分設定が複雑で難しいです。Linuxシステムのサーバ管理用WebインタフェースのCockpitと連携させることで、389dsサーバの管理をWeb UIから行えるようになります。もともと日本語には対応していませんでしたが、デージーネットでは、日本語化を行いました。

LDAPサーバでパスワード管理の課題を解決〜OpenLDAP〜

OSS情報(OpenLDAP)

OpenLDAPは、多くの企業でユーザデータの管理などに広く利用されています。389 Directory Serverと共通点が多く機能的に似ている部分もあります。しかしOpenLDAPは英語にしか対応しておらず、管理ツールがないといった違いがあります。

LDAPデータ管理のOSS比較 7選

LDAPデータ管理

LDAPサーバは、企業内では特にユーザ情報の管理や認証の基盤として使用されています。しかし、OSSのLDAPサーバのソフトウェアには、LDAPのデータを管理するためのGUIが付属しておらず、標準ではコマンドラインの操作が必要です。ここでは、LDAPサーバのデータを管理するためのOSSを紹介します。

デモのお申込み

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

デモをご希望の方

デモの申し込みイメージ


OSS情報「389 Directory Serve」

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