記錄檔位置
OpenLDAP 記錄檔位於 /opt/apigee/var/log
目錄中。您可以定期封存及移除這些檔案,以免佔用過多磁碟空間。如需維護、封存及移除 OpenLDAP 記錄的相關資訊,請參閱 OpenLDAP 手冊的第 19.2 節:http://www.openldap.org/doc/admin24/maintenance.html。
手動設定使用者密碼
使用者可以在 Edge UI 中要求新的 Edge 密碼。使用者隨後會收到一封含有密碼設定資訊的電子郵件。不過,如果您的 SMTP 伺服器當機,或使用者因任何原因無法接收電子郵件,您可以使用 OpenLDAP 指令手動設定使用者的密碼。
如何設定使用者密碼:
- 使用
ldapsearch
下載使用者資訊:ldapsearch -w ldapAdminPWord -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h LDAP_IP -p 10389 > ldap.txt
- 在 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
- 根據使用者的 uid,使用
ldappasswd
設定使用者的密碼: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 系統密碼,但需要您知道現有的密碼。如果您已經遺失該密碼,可以使用下列程序重設密碼。
- 使用
slappasswd
為新的密碼建立 SSHA 加密密碼:slappasswd -h {SSHA} -s newPassWord
這個指令會以下列格式傳回字串:
{SSHA}+DOup9d6l+czfWzkIvajwYPArjPurhS6
- 在編輯器中開啟
/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
- 找出表單中的行:
olcRootPW:: OldPasswordString
- 將 OldPasswordString 替換為
slappasswd
傳回的字串。如果olcRootPw
後有 2 個冒號,請移除其中一個,並確保冒號後方有空格:olcRootPW: {SSHA}RGon+bLCe+Sk+HyHholFBj8ONQfabrhw
- 重新啟動 OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap restart
- 請嘗試使用
ldapsearch
檢查新密碼是否有效:ldapsearch -W -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h LDAP_IP -p 10389
系統會提示您輸入 OpenLDAP 管理員密碼,
- 在其他所有要用於複製的 OpenLDAP 伺服器上重複執行上述步驟。
- 更新管理伺服器,以便使用新密碼:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server store_ldap_credentials -p newPassWord
手動設定 Edge 管理員密碼
重設 Edge 密碼說明瞭如何變更 Edge 系統密碼,但需要您知道現有的密碼。如果您遺失 Edge 系統密碼,可以按照下列程序重設密碼。
- 在 UI 節點上,停止 Edge UI:
/opt/apigee/apigee-service/bin/apigee-service edge-ui stop
- 使用
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 管理員密碼,
- 使用新的 Edge 系統密碼,更新用來安裝 Edge UI 的設定檔:
APIGEE_ADMINPW=newPassWord
- 設定並重新啟動 Edge UI:
/opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
- (僅限 UI 上已啟用 TLS) 請參閱設定管理 UI 的 TLS 一文,在 Edge UI 上重新啟用 TLS。
刪除 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 節點。舉例來說,如果您要將節點從 node1 複製到 node2,請在 node1 上執行指令。
- 查看目前狀態:
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
- 建立
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 密碼。
- 執行
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"
- 驗證複製作業:
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 伺服器,您可以檢查複製設定,確認伺服器能正常運作。
- 確保
ldapsearch
傳回各個 OpenLDAP 伺服器的資料:ldapsearch -W -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h LDAP_IP -p 10389
系統會提示您輸入 OpenLDAP 管理員密碼,
- 檢查
/opt/apigee/conf/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
檔案來檢查複製設定。 - 確認每個 OpenLDAP 伺服器的系統密碼都相同。
- 檢查 iptables 和 tcp 包裝函式設定。