ログファイルの場所
OpenLDAP のログファイルは、ディレクトリ /opt/apigee/var/log
に含まれています。これらのファイルは、過度にディスク領域を占有しないように定期的にアーカイブに移動したり削除したりできます。OpenLDAP ログの保守、アーカイブ、削除に関する情報は、http://www.openldap.org/doc/admin24/maintenance.html の OpenLDAP マニュアルのセクション 19.2 にあります。
手動でユーザーのパスワードを設定する
ユーザーは 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
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 システムのパスワードを設定する
OpenLDAP システムのパスワードを変更する方法については、Edge のパスワードを再設定するを参照してください(ただし既存のパスワードを知っている必要があります)。そのパスワードを紛失した場合は、次の手順に従ってパスワードを再設定できます。
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 つのコロンがある場合、1 つを削除して、コロンの後ろに必ずスペースを 1 つ付けます。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 サーバーでも、これらの手順を繰り返します。
- 新しいパスワードを使用するには、Management Server を更新します。
/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 ラッパーの設定を確認します。