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

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

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

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

ผู้ใช้สามารถขอรหัสผ่าน Edge ใหม่ได้ใน UI ของ Edge จากนั้นผู้ใช้จะได้รับอีเมลพร้อมข้อมูลเกี่ยวกับการตั้งรหัสผ่าน อย่างไรก็ตาม หากเซิร์ฟเวอร์ 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 ดังนี้
    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. ตรวจสอบการตั้งค่า iptables และ tcp wrapper