参考文章:
http://linux.chinaitlab.com/special/ldap/Index.html
http://www.server-world.info/en/note?os=Fedora_11&p=ldap
http://www.openldap.org/doc/admin24/quickstart.html
http://blog.sina.com.cn/s/blog_5f8238650100o2ge.html
第一步:安装sudo yum -y install openldap*安装2.4.26版本的成功图片如下:安装目录为:/etc/openldap/
第二步:配置
将目录/usr/share/openldap-servers下的slapd.conf.obsolete配置文件复制到安装目录下兵重命名为slapd.conf。
修改slapd.conf中如下部分的配置:
database bdb
suffix "dc=sannychan,dc=cn"
rootdn "cn=root,dc=sannychan,dc=cn"
rootpw secret
同时注意修改以下部分的DN
database monitor
access to *
by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
by dn.exact="cn=root,dc=sannychan,dc=cn" read
by * none
复制/usr/share/openldap-servers 下的DB_CONFIG.example到目录/var/lib/ldap/DB_CONFIG去:
配置完成后启动:sudo sudo service slapd start等一分钟之后可用sudo service slapd status检查运行状态,若出现“active (running)”则表明启动成功。
第三步:测试
fedora我装在虚拟机中,IP地址为:192.168.1.172
通过如下JAVA代码测试服务器和配置是否生效:
public class OpenLdap {
public static void main(String[] args) {
OpenLdap penLdap = new OpenLdap();
String root = "dc=sannychan,dc=cn"; // root
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://192.168.1.172:389/" + root);
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "cn=root,dc=sannychan,dc=cn");
env.put(Context.SECURITY_CREDENTIALS, "secret");
DirContext ctx = null;
try {
ctx = new InitialDirContext(env);
System.out.println("认证成功");
} catch (javax.naming.AuthenticationException e) {
e.printStackTrace();
System.out.println("认证失败");
} catch (Exception e) {
System.out.println("认证出错:");
e.printStackTrace();
}
if (ctx != null) {
try {
ctx.close();
} catch (NamingException e) {
// ignore
}
}
}
}
结果如下,表明配置成功了: