งานบํารุงรักษา OpenLDAP

ตำแหน่งของไฟล์บันทึก

ไฟล์บันทึก OpenLDAP อยู่ในไดเรกทอรี /opt/apigee/var/log ไฟล์เหล่านี้อาจเป็น มีการเก็บถาวรและนำออกเป็นระยะๆ เพื่อให้แน่ใจว่าจะไม่มีการใช้ดิสก์มากเกินไป พื้นที่ทำงาน ดูข้อมูลเกี่ยวกับการดูแลรักษา จัดเก็บ และนำบันทึกของ OpenLDAP ออกได้ในหัวข้อ 19.2 ของคู่มือ OpenLDAP ที่ http://www.openldap.org/doc/admin24/maintenance.html

ตั้งรหัสผ่านของผู้ใช้ด้วยตนเอง

ผู้ใช้สามารถขอรหัสผ่าน Edge ใหม่ใน Edge UI จากนั้นผู้ใช้จะได้รับอีเมลที่มี เกี่ยวกับการตั้งรหัสผ่าน แต่ถ้าเซิร์ฟเวอร์ SMTP ของคุณหยุดทำงาน หรือผู้ใช้ไม่สามารถ ได้รับอีเมลไม่ว่าด้วยเหตุผลใดก็ตาม คุณสามารถตั้งรหัสผ่านของผู้ใช้ได้ด้วยตนเองโดยใช้ OpenLDAP คำสั่ง

ในการตั้งรหัสผ่านของผู้ใช้ ให้ทำดังนี้

  1. ใช้ ldapsearch เพื่อดาวน์โหลดข้อมูลผู้ใช้:
    ldapsearch -w ldapAdminPWord -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h LDAP_IP -p 10389 > ldap.txt
  2. ค้นหาไฟล์ LDAP.txt เพื่อหาอีเมลของผู้ใช้ คุณควรเห็นบล็อกในแบบฟอร์ม:
    dn: uid=29383a67-9279-4aa8-a75b-cfbf901578fc,ou=users,ou=global,dc=apigee,dc=com
    mail: foo@bar.com
    userPassword:: e1NTSEF9a01UUDdSd01BYXRuUURXdXN5OWNPRzBEWWlYZFBRTm14MHlNVWc9PQ==
    uid: 29383a67-9279-4aa8-a75b-cfbf901578fc
  3. ใช้ ldappasswd เพื่อตั้งค่ารหัสผ่านของผู้ใช้ตาม UID ของผู้ใช้:
    ldappasswd -h LDAP_IP -p 10389 -D "cn=manager,dc=apigee,dc=com" -W -s newPassWord \
      "uid=29383a67-9279-4aa8-a75b-cfbf901578fc,ou=users,ou=global,dc=apigee,dc=com"

    ระบบจะแจ้งให้คุณใส่รหัสผ่านของผู้ดูแลระบบ OpenLDAP

ตอนนี้ผู้ใช้ลงชื่อเข้าสู่ระบบได้โดยใช้ newPassWord

ตั้งรหัสผ่านระบบ OpenLDAP ด้วยตนเอง

