OpenLDAPサーバーをインストールし、Debian / UbuntuでphpLDAPadminを使用して管理します


LDAPはLightweightDirectory Access Protocolの略で、認証、共有ディレクトリ(メールクライアント用)、アドレスブックなど、さまざまな方法で使用できます。LDAPプロトコルは、あらゆる種類の情報を確立および保存するために使用できます。 OpenLDAPサーバーは、ツリー構造に格納されている情報にアクセスする可能性を提供します。

この記事では、OpenLDAPサーバーをインストールして構成する方法と、Debian、Ubuntu、およびLinuxMintシステムでphpLDAPadminを使用してサーバーを管理する方法を示します。

LinuxへのOpenLDAPサーバーのインストール

デフォルトでは、OpenLDAPサーバーはパッケージ「slapd」の下のリポジトリにあります。 apt-getと呼ばれるパッケージマネージャーツールを使用して簡単にインストールできます。ただし、OpenLDAPサーバーをインストールする前に、システムが最新であることを確認してください。

インストール中に、LDAPディレクトリの管理者エントリのパスワードを入力するように求められます。強力なパスワードを入力し、[OK]を選択して確認します。

 
$ sudo apt-get update 
$ sudo apt-get install slapd ldap-utils

OpenLDAPサーバーを構成する

OpenLDAPサーバーを設定するには、/ etcディレクトリに保存されているldap.confファイルを編集する必要があります。 ldap.confファイルを編集するには、vim、nanoなどのテキストエディターが必要です。次のコマンドを実行して、編集用のldap構成ファイルを開きます。

$ sudo nano /etc/ldap/ldap.conf

上記のコマンドの出力を以下のセクションに示します。

#
# LDAP Defaults
#

# See ldap.conf(5) for details
# This file should be world readable but not world writable.

#BASE   dc=example,dc=com
#URI    ldap://ldap.example.com ldap://ldap-master.example.com:666

#SIZELIMIT      12
#TIMELIMIT      15
#DEREF          never

# TLS certificates (needed for GnuTLS)
TLS_CACERT      /etc/ssl/certs/ca-certificates.crt

BASE行とURI行のコメントを解除して、独自のドメイン名とIPアドレスで編集できるようにします。これはテスト用のインストールと構成なので、ドメイン名としてtecmint123.comを使用します。

#
# LDAP Defaults
#

# See ldap.conf(5) for details
# This file should be world readable but not world writable.

BASE   dc=tecmint123,dc=com
URI    ldap://ldap.example.com ldap://ldap-master.example.com:666

#SIZELIMIT      12
#TIMELIMIT      15
#DEREF          never

# TLS certificates (needed for GnuTLS)
TLS_CACERT      /etc/ssl/certs/ca-certificates.crt

ファイルを保存し、次のコマンドを実行してLDAPパッケージを再構成します。

$ sudo dpkg-reconfigure slapd

LDAPディレクトリのベースDNを構築するには、DNSドメイン名が必要です。

DNSドメイン名を入力し、Enterキーを押して確認します。次に、LDAPは、LDAPディレクトリのベースDNに使用する組織の名前を入力するように求めます。会社または組織の名前を入力して、もう一度Enterキーを押します。

ディレクトリ。前の手順で作成した管理者のパスワードを入力する必要があります。

管理者のパスワードを確認したら、データベースを選択する必要があります。 BDBデータベースとHDBデータベースの2つのデータベースから選択できます。どちらも同じ構成オプションをサポートし、同様のストレージ形式を使用しますが、HDBデータベースはサブツリーの名前変更のサポートを追加するため、推奨されるものです。

自分に適していると思われるデータベースを選択できます。使用するデータベースを決定したら、Enterキーを押して選択を確認します。次に、別の質問が表示されます。 slapdがパージされたときにデータベースを削除するには、[はい]を選択します。

もう一度[はい]を選択し、Enterキーを押します。

[いいえ]を選択すると、LDAPサーバーの実行が開始されます。

[sudo] password for ravisaive: 
 * Stopping OpenLDAP slapd                                                                                       [ OK ] 
  Moving old database directory to /var/backups:
  - directory unknown... done.
  Creating initial configuration... done.
  Creating LDAP directory... done.
 * Starting OpenLDAP slapd                                                                                       [ OK ] 
Processing triggers for libc-bin ...

LDAPサーバーをテストするには、ldapsearch-xコマンドを使用します。

ldapsearch -x

次の出力が生成されます。

# extended LDIF
#
# LDAPv3
# base <dc=tecmint123,dc=com> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# tecmint123.com
dn: dc=tecmint123,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: tecmint
dc: tecmint123

# admin, tecmint123.com
dn: cn=admin,dc=tecmint123,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator

# search result
search: 2
result: 0 Success

# numResponses: 3
# numEntries: 2

phpLDAPadminを使用したLDAP管理

phpLDAPadminは、LDAPサーバー管理用のGUI管理ツールです。このGUIツールは、Webインターフェイスを介してLDAPサーバーと対話するのに役立ちます。デフォルトのリポジトリで利用でき、apt-getコマンドでインストールできます。

ただし、phpLDAPadminをインストールする前に、ApacheWebサーバーとPHPをインストールして実行する必要があります。そうでない場合は、次のコマンドを使用してインストールします。

$ sudo apt-get install apache2 php5 php5-mysql

次に、以下に示すように「phpldapadmin」パッケージをインストールします。

$ sudo apt-get install phpldapadmin

ldap.confファイルを構成したのと同じ方法で、使用する前にphpldapadminWebインターフェース構成ファイルを構成する必要があります。次のコマンドを実行して、phpldapadminconfig.phpファイルを開きます。

$ sudo nano /etc/phpldapadmin/config.php

あなたがする必要があるのはあなた自身の値でドメイン名を置き換えることです。この場合に必要な構成部分は、「LDAPサーバーの定義」セクションにあります。

$servers = new Datastore();
$servers->newServer('ldap_pla'); 
$servers->setValue('server','name','Tecmint LDAP Server');
$servers->setValue('server','host','127.0.0.1'); 
$servers->setValue('server','base',array('dc=tecmint123,dc=com'));
$servers->setValue('login','bind_id','cn=admin,dc=tecmint123,dc=com');

config.php構成ファイルの編集が終了したら、Webブラウザーでタブを開き、「http:// ip_address_here/phpldapadmin」URLを入力します。 LDAPログイン資格情報を入力し、[ログイン]をクリックします。

参照リンク

  1. OpenLDAP Homepage
  2. phpLDAPadmin Homepage