天天看點

Fedora16安裝openldap

參考文章:

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版本的成功圖檔如下:

Fedora16安裝openldap

安裝目錄為:/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
			}
		}
	}
}
           

結果如下,表明配置成功了:

Fedora16安裝openldap
Fedora16安裝openldap

繼續閱讀