การรีเซ็ตรหัสผ่าน Edge จะอธิบายวิธีเปลี่ยนการตั้งค่า รหัสผ่านระบบ OpenLDAP แต่กำหนดให้คุณต้องทราบรหัสผ่านที่มีอยู่ ถ้าคุณทำหาย คุณใช้ขั้นตอนต่อไปนี้เพื่อรีเซ็ตรหัสผ่านได้

  1. ใช้ slappasswd เพื่อสร้างรหัสผ่านที่เข้ารหัส SSHA สำหรับรหัสผ่านใหม่
    slappasswd -h {SSHA} -s newPassWord

    คำสั่งนี้จะแสดงสตริงในแบบฟอร์มดังนี้

    {SSHA}+DOup9d6l+czfWzkIvajwYPArjPurhS6
  2. เปิด /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif ในตัวแก้ไข
    vi /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
  3. หาบรรทัดในแบบฟอร์มดังนี้
    olcRootPW:: OldPasswordString
  4. ให้แทนที่ OldPasswordString ด้วยสตริงที่แสดงผลจาก slappasswd หากมีเครื่องหมายทวิภาค 2 ตัวหลังจาก olcRootPw ให้นำ 1 ตัวออกและตรวจสอบว่ามีการเว้นวรรค หลังเครื่องหมายโคลอน:
    olcRootPW: {SSHA}RGon+bLCe+Sk+HyHholFBj8ONQfabrhw
  5. รีสตาร์ท OpenLDAP ดังนี้
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap restart
  6. ตรวจสอบโดยใช้ ldapsearch ว่ารหัสผ่านใหม่ของคุณใช้งานได้หรือไม่
    ldapsearch -W -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h LDAP_IP -p 10389

    ระบบจะแจ้งให้คุณใส่รหัสผ่านของผู้ดูแลระบบ OpenLDAP

  7. ทำขั้นตอนเหล่านี้ซ้ำในเซิร์ฟเวอร์ OpenLDAP อื่นๆ ที่ใช้ในการจำลอง
  8. อัปเดตเซิร์ฟเวอร์การจัดการเพื่อใช้รหัสผ่านใหม่:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server store_ldap_credentials -p newPassWord

ตั้งรหัสผ่านผู้ดูแลระบบ Edge ด้วยตนเอง

การรีเซ็ตรหัสผ่าน Edge จะอธิบายวิธีเปลี่ยนการตั้งค่า รหัสผ่านระบบ Edge แต่คุณต้องรู้รหัสผ่านที่มีอยู่ หากคุณสูญเสีย Edge รหัสผ่านระบบของคุณ คุณสามารถใช้ขั้นตอนต่อไปนี้เพื่อรีเซ็ตรหัสผ่าน

  1. ในโหนด UI ให้หยุด Edge UI ดังนี้
    /opt/apigee/apigee-service/bin/apigee-service edge-ui stop
  2. ใช้ ldappasswd เพื่อตั้งรหัสผ่านผู้ดูแลระบบ Edge Sys ได้ดังนี้
    ldappasswd -h localhost -p 10389 -D "cn=manager,dc=apigee,dc=com" -W -s newPassWord \
      "uid=admin,ou=users,ou=global,dc=apigee,dc=com"

    ระบบจะแจ้งให้คุณใส่รหัสผ่านของผู้ดูแลระบบ OpenLDAP

  3. อัปเดตไฟล์การกำหนดค่าที่คุณใช้ติดตั้ง Edge UI ด้วยระบบ Edge ใหม่ รหัสผ่าน:
    APIGEE_ADMINPW=newPassWord
  4. กำหนดค่าและรีสตาร์ท Edge UI ดังนี้
    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
  5. (เฉพาะเมื่อเปิดใช้ TLS ใน UI) เปิดใช้ TLS ใน Edge UI อีกครั้งเป็น ตามที่อธิบายไว้ในการกำหนดค่า TLS สำหรับการจัดการ UI

ลบไฟล์ล็อก SLAPD

หากคุณได้รับข้อผิดพลาดเมื่อพยายามเริ่มต้น OpenLDAP ที่ไฟล์ล็อก slapd.pid อยู่แล้ว คุณก็สามารถลบไฟล์ได้

ไฟล์นี้อยู่ใน /opt/apigee/apigee-openldap/var/run/slapd.pid ลบ แล้วลองรีสตาร์ท OpenLDAP ดังนี้

/opt/apigee/apigee-service/bin/apigee-service apigee-openldap restart

หาก OpenLDAP ไม่เริ่มทำงาน ให้ลองเริ่มต้นในโหมดแก้ไขข้อบกพร่องและตรวจหาข้อผิดพลาดโดยทำดังนี้

slapd -h ldap://:10389/ -u apigee -d 255 -F /opt/apigee/data/apigee-openldap/slapd.d

ข้อผิดพลาดอาจชี้ไปที่ปัญหาด้านทรัพยากร หน่วยความจำ หรือปัญหาการใช้งาน CPU

การแก้ไขการจำลอง OpenLDAP

ส่วนนี้จะอธิบายวิธีแก้ไขการจำลอง OpenLDAP

