私は歩き回っています このチュートリアル そしてエラーが発生し続けました-おそらく手動で入力していたためです-それで私は再試行し、入力後にそれを実行しました
# Load dynamic backend modules
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: back_hdb
# Database settings
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=example,dc=local
olcDbDirectory: /var/lib/ldap
それはうまくいったので、残りを入力して再実行しました:
Sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.example.com.ldif
そして今それは言う
ldap_add: Other (e.g., implementation specific) error (80)
additional info: <olcSuffix> namingContext "dc=home,dc=local" already served by a preceding hdb database
私が推測するように、これは、同じ名前ですでに存在するため、ldapaddを完了できないことを意味します。
( ここから )を使用して削除してみました:
Sudo ldapdelete 'dc=example,dc=local'
パスワードを要求していますが、パスワードが機能せず、初期設定でolcRootPWとして何も設定されていませんでした。
このコンテキストでldapdeleteを使用して、このデータベースを再セットアップするにはどうすればよいですか?
一般に、cn = configの初期設定プロセスは非常に簡単ではなく、その過程で自分の足を撃つ方法はたくさんあります。ただし、cn = configはslapd.d(通常は${prefix}/etc/openldap/
)のLDIF形式のファイルに保存されることに注意してください。手作業で編集できます(注意深く、slapdが実行されていない間)。したがって、自分自身をロックアウトした場合(RootDN/RootPWなし)、またはcn = configを完全に壊した場合は、いつでもそこで修正できます。
基本的な構成を実行するための良い方法は、実際に古いスタイルslapd.confの方法で実行してから、に変換することです。 slapd.d(slaptest -f -F
を使用)基本的なもの(データベース、モジュール、およびRootDN/RootPW)がソートされたら。