オープンソース

OpenLDAPサーバ インストール・構築方法

RedHat Enterprise Linux、CentOS、Debian、UbuntuなどのLinuxディストリビューションでは、OpenLDAPはパッケージとして提供されています。しかし、最近のOpenLDAPは、各ディストリビューションが採用しているバージョンよりも改良されていて、バックエンドのデータベースもより高速なものに置き換えられています。ここでは、ソースコードからのインストール方法について解説します。

OpenLDAPのソースコードのダウンロード

OpenLDAPのソースコードは、次のURLからダウンロードできます。

http://www.openldap.org/

ソースコードをダウンロードしたら、展開します。

$ tar xvzf openldap-2.4.45.tgz ⏎

LDAPサーバのコンパイルとインストール

展開したディレクトリに移動します。

$ cd openldap-2.4.45 ⏎

configureを実行します。

$ ./configure --with-tls -enable-crypt --with-cyrus-sasl -enable-rwm --enable-monitor=no ⏎

最初にmake dependを実行します。

$ make depend ⏎

コンパイルします。

$ make ⏎

正常にコンパイルできたらインストールします。

# su ⏎
Passowrd: ********** ⏎
# make install ⏎

LDAPサーバの初期設定

slapd.confファイルに初期設定を行います。suffix、rootdnは、実際の組織に合わせて設定します。次は、その設定例です。

/usr/local/etc/openldap/slapd.conf

include         /usr/local/etc/openldap/schema/core.schema
pidfile         /usr/local/var/run/slapd.pid
argsfile        /usr/local/var/run/slapd.args
database        config
rootdn          cn=admin,cn=config
access  to *
        by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage
        by * break
database        mdb
maxsize		1073741824
suffix          "dc=designet,dc=jp"
rootdn          "cn=Manager,dc=designet,dc=jp"
rootpw          {SSHA}A/9vWhXE6Fk7wWI0iwQJDnr8QgOqKayF
directory       /usr/local/var/openldap-data
index   objectClass     eq

rootpwは、slappasswdコマンドで作成します。

# slappasswd ⏎
New password: ******** ⏎
Re-enter new password: ******** ⏎
{SSHA}A/9vWhXE6Fk7wWI0iwQJDnr8QgOqKayF

設定ファイルを元に、初期設定ディレクトリを作成します。

# cd /usr/local/etc/openldap ⏎	← ディレクトリを移動
# mkdir slapd.d ⏎	← 設定ディレクトリを作成
# slaptest -f slapd.conf -F slapd.d -u ⏎	← 設定を変換

LDAPサービス起動設定

systemdからLDAPサービスを起動するためのユニットファイルを作成します。

/usr/lib/systemd/system/slapd.service

[Unit]
Description=OpenLDAP server
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/usr/local/var/run/slapd.pid
ExecStart=/usr/local/libexec/slapd -h "ldap:/// ldapi:///"
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/bin/kill -TERM $MAINPID
[Install]
WantedBy=multi-user.target

ユニットファイルを作成したら、systemdに変更を通知します。

# systemctl daemon-reload ⏎

LDAPサービスの起動

systemctlコマンドを使って、LDAPサーバを起動します。

# systemctl start slapd.service ⏎

パケットフィルタリングの設定

パケットフィルタリングの設定を変更し、LDAPポートへの通信を許可します。

# firewall-cmd --add-service=ldap ⏎

LDAP DITの登録

LDAPサーバに作成するDITに合わせて、基本データを登録します。最低限、rootdnとDITのトップディレクトリの設定が必要です。

init.ldif

dn: dc=designet,dc=jp
objectClass: organization
objectClass: dcObject
o: DesigNET, INC.
dc: designet
dn: cn=Manager,dc=designet,dc=jp
objectClass: organizationalRole
cn: Manager

LDAPユーティリティコマンドを使って、データを登録します。

$ ldapadd -x -D "cn=Manager,dc=designet,dc=jp" -W -f init.ldif ⏎
Enter LDAP Password: ******** ⏎
adding new entry "dc=designet,dc=jp"
adding new entry "cn=Manager,dc=designet,dc=jp"

やっておいた方が良い設定

syslog設定

LDAPサーバのログは、標準ではlocal4のファシリティでsyslogに出力されます。そのため、ログが記録されるようにrsyslogの設定を変更しておきます。

/etc/rsyslog.conf

local4.*                                /var/log/slapd

ログレベルの変更

LDAPサーバ側には、出力するログのレベルを設定します。

loglevel.ldif

dn: cn=config
changetype: modify
replace: olclogLevel
olcLogLevel: filter config ACL stats
# ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f loglevel.ldif ⏎
modifying entry "cn=config"

入門LDAP/OpenLDAP 第3版

入門LDAP/OpenLDAP第3版

2017年11月に発売された第3版です。OpenLDAP2.4の入門書としてGUIを使った管理の解説が充実しました。また、RADIUSとの連携、LDAPプログラミングの事例、Microsoft Active Directoryなど、さらに内容が充実しています。本ページは、「入門LDAP/OpenLDAP 第3版」に記載した内容の要約です。LDAPは用語や概念が難しく、体系的に学ぶべき技術分野です。より詳しい情報が必要な場合には、ぜひ書籍をご参照下さい。

構築事例(OpenLDAP)

OpenLDAPによるLDAPサーバのマルチマスタ構成

OpenLDAPのミラーモードでLDAPサーバを二重化しました。認証システムの冗長構成が求められていましたが、冗長化ソフトウェアの導入はコスト面で問題がありました。OpenLDAPの柔軟性を活用し、OpenLDAP標準機能であるミラーモードを使う事で、特別な冗長化ソフトウェアを使わずに、認証システムを冗長化しました。

構築事例(OpenLDAPによるLDAPサーバのユーザ統合管理システム)

OpenLDAPによるLDAPサーバのユーザ統合管理システム

リモートアクセスの管理などで利用しているLDAPサーバをリプレースしました。これまで利用してきた製品から、OpenLDAPへ移行することでライセンス費用を抑え、代わりにサーバを冗長化することが可能となりました。

構築事例(LDAPサーバ冗長化)

LDAPサーバ冗長化

LDAPサーバをサービス無停止で提供するため、PacemakerとDRBDを利用したHAクラスタでLDAPクラスタを構築しました。

構築事例(389 Directory Server)

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

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

関連情報

389 Directory Server〜OSSのLDAPサーバ〜

389 Directory Serverは、LDAPサーバのもう1つの実装です。Red Hat社が出資するFedoraプロジェクトによって開発・管理されています。389 Directory ServerとOpenLDAPは、の2つを比較した際、389 Directory Serverの方がより高速であるという特徴があります。RedHat Enterprise Linux 8/CentOS 8では、OpenLDAPに替わり、389 Directory Serverが採用されています。

389 Directory Server

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

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

LDAPデータ管理のOSS比較

デモのお申込み

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

デモをご希望の方

デモの申し込みイメージ


OSS情報「OpenLDAP」

LDAPサーバでパスワード管理の課題を解決〜OpenLDAP〜
OpenLDAPは、OSSのLDAPサーバソフトウェアです。ここでは、OpenLDAPに対するデージーネットの取り組みなどを紹介します。
OpenLDAPのLDAPサーバ(slapd)とは?
LDAPサーバ(slapd)は、OpenLDAPに付属するLDAPサーバのソフトウェアです。インターネット上で広く利用されてます。LDAPプロトコル Version 2、Version 3に対応したLDAPサーバです。
LDAPサーバ(slapd)の冗長化と拡張機能
LDAPサーバ(slapd)は、様々な用途で利用できるLDAPサーバです。ここでは、LDAPサーバ(slapd)のシステム構成や拡張APIについて紹介します。
LDAPユーティリティコマンド
OpenLDAPには、LDAPユーティリティが付属しています。ここでは、主なLDAPユーティリティの概要を紹介します。
LDAPをGUIで管理するツール
OpenLDAPに付属するLDAPサーバ管理コマンドは、非常に柔軟で便利です。ここでは、用途に合わせたGUI管理ツールを紹介します。
LDAPサーバの連携
LDAPサーバは、様々なアプリケーションと連携することができます。ここでは、デージーネットがLDAPサーバと連携した実績のあるアプリケーションを紹介します。
OpenLDAPサーバ インストール・構築方法
RedHat Enterprise Linux、CentOS、Debian、UbuntuなどのLinuxディストリビューションでは、OpenLDAPはパッケージとして提供されています。ここでは、ソースコードからのインストール方法について解説します。
連携アプリケーションの設定
ここでは、連携するアプリケーションのいくつかについて、設定方法の要約を紹介します。
LDAP管理GUIのインストール
ここでは、phpLDAPadminなどのLDAP管理GUIのインストール方法を解説します。

OpenLDAP最新版のインストールの先頭へ