日志文件位置
OpenLDAP 日志文件包含在目录 /opt/apigee/var/log
中。您可以定期归档和移除这些文件,以确保它们不会占用过多磁盘空间。如需了解如何维护、归档和移除 OpenLDAP 日志,请参阅 OpenLDAP 手册的第 19.2 节:http://www.openldap.org/doc/admin24/maintenance.html。
手动设置用户密码
用户可以在 Edge 界面中请求新的 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
- 使用
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 系统密码,但需要您知道现有密码。如果您丢失了该密码,可以按照以下步骤重置密码。
- 使用
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 系统密码,可以按照以下步骤重置密码。
- 在界面节点上,停止 Edge 界面:
/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 界面的配置文件:
APIGEE_ADMINPW=newPassWord
- 配置并重启 Edge 界面:
/opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
- (仅在界面上启用了 TLS 的情况下)按照为管理界面配置 TLS 中的说明,在边缘界面中重新启用 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 封装容器设置。