私は最初にLDAPを使用し、コンピュータクラスタにLDAPをインストールしようとしています。私はこの技術的なクイックスタートガイドを読んだ。https://www.openldap.org/doc/admin26/quickstart.html。ステップ8まですべて完了しましたが、ステップ9のslapd設定コマンドが問題を引き起こしています。
このガイドでは、「次のコマンドを実行して、slapd(8)で使用する構成データベースをインポートできます。su root -c /usr/local/sbin/slapadd -n 0 -F /usr/local/etc/slapd.d -l /usr/local/etc/openldap/slapd.ldif
」と説明しています。
私が実行したコマンドはsudo /usr/local/sbin/slapadd -n 0 -F /usr/local/etc/slapd.d -l /usr/local/etc/openldap/slapd.ldif
コマンドにリストされているすべてのディレクトリが存在し、対応するファイル、シンボリックリンク、およびディレクトリも存在します。コマンドを実行すると、このエラーが発生します。slapadd: could not add entry dn="cn=config" (line=1): Closing DB...
問題の解決中にステップ8に戻りました。最後に、「指定されたolcDbDirectoryはslapd(8)を起動する前に存在しなければならないことに注意してください」と指定されています。私のslapd.ldifファイルのolcDbDirectoryは次のとおりです。/usr/local/var/openldap-data
ディレクトリが存在するが権限がないため、ディレクトリには入れません。おそらく、これがエラーが発生する理由の1つであると思います。また、私のslapd.d
ディレクトリ(/etc/ldap/slapd.d
)内にディレクトリとファイルがあります。ディレクトリの内容は次のとおりです。'cn=config' 'cn=config.ldif'
他の投稿を読んでいますが、項目が2つあってはいけないという内容を読みました。しかし、わからないので何も削除しませんでした。
この問題を解決するにはどうすればよいですか?私は同じエラーを持つ他の多くの人を見つけることができませんでした。注目すべき重要な点は、以前にLDAPインストールを複数回試みたことです。このような試みは、失敗したり満足のいく結果をもたらさなかったため、最終的に取り除かれました。たぶん、このエラーを引き起こすすべてのファイルを削除していない可能性があります。この問題にご協力いただきありがとうございます。より多くの情報を提供する必要がある場合は、お知らせください。
ありがとうございます。
ベストアンサー1
これには2つのデータベースが関係します。
-n 0
~である構成cn=config
に個々のLDIFファイルの束として格納されているデータベース(プレフィックス)/usr/local/etc/slapd.d
。-n 1
あなたの最初ですデータにLMDBまたはBDBデータベースとして保存されているデータベース(プレフィックスo=Foo
またはその他)。dc=foo,dc=bar
/usr/local/var/openldap-data
アイテムを次にインポートしようとしています。構成データベースは/ etcに格納されるため、現在は/ varのディレクトリは重要ではありません。
実際には逆の問題があるようです。次の項目を追加しようとしています。すでに存在する、述べたように、/etc/ldap/slapd.d
ディレクトリにその.ldif
ファイルが既に存在します。したがって、「slapadd」を使用してファイルをインポートする前に、まずslapd.d /ディレクトリからすべてのファイルを削除する必要があります。
(または「古いスタイル」で始まり、slapd.conf
slapdを使用してLDIF形式に変換することもできますslapd -f slapd.conf -F slapd.d
。)
もう一つの問題は、同じものへの2つの異なる経路について話していることです。最初にインポートし、次に同じものを見つけ/usr/local/etc/slapd.d
ます。/etc/ldap/slapd.d
(全体的にOpenLDAPシステムがインストールされているように聞こえます。そしてカスタムコンパイルされた両方が異なるパスを使用します。良いわけではありません。私は本当にこの混乱した部分を整理します。またはもう一つインストール...
実は私もお勧めします新鮮すでにさまざまなタスクを実行しているシステムではなく、システムです。 )