How to resolve "unable to determine enabled services from ldap"
เมื่อได้ restart zimbra service หรือเปิดเครื่อง server ใหม่แล้วเจอ error ในการ start ldap ตามด้านล่าง
Starting ldap...Done.
Unable to determine enabled services from ldap.
Enabled services read from cache. Service list may be inaccurate.
ปัญหานี้เกิดได้จากหลายสาเหตุด้วยกัน ซึ่งสามารถแจกแจงออกได้เป็นดังนี้
-
เกิดจาก permission ของ path /opt/zimbra รันคำสั่งด้านล่างเพื่อแก้ไข
service zimbra stop chown -R zimbra:zimbra /opt/zimbra /opt/zimbra/libexec/zmfixperms -verbose service zimbra start -
เกิดจากการตั้งค่า DNS ไม่ครบ ถ้าหากไม่มีข้อมูลตรงจุดไหนก็ให้เพิ่มเข้าไป วิธีตรวจสอบ
cat /etc/hosts host `hostname` dig yourdomain.com mx dig yourdomain.com any -
เกิดจาก certificates บน server ได้หมดอายุแล้ว (expired) วิธีตรวจสอบ ให้รันคำสั่ง
/opt/zimbra/bin/zmcertmgr viewdeployedcrt allจากนั้นตรวจสอบวันหมดอายุตรง “notAfter” ถ้าหากหมดอายุแล้วจำเป็นต้องสร้าง certificates โดยสามารถทำตามขั้นตอนได้ดังนี้
Stop zimbra su - zimbra -c 'zmcontrol stop' ลบ certificates rm -rf /opt/zimbra/ssl/* rm -rf /opt/zimbra/ssl/.rnd /opt/zimbra/java/bin/keytool -delete -alias my_ca -keystore /opt/zimbra/java/jre/lib/security/cacerts -storepass changeit /opt/zimbra/java/bin/keytool -delete -alias jetty -keystore /opt/zimbra/mailboxd/etc/keystore -storepass `su - zimbra -c 'zmlocalconfig -s -m nokey mailboxd_keystore_password'` vi /opt/zimbra/bin/zmcertmgr # Find line # SUBJECT="/C=US/ST=N\/A/L=N\/A/O=Zimbra Collaboration Suite/OU=Zimbra Collaboration Suite/CN=${zimbra_server_hostname}" # and change to your company name # then find and change you want value days expire cert validation_days=365 to validation_days=3650 # save /opt/zimbra/bin/zmcertmgr /opt/zimbra/bin/zmcertmgr createca -new /opt/zimbra/bin/zmcertmgr deployca -localonly /opt/zimbra/bin/zmcertmgr createcrt self -new /opt/zimbra/bin/zmcertmgr deploycrt self su - zimbra -c 'zmcontrol start' /opt/zimbra/bin/zmcertmgr deploycrt self /opt/zimbra/bin/zmcertmgr deployca su - zimbra -c 'zmupdateauthkeys' /opt/zimbra/bin/zmcertmgr viewdeployedcrt</li>