CentOS6.4にopenldapをインストールする


CentOS6.4にopenldapをインストールする | Bamboo lath 日々の記録LDAPに対して作成中のシステムから問い合わせをする
必要がでそうなのでLDAPをローカル環境にとりあえず設置する。


この本を参考に設置する。

■この環境にopenldapをインストールする。

# cat /etc/redhat-release
CentOS release 6.4 (Final)

PHPは5.4.16
epel,rpmforge,remiを利用しています。
■openldapのインストール

# yum install openldap-servers openldap-clients
# updatedb
# locate slapd.conf
/usr/share/man/man5/slapd.conf.5.gz
/usr/share/openldap-servers/slapd.conf.obsolete

■設定ファイルをコピーして設置

# cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf

・設定用のパスワードを生成しておく
# slappasswd -s [設定用パスワード]
{SSHA}uwv0bKRgYH0aD9kdOuHl1kG2YIrLyamp

・管理者用のパスワードを生成しておく
# slappasswd -s [管理者パスワード]
{SSHA}UmANXpHt8QzO96eb45Ik8Eg0e9QyFcjJ

■設定ファイルを変更

# diff /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf
98a99,101
> rootdn        cn=admin,cn=config
> rootpw        {SSHA}uwv0bKRgYH0aD9kdOuHl1kG2YIrLyamp
>
115c118
< suffix                "dc=my-domain,dc=com"
---
> suffix                "dc=mogumagu,dc=com"
117c120,121
< rootdn                "cn=Manager,dc=my-domain,dc=com"
---
> rootdn                "cn=Manager,dc=mogumagu,dc=com"
> rootpw        {SSHA}UmANXpHt8QzO96eb45Ik8Eg0e9QyFcjJ

■念のため最初からあったファイルを削除しておく

# cd /etc/openldap/slapd.d/
# ll
total 8
drwx------ 3 ldap ldap 4096 Jun 11 01:30 cn=config
-rw------- 1 ldap ldap 1131 Jun 11 01:30 cn=config.ldif
# rm -rf ./*

# cd /var/lib/ldap/
# ll
total 0
# rm -rf ./*

■予めldapのデータベースを作成する

# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
# echo "" | slapadd -f /etc/openldap/slapd.conf
The first database does not allow slapadd; using the first available one (2)

■設定ファイルを変更したので、設定ファイルの変換処理を行う

# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
config file testing succeeded

■権限を付与

# chown -R ldap:ldap /var/lib/ldap
# chown -R ldap:ldap /etc/openldap/slapd.d

■LDAPの起動

# service slapd start
Starting slapd:                                            [  OK  ]
# chkconfig slapd on

■ログを吐くようにsyslogの設定

# vim /etc/rsyslog.conf
追記
# openldap slapd log
local4.*                                                /var/log/slapd

# service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]
# service slapd restart
Stopping slapd:                                            [  OK  ]
Starting slapd:                                            [  OK  ]

# less /var/log/slapd
Jun 11 01:47:36 takeuchi2 slapd[1214]: daemon: shutdown requested and initiated.
Jun 11 01:47:36 takeuchi2 slapd[1214]: slapd shutdown: waiting for 0 operations/tasks to finish
Jun 11 01:47:36 takeuchi2 slapd[1214]: slapd stopped.
Jun 11 01:47:36 takeuchi2 slapd[1282]: @(#) $OpenLDAP: slapd 2.4.23 (Apr 29 2013 07:41:58) $#012#011mockbuild@c6b7.bsys.dev.centos.org:/builddir/build/BUILD/openldap-2.4.23/openldap-2.4.23/build-servers/servers/slapd
Jun 11 01:47:36 takeuchi2 slapd[1283]: slapd starting

■初期データの投入(本の内容)

# pwd
/root
#mkdir ldap-data
# cd ldap-data/
# vi init.ldif
# less init.ldif
dn: dc=mogumagu,dc=com
objectClass: organization
objectClass: dcObject
o: Mogumagu
dc: mogumagu

dn: cn=Manager,dc=mogumagu,dc=com
objectClass: organizationalRole
cn: Manager

# ldapadd -x -D "cn=Manager,dc=mogumagu,dc=com" -W -f init.ldif
Enter LDAP Password:
adding new entry "dc=mogumagu,dc=com"

adding new entry "cn=Manager,dc=mogumagu,dc=com"

# vim people-service.ldif
dn: ou=People,dc=mogumagu,dc=com
objectClass: organizationalUnit
ou: People

dn: ou=Service,dc=mogumagu,dc=com
objectClass: organizationalUnit
ou: Service

# ldapadd -x -D "cn=Manager,dc=mogumagu,dc=com" -W -f people-service.ldif
Enter LDAP Password:
adding new entry "ou=People,dc=mogumagu,dc=com"

adding new entry "ou=Service,dc=mogumagu,dc=com"

■一旦検索してみる

# ldapsearch -x -D "cn=Manager,dc=mogumagu,dc=com" -W -b 'ou=People,dc=mogumagu,dc=com' '(objectClass=*)'
Enter LDAP Password:
# extended LDIF
#
# LDAPv3
# base <ou=People,dc=mogumagu,dc=com> with scope subtree
# filter: (objectClass=*)
# requesting: ALL
#

# People, mogumagu.com
dn: ou=People,dc=mogumagu,dc=com
objectClass: organizationalUnit
ou: People

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

■phpLDAPadminをインストールする

# pwd
/usr/local
# wget http://sourceforge.net/projects/phpldapadmin/files/latest/download?source=files

# tar xzvfp phpldapadmin-1.2.3.tgz

# mv phpldapadmin-1.2.3 phpldapadmin

# pwd
/etc/httpd/conf

■apache設定を追記

# vim httpd.conf
Alias /ldapadmin/ /usr/local/phpldapadmin/htdocs/
<Directory "/usr/local/phpldapadmin/htdocs">
        DirectoryIndex index.php index.html
</Directory>

■phpLDAPadminの設定ファイルを変更する

# pwd
/usr/local/phpldapadmin/config

# cp config.php.example config.php

# diff config.php.example config.php
293c293
< // $servers->setValue('server','host','127.0.0.1');
---
> $servers->setValue('server','host','127.0.0.1');
296c296
< // $servers->setValue('server','port',389);
---
> $servers->setValue('server','port',389);

# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

http://localhost/ldapadmin/
にアクセスするとphpLDAPadmin画面が表示される

■その他参考書、サイト等

CentOS6.3 で OpenLDAP の設定 (Life with Linux)

コメントを残す

メールアドレスが公開されることはありません。