3 日間、ldap の設定に頭を悩ませてきました。最初はソースからインストールしようとしましたが、 を使用して再インストールしたところ、移行エラーが発生しましたが、すべて解決したと思います。ルート DN を適切に指定すると (何らかの理由で、指定されたベースが機能していません)、およびその類似製品apt-get
を実行できます。これは、サーバーが正常に機能していることを示していると思います。また、サーバーが以下で listen していることも確認しました。ただし、SSL を設定しようとしており、apt-get でインストールしたバージョンでは で設定する必要があり、以下のオプションを使用する必要があることは理解していますが、試してもサーバーに接続できません。ldapsearch -x
ldap.conf
cn=config
-H ldapi:/// -Y EXTERNAL
root@aeneas:/tmp/ldap# ldapmodify -H ldapi:/// -Y EXTERNAL -D 'cn=config' -f ./modify.ldif
ldap_sasl_interactive_bind_s: Can't contact LDAP server (-1)
root@aeneas:/tmp/ldap# netstat -plane | grep slapd
tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 0 53158 11280/slapd
tcp 0 0 0.0.0.0:636 0.0.0.0:* LISTEN 0 53163 11280/slapd
tcp6 0 0 :::389 :::* LISTEN 0 53159 11280/slapd
tcp6 0 0 :::636 :::* LISTEN 0 53164 11280/slapd
unix 2 [ ACC ] STREAM LISTENING 53160 11280/slapd /var/run/slapd/ldapi
unix 2 [ ] DGRAM 53154 11280/slapd
root@aeneas:/tmp/ldap# cat ./modify.ldif
dn: cn=config
changetype: modify
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ldap/ssl/cacert.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ldap/ssl/servercrt.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/lda/pssl/serverkey.pem
その後、デフォルトで SSL サーバーに接続し、証明書が指定されていない場合は終了しているのではないかldaps:///
と疑い、ポート 636 でのリッスンを無効ldapmodify
にしましたが、効果はありませんでした。
答え1
slapi
への接続は、LDAP
クライアントとサーバーを結合するパイプ ファイルがファイル システム上に存在することに基づいています。
もちろん、パイプ ファイルの場所はインストールによって異なります。
サーバーが でコンパイルされている場合、たとえば では/usr/local
、 slapd サーバーは のパイプにバインドします。
/usr/local/lib/run/ldapi
一方、ldapsearch
apt (Debian の例) からインストールされた標準ツールは、次の場所でパイプ ファイルを検索します。
/var/run/slapd/ldapi
ソフトリンクを作成することをお勧めします。
答え2
さらに調査したところ、元のソースからのインストールから実行可能ファイルがいくつか残っていました/usr/local/
。これらを削除すると接続の問題は修正されました。LDIF が問題を引き起こしていますが、これは本題から外れます。