Openldapのインストールと構成

7412 ワード

OpenLDAPのインストールと構成
 
OpenLDAPサーバをインストールする前にデータベースBerkeleyDBをインストールする必要があり、OpenLDAPをインストールした後にphpLDAPadminをインストールすることができます(WebベースのLDAP管理ツールはLDAPサーバの各方面を管理するために使用されます).
インストールパッケージ:
データベースBerkeleyDB:BerkeleyDB-6.0.30
ダウンロード先:http://www.linuxfromscratch.org/blfs/view/svn/server/db.html
         openldap:  openldap-2.4.39
ダウンロード先:http://www.linuxfromscratch.org/blfs/view/svn/server/openldap.html
 
一、BerkeleyDBを取り付ける
私が選んだデータベースはBerkeleyDB-6.0です.30、Openldapをインストールする前にBDを先に装着する必要があります.インストール手順は次のとおりです.
1)まずダウンロードしたファイルdb-6.0を.30.tarは解凍、フォルダdb-6.0を生成する.30,
# tar zxvf db-6.0.30.tar.gz
# cd db-6.0.30/build_unix
# ../dist/configure
# make
# make install
このプロセスは一般的に問題なく、デフォルトでは/usr/localの下にインストールされ、ディレクトリ名はBerkeleyDBです.6.0.
2)次はBerkeleyDBを6.0のincludeおよびlibフォルダの下のファイルは、usrフォルダの下の対応するincludeおよびlibファイルの下にコピーされます.以下のコマンドで実現することもできます
#cp/usr/local/BerkeleyDB.6.0/include/* /usr/include
#cp/usr/local/BerkeleyDB.6.0/lib/* /usr/lib
 
二、OpenLDAPのインストール
同様に、先に解凍して、私はopenldap-2.4を使っています.39、インストール手順は以下の通りです.
#tar zxvf openldap-2.4.39.tgz
#cd openldap-2.4.39
#env  CPPFLAGS=”-I/usr/local/BerkeleyDB.6.0/include”  LDFLAGS=”-L/usr/local/BerkeleyDB.6.0/lib”  ./configure --prefix=/usr/local/openldap
Making servers/slapd/backendsが表示されます.c
         Add config…
         Add ldif…
         Add monitor…
         Add bdb…
         Add hdb…
         Add relay…
     Make servers/slapd/overlays/statover.c
         Add syncprov…
     Please run “make depend” to builddependencies
次のステップに進むことができます
#make depend
#make
#make test
make testというプロセスは少し時間がかかりますが(必ずしなければなりません)、私は1時間半ぐらい使って、辛抱強く待っています.実行が通ればインストールを開始することができます.
# make install
これで、インストールが完了しました.
 
三、openldapの構成
インストールが完了すると、構成が必要になります.
#/usr/local/openldap/etc/openldap/slapd.conf
開くconf後、
1)schemaファイルの.schemaファイルはinclude/usr/local/openldap/etc/openldap/schema/coreに含まれています.schemaの後に他のschemaファイルを追加します.
次のようになります.
include/usr/local/openldap/etc/openldap/schema/core.schema
include/usr/local/openldap/etc/openldap/schema/corba.schema
include/usr/local/openldap/etc/openldap/schema/cosine.schema
include/usr/local/openldap/etc/openldap/schema/inetorgperson.schema
……
……
2)BDB database definitionsでbdbを配置し、
  database  bdb
suffix             "dc=my-domain,dc=com"
rootdn           "cn=Manager,dc= my-domain,dc=com"
# Cleartext passwords, especially for the rootdn, should
# be avoid.  See slappasswd(8)and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw           secret
# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory/usr/local/openldap/var/openldap-data
# Indices to maintain
index       objectClass     eq
    
suffix「dc=my-domain,dc=com」のmy-domainを自分が必要とするものに置き換える(例:duncy).
rootdn"cn=Manager,dc=my-domain,dc=com"も交換して、次のようにすることができます.
rootdn   “cn=root,dc=duncy,dc=com”
rootpwのパスワードは暗号形式が望ましいが,暗号形式の暗号はコマンドslappaswdで生成できる.
#/usr/local/openldap/sbin/slappasswd
New password:
Re-enter new password:
{SSHA}BsaRKs65dsw5dhesleHEHEWOE1843decJ
密文は:{SSHA}BsaRKs 65 dsw 5 dhesleHEHEWOE 1843 decJ
 
3)コンフィギュレーション・ファイルにログ・レベルを追加することで、問題が発生したときに問題点を把握できます.以下のようにします.
#added logging parameters
Loglevel 256
説明:loglevelの後ろの数字はログのレベルで、その他のログのレベルは以下の通りです.
-1すべての情報を記録する0 debug 1トラッキング機能呼び出しの情報を記録しない2パケット処理のdebug情報4豊富なdebug情報8接続管理情報16パケットの送受信情報32検索フィルタリングの処理手順64プロファイルの処理手順128アクセス制御リスト処理手順256接続、操作およびその結果の統計データ512がクライアントに返す結果の統計情報1024とshell後端の通信情報2048は、レコードエントリの解析情報4096データベースキャッシュ処理情報8192データベースインデックス16384がサーバデータからリソース消費処理情報を同期することを示す
 
四、ldapサーバの構成
ldapを開きます.confファイル(#BASE dc=example,dc=comの下にBASE dc=example,dc=comの下にBASE dc=example,dc=comと入力して、exampleを自分の会社名に変えるとか.保存!
 
五、openldapサーバーの起動
端末を開き、slapdを起動する前にslaptestを使用してslapdをテストすることができます.confに構文エラーがあるかどうか(テスト時にrootモードに入って権限の問題を避けたほうがいい)、slaptestはopenldapの下のsbinディレクトリの下にあります.
#slaptest
config file testing succeeedが表示されると、構成に問題がないことを示します.test would succeed using the-uswitchを提示するかもしれませんが、slaptestの後に-uを加えればいいです.
実行コマンドを起動します.
#/usr/local/openldap/libexec/slapd  –d  256
次のコマンドラインが表示されると、起動に成功しました.

もう1つの端末を開き、次のコマンドでサーバをクエリーします.
#ldapsearch -x -b '' -s base '(objectclass=*)'namingContexts
コマンドが正常に実行された場合、サーバが正常に動作していることを示す情報が返されます.起動に成功しないと、多くはslapdです.conf構成エラー.構成ドキュメントを後でよく確認します.
 
六、データベースへのデータの追加
1,test.ldifファイル
#sudo  vi  test.ldif
注意:(dn:後にスペースが必要で、各行の末尾にスペースがない)
dn:dc=duncy,dc=com#ルートの作成
objectClass:dcObject
objectClass:organization
dc: duncy
o:duncy.com
description:d Corporation
 
dn:ou=People,dc=duncy,dc=com#Peopleのグループを追加
objectClass:organizationalUnit
objectClass:top
ou:People
 
dn:ou=Group,dc=duncy,dc=com#グループGroupを追加
objectClass:top
objectClass:organizationalUnit
ou: Group
 
2、コマンドの実行
# ldapadd -x -D “cn=root, dc=duncy,dc=com” –W -f test.ldif
3.クエリデータが正常に追加されたか
# ldapsearch  –x  –b  “dc=duncy,dc=com”
追加に成功すると、次の情報が表示されます.

 
次に、データベースにユーザー情報ldifを追加し、上記のtestの書き方を参照します.例:
user.ldif
dn:uid=test,ou=People,dc=duncy,dc=com
uid: test
ou:People
cn: test
sn: tset
userPassword:123456
uidnumber:100
gidnumber:100
homeDirectory:/home/test
loginShell:/bin/bash
objectClass:top
objectClass:organizationalPerson
objectClass:inetOrgPerson
objectClass:posixAccount
objectClass:shadowAccount
 
作成して保存し、ldapコマンドでデータベースに追加すればいいです.ノードを削除するにはldap deleteコマンドを使用します.
#Ldapdelete -x -D “cn=root,dc=duncy,dc=com” -W  “uid=test,ou=People,dc=duncy,dc=com” x D LDAP W:
 
七、サーバーの停止
Ctrl+c、またはプロセス番号を殺すには、#find/usr–nameslapd.pidがクエリーします.あなたのslapdも見つけることができます.pid、ファイルを開けて、中の数字はプロセス番号で、killプロセス番号でプロセスを終了することができます.
 
八、phpldapadminのインストール
#apt-get install phpldapadmin
ブラウザでphpldapadminインタフェース管理サーバにアクセスできます.
          192.168.1.112/phpldapadmin
九、phpldapadminの配置
編集/etc/phpldapadmin/config.phpは、以下の行の基本DNを、「dc=viatech、dc=com」など、自分で定義した基本DNに置き換えます.
$servers->setValue(‘server’,’base’,array(‘dc=example,dc=com’));
編集/etc/phpldapain/config.phpは、ログイン時にバインドされたDNを自分で定義したDNに変更し、次の行のDNを’cn=admin,dc=viatech,dc=com’に変更します.
$servers->setValue(‘login’,’bind_id’,’cn=admin,dc=example,dc=com’);