วันอังคารที่ 28 กรกฎาคม พ.ศ. 2552

Step By Step - Alfresco authentication ldap with Zimbra

หลังจากที่มีการติดตั้ง Zimbra ไว้แล้ว ทีนี้เราจะใช้ User เดียวกันกับ zimbra ให้มา login ใน Alfresco สามารถทำได้โดย
1. Copy ไฟล์ ldap-authentication-context.xml.sample โดย เข้าไปที่ /opt/alfresco/tomcat/shared/classes/alfresco/extension

root@alfresco:~# cd /opt/alfresco/tomcat/shared/classes/alfresco/extension
root@alfresco:/opt/alfresco/tomcat/shared/classes/alfresco/extension# cp ldap-authentication-context.xml.sample ldap-authentication-context.xml


2. Copy ไฟล์ ldap-authentication.properties จากไดเรคทอรีเดียวกัน

root@alfresco:/opt/alfresco/tomcat/shared/classes/alfresco/extension# cp ldap-authentication.properties.sample ldap-authentication.properties


3. แก้ไขไฟล์ ldap-authentication.properties โดยระบุ Username
ตรวจสอบ BaseDN ของ zimbra โดยไปที่เครื่อง zimbra และใช้ คำสั่ง ldapsearch -x

root@zimbra:~# su - zimbra
zimbra@zimbra:~$ ldapsearch -x

# local
dn: dc=local
dc: local
objectClass: dcObject
objectClass: organization
o: local domain

# osdev.local
dn: dc=osdev,dc=local
zimbraMailStatus: enabled
zimbraId: e8cfcc00-df85-407c-b913-b5495a9aad05
dc: osdev
zimbraDomainName: osdev.local
zimbraDomainType: local
objectClass: dcObject
objectClass: organization
objectClass: zimbraDomain
o: osdev.local domain

# people, osdev.local
dn: ou=people,dc=osdev,dc=local
ou: people
objectClass: organizationalRole
cn: people
......
....
..


root@alfresco:/opt/alfresco/tomcat/shared/classes/alfresco/extension# nano ldap-authentication.properties

#ldap.authentication.userNameFormat=%s
ldap.authentication.userNameFormat=uid=%s,ou=people,dc=osdev,dc=local


4. ระบุ Hostname และ Port ของ ldap
สามารถตรวจสอบ URL ได้โดยไปที่เครื่อง zimbra

zimbra@zimbra:~$ zmlocalconfig -s |grep ldap
//สังเกตุตรงส่วน ldap_master_url
ldap_connect_pool_prefsize = 0
ldap_connect_pool_timeout = 120000
ldap_connect_timeout = 30000
ldap_deref_aliases = always
ldap_host = zimbra.osdev.local
ldap_is_master = true
ldap_log_level = 49152
ldap_master_url = ldap://zimbra.osdev.local:389
ldap_nginx_password = bBsKhElLf
ldap_port = 389


นำ URL มาใส่ในส่วน ldap.authentication.java.naming.provider.url ในไฟล์ ldap-authentication.properties

ldap.authentication.java.naming.provider.url=ldap://zimbra.osdev.local:389


5. เปลี่ยนจาก DIGEST-MD5 เป็น simple

#ldap.authentication.java.naming.security.authentication=DIGEST-MD5
ldap.authentication.java.naming.security.authentication=simple


6. ระบุ user dn(ตรวจสอบเหมือนข้อ 3) สำหรับเข้าถึง ldap พร้อมพาสเวิร์ด

#ldap.authentication.java.naming.security.principal=reader
ldap.authentication.java.naming.security.principal=uid=admin,ou=people,dc=osdev,dc=local

# The password for the default principal (only used for LDAP sync)
ldap.authentication.java.naming.security.credentials=password


7. บันทึกไฟล์ property
8. stop service alfresco และทำการ start อีกครั้ง