CentOS 5.5 安装记录 - (7) LDAP安装和基本配置

现在试试安装 LDAP (openLDAP)。

1. 软件安装:

yum -y install openldap openldap-clients openldap-servers nss_ldap samba samba-client openssl mod_ssl php-ldap php-pdo php-cli php-common perl-LDAP smbldap-tools perl-Digest-SHA1 perl-Digest-SHA perl-Unicode-String perl-Unicode-Map8 perl-Unicode-Map perl-Unicode-MapUTF8 perl-Jcode


这里安装的软件挺多的,把这一行逐个字母敲进去,显然很不合理。我一般的做法是,把这些语句,特别是网上资料有现成的命令,复制粘贴到 Notepad++ 上,保存为 sh 文件,然后用 psftp 上传到 /bin, 再运行。






安装的软件有 38MB大小。

2. 配置 openldap

先备份配置文件:
# cp /etc/ldap.conf /etc/ldap.conf.orig
# cp /etc/nsswitch.conf /etc/nsswitch.conf.orig
# cp -R /etc/openldap /etc/openldap.orig


(1)修改 slapd.conf

# nano /etc/openldap/slapd.conf

我安装的时候设定 Centos 机器的主机名是: server1.example.com 这里就按照这个域名来配置:



先保存和退出。

(2)生成 rootpw

输入命令
#/usr/sbin/slappasswd

按提示输入我自己的密码 2次,就会产生一串字符:



用笔把这串字符记下来吧,呵呵。我是在 putty 操作的,可以简单一点,用鼠标选定这串字符,然后打开 slapd.conf

# nano /etc/openldap/slapd.conf

找到 rootpw 那一行,回车,然后,点一下鼠标右键,刚才那串字符就粘贴上去了。然后,在字符串前加上 rootpw



保存,退出。

(3)生成 DB_CONFIG

# cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG


然后授予拥有权 ownership
# chown -R ldap:ldap /var/lib/ldap
# chmod 700 /var/lib/ldap


(4)设置开机启动

# chkconfig --levels 235 ldap on


现在启动:
 /etc/init.d/ldap start





3. 添加记录

(1)初始化记录文件
用 Notepad++ 编辑一个 rootinit.ldif 文件,内容如下:
dn: dc=example,dc=com
dc: example
o: example.com
description: Root LDAP entry for example.com
objectClass: top
objectClass: dcObject
objectClass: organization


保存,退出。



(2)ou 记录文件
用 Notepad++ 编辑一个 ou1.ldif 文件,内容如下:
dn: ou=People,dc=example,dc=com
ou: People
objectClass: organizationalUnit

dn: ou=Groups,dc=example,dc=com
ou: Groups
objectClass: organizationalUnit

dn: ou=Hosts,dc=example,dc=com
ou: Hosts
description: All hosts in example.com
objectClass: organizationalUnit


保存,退出。




(3)在Centos机器建一个临时文件夹
# mkdir /home/tmp


(4)上传 ldif 文件



(5)导入
使用 ldapadd 导入 ldif 文件:

# ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f  /home/tmp/rootinit.ldif
# ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f  /home/tmp/ou1.ldif




(6)查看已有记录

# ldapsearch -x -b 'dc=example,dc=com'




4. 清空(删除)记录

清空已输入的记录是初学者肯定遇到的。我在添加记录过程中,多次出现错误,所以在网上找删除已有记录的办法,呵呵,删除多次添加多次,才大概有点经验。

(1)先停止 ldap
(2)删除 /var/lib/ldap 下的文件,但保留 DB_CONFIG 文件。如果该目录下文件全部删除了,需要在复制一份 DB_CONFIG 到目录。
# cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

(3)该目录授权到 ldap
(4)重启 ldap




5. 安装配置 phpldapadmin

(1)安装
# yum -y install phpldapadmin

(2)配置
其配置文件为 /usr/share/phpldapadmin/config/config.php
我没有修改,保留原来设定。

修改 /etc/httpd/conf.d/phpldapadmin.conf

# nano /etc/httpd/conf.d/phpldapadmin.conf



保存退出。然后重启 httpd:

# /etc/init.d/httpd restart


(3)登录
现在在浏览器就可以打开 phpldapadmin




======================================================================

以上是一个配置过程,中间遇到许多问题,但最后也算完成基本配置。到晚上,在百度搜到多篇很好的中文教程,细细阅读,发现自己原来有很多模糊的理解,需要再尝试。

(1)先清空所有的输入
停止 ldap,删除 /var/lib/ldap 下文件仅保留 DB_CONFIG, 授权。
修改 /etc/openldap/slapd.conf 文件, 把 rootdn 改为:
rootdn "cn=root,dc=example,dc=com"

保存后,重启 ldap。

(2)编辑几个 ldif 文件,文件名和内容如下:










然后用 psftp 上传到 /home/tmp。

用 ldapadd 逐个导入这些 ldif 文件:

# ldapadd -x -D "cn=root,dc=example,dc=com" -W -f /home/tmp/init1.ldif

# ldapadd -x -D "cn=root,dc=example,dc=com" -W -f /homr/tmp/ou1.ldif

# ldapadd -x -D "cn=root,dc=example,dc=com" -W -f /home/tmp/wgroup1.ldif

# ldapadd -x -D "cn=root,dc=example,dc=com" -W -f /home/tmp/user1.ldif


用 ldapsearch 查看已有的输入:

# ldapsearch -x -b "dc=example,dc=com"


(3)修改 单个用户密码

修改用户 John 的密码:
# ldappasswd -x -D "cn=root,dc=example,dc=com" -W "uid=John,ou=People,dc=example,dc=com" -S
New password:
Re-enter new password:
Enter LDAP Password:

New password 和 Re-enter new password 就是输入2次 John 的新密码,而 Enter LDAP Password 则输入 LDAP 的系统密码,就是我们前面用 slappasswd 所建立的密码。

修改用户 ldapadmin 的密码:
# ldappasswd -x -D "cn=root,dc=example,dc=com" -W "uid=ldapadmin,ou=People,dc=example,dc=com" -S
New password:
Re-enter new password:
Enter LDAP Password:


完成后,# ldapsearch -x -b "dc=example,dc=com" 查看一下,就发现 用户的密码已经改变:







======================================================================

参考资料:

http://blog.javachap.com/index.php/installing-openldap-on-centos/

http://www.syntaxtechnology.com/2010/05/openldap-on-centos-5-4-part-4-the-data/

http://www.howtoforge.com/ldap-user-authentication-on-centos-5.x

http://www.productionmonkeys.net/guides/ldap-server/openldap-installation

http://www.syntaxtechnology.com/2010/05/openldap-on-centos-5-4-part-4-the-data/

http://www.server-world.info/en/note?os=CentOS_5&p=ldap


很详细的中文 openLDAP 配置教程
http://zhumeng8337797.blog.163.com/blog/#m=0





:-

猜你喜欢

转载自kingsz1.iteye.com/blog/842406