参考:Step-by-step OpenLDAP Installation and Configuration
http://www.howtoforge.com/linux_openldap_setup_server_client
1.安装openldap及对应的组件
- yum install *openldap*
2.修改slapd.conf文件
找到这一行include /etc/openldap/schema/XXX.schema
- vi /etc/openldap/slapd.conf
可以把在/etc/openldap/schema 目录下有用的schema 文件加到这里!
本次实验按他默认设置,没作添加!
- suffix "dc=my-domain,dc=com"
- rootdn "cn=Manager,dc=my-domain,dc=com"
这里要填定你的域名,客户端连接的时候要用到的!如你的域名google.com “dc=google,dc=com”
##这和你的hostname 无关
- rootpw secret
这一行是明文的密码设置,可以用MD5加密,方法可以问问google !默认是被注释的,所以要把#号去掉’secret ’ 就是你的密码
这三行我改成了这样,大家可以参考一下
- suffix "dc=google,dc=com"
- rootdn "cn=root,dc=google,dc=com"
- rootpw 123456
3.开启openldap服务了
- /etc/rc.d/init.d/ldap start
4.重启ldap时会报错
- /etc/rc.d/init.d/ldap restart
Stopping slapd: [OK]
Checking configuration files for slapd:bdb_db_open: Warning - No DB_CONFIG file found in directory /var/lib/ldap: (2) Expect poor performance for suffix dc=my-domain,dc=com.
config file testing succeeded [OK] Starting slapd: [OK]
虽然启动成功!当是警告在/var/lib/ldap 的目录下找不到DB_CONFIG的文件
解决办法:将/etc/openldap/ 下的DB_CONFIG.example 的文件,复制到/var/lib/ldap 下,改名为 DB_CONFIG 就行了!
- cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
- service ldap restart
没报错了!!openldap 已经装完了!
5.ldap 默认没有日志文件的,要自己创建建立openldap的日志文件
- vi /etc/syslog.conf
加入一行
- local4.* /var/log/ldap.log
重启 syslog
- /etc/rc.d/init.d/syslog restart
另:
1.OpenLDAP�Y料存放的位置: /var/lib/ldap/ 目��龋�如果要重新�O定LDAP server,先停止�绦� ldap ( service ldap stop ),再移除�Y料目�下的所有�n案 ( rm -Rf /var/lib/ldap/* )
2.OpenLDAP相�P�O定�n的所在位置: /etc/openldap
6.客户端连接LDAP。
推荐几个客户端软件:ldapadmin ,JXplorer,LDAP Browser\Editor, LDAP Administrator (收费)
使用客户端前先在ldap服务中创建初始数据,否则用客户端连接的时候会提示连接失败!假设存放在/var/lib/ldap/test.ldif中,文件内容如下:
- # vi /var/lib/ldap/test.ldif 路径和文件文可以自定,记住就行了
- dn: dc=<MY-DOMAIN>,dc=<COM>
- objectclass: dcObject
- objectclass: organization
- o: <MY ORGANIZATION>
- dc: <MY-DOMAIN>
- dn: cn=Manager,dc=<MY-DOMAIN>,dc=<COM>
- objectclass: organizationalRole
- cn: Manager
ldap的数据默认放在”/var/lib/ldap”目录下,通过root账户运行slapadd命令添加的数据产生的文件属性属于root用户root组,但是service启动ldap是用ldap用户启动的,所以需要把这些文件的属性修改一下。下面这句脚本代码非常重要,否则数据只能读不能修改删除,血的教训。
�⒛夸��Y料所在�Y料目�的�碛姓�‧群�M,指定��ldap:
- chown -Rf ldap:ldap /var/lib/ldap
�⒛夸�根��c(root node)加到�Y料�欤�
- slapadd -v -l /etc/openldap/data/root.ldif
重新启动ldap
- /etc/rc.d/init.d/ldap restart
如果不成功,检查一下以上哪里做错了!
防火墙关了没!