ดำเนินการตามขั้นตอนในขั้นตอนต่อไปนี้ในโหนดตัวจำลอง OpenLDAP ซึ่งจะจำลอง ลงใน โหนด OpenLDAP อื่นๆ ได้ ตัวอย่างเช่น ถ้าคุณตั้งค่าการจำลองจากโหนด 1 ไปยังโหนด 2 เรียกใช้คำสั่งบนโหนด 1

  1. ตรวจสอบสถานะปัจจุบัน
    ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {PASSWORD} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncrepl

    ผลลัพธ์ควรมีลักษณะดังต่อไปนี้

    olcSyncrepl: {0}rid=001 provider=ldap://{HOST}:{PORT}/ binddn="cn=manager,dc=apigee,dc=com" bindmethod=simple credentials={PASSWORD} searchbase="dc=apigee,dc=com" attrs="*,+" type=refreshAndPersist retry="60 1 300 12 7200 +" timeout=1
  2. สร้างไฟล์ repl.lidf และวางคำสั่งต่อไปนี้ลงในไฟล์
    dn: olcDatabase={2}bdb,cn=config
    changetype: modify
    replace: olcSyncRepl
        olcSyncRepl: rid=001
        provider=ldap://{NEW_HOST}:{PORT}/
        binddn="cn=manager,dc=apigee,dc=com"
        bindmethod=simple
        credentials={PASSWORD}
        searchbase="dc=apigee,dc=com"
        attrs="*,+"
        type=refreshAndPersist
        retry="60 1 300 12 7200 +"
        timeout=1

    ตรวจสอบว่าได้แทนที่ค่าที่เหมาะสมสำหรับตัวยึดตำแหน่งต่อไปนี้

    • {NEW_HOST}: โฮสต์ OpenLDAP ใหม่ที่คุณวางแผนจะจำลอง
    • {PORT}: พอร์ต OpenLDAP พอร์ตเริ่มต้นคือ 10389
    • {PASSWORD}: รหัสผ่าน OpenLDAP
  3. เรียกใช้คำสั่ง ldapmodify
    ldapmodify -x -w {PASSWORD} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f repl.ldif
        

    The output should be similar to the following:

    modifying entry "olcDatabase={2}bdb,cn=config"
  4. ยืนยันการจำลอง:
    ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {PASSWORD} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncrepl

    ผลลัพธ์ควรมีลักษณะดังต่อไปนี้

    olcSyncrepl: {0}rid=001 provider=ldap://{NEW_HOST}:{PORT}/ binddn="cn=manager,dc=apigee,dc=com" bindmethod=simple credentials={PASSWORD} searchbase="dc=apigee,dc=com" attrs="*,+" type=refreshAndPersist retry="60 1 300 12 7200 +" timeout=1

    คุณสามารถตรวจสอบว่าการจำลองทำงานได้อย่างถูกต้องโดยการอ่านและเปรียบเทียบ contextCSN จากเซิร์ฟเวอร์แต่ละรายการและตรวจสอบให้แน่ใจว่าตรงกัน

    ldapsearch -w {PASSWORD} -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h localhost -p 10389 contextCSN | grep contextCSN

การแก้ปัญหาการจำลอง OpenLDAP โจทย์

หากการติดตั้งของคุณใช้เซิร์ฟเวอร์ OpenLDAP หลายเซิร์ฟเวอร์ คุณสามารถตรวจสอบการตั้งค่าการจำลองเพื่อ เพื่อให้มั่นใจว่าเซิร์ฟเวอร์ทำงานได้อย่างถูกต้อง

  1. ตรวจสอบว่า ldapsearch แสดงผลข้อมูลจากเซิร์ฟเวอร์ OpenLDAP แต่ละรายการดังนี้
    ldapsearch -W -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h LDAP_IP -p 10389

    ระบบจะแจ้งให้คุณใส่รหัสผ่านของผู้ดูแลระบบ OpenLDAP

  2. ตรวจสอบการกำหนดค่าการจำลองโดยตรวจสอบ /opt/apigee/conf/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
  3. ตรวจสอบว่ารหัสผ่านของระบบเหมือนกันในเซิร์ฟเวอร์ OpenLDAP แต่ละรายการ
  4. ตรวจสอบการตั้งค่า iptable และ tcp Wrapper