- PR -

slapdが立ち上がらない

1
投稿者投稿内容
EO
会議室デビュー日: 2004/10/06
投稿数: 5
投稿日時: 2004-10-06 19:37
LDAPサーバを立てようと思い

openldap-2.2.17を
#./configure(オプションなし)
#make depend
#make
#make test
#make install
の順でインストールまで成功していますが
/usr/local/libexec/slapdを叩くもののslapdが立ち上がりません。
slapd.confは何も変更していません。
で、デバッグを取ってみましたが(以下となります)
全くわかりません。

煮詰まってしまいました。。。
(なんどもインストールし直しました。)
ご教授お願いいたします。


-----------------------デバッグ------------
slapd startup: initiated.
backend_startup: starting "dc=my-domain,dc=com"
bdb_db_open: dbenv_open(/usr/local/var/openldap-data)
bdb(dc=my-domain,dc=com): Ignoring log file: /usr/local/var/openldap-data/log.0000000001: magic number 0, not 40988
bdb(dc=my-domain,dc=com): Invalid log file: log.0000000001: Invalid argument
bdb(dc=my-domain,dc=com): PANIC: Invalid argument
bdb(dc=my-domain,dc=com): PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
bdb_db_open: dbenv_open failed: DB_RUNRECOVERY: Fatal error, run database recovery (-30978)
backend_startup: bi_db_open failed! (-30978)
slapd shutdown: initiated
====> bdb_cache_release_all
bdb(dc=my-domain,dc=com): DB_ENV->lock_id_free interface requires an environment configured for the locking subsystem
slapd shutdown: freeing system resources.
bdb(dc=my-domain,dc=com): txn_checkpoint interface requires an environment configured for the transaction subsystem
bdb_db_destroy: txn_checkpoint failed: Invalid argument (22)
slapd stopped.
connections_destroy: nothing to destroy.
-----------------------

---------サーバ情報----------
*Redhat7.3
*kernel 2.4.18-3
*db-4.2.52はインストール済み

# ldd /usr/local/libexec/slapd
libdb-4.2.so => /usr/lib/libdb-4.2.so (0x40017000)
libresolv.so.2 => /lib/libresolv.so.2 (0x400c3000)
libpthread.so.0 => /lib/i686/libpthread.so.0 (0x400d4000)
libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
-------------------------

ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2004-10-07 08:04
OpenLDAP のデバッグログは手元にないので比較とかできないんですが、
とりあえず。
引用:

EOさんの書き込み (2004-10-06 19:37) より:
/usr/local/var/openldap-data/log.0000000001: magic number 0, not 40988
bdb(dc=my-domain,dc=com): Invalid log file: log.0000000001: Invalid argument


なんか文句を言われているこのファイルはどうなっているのでしょうか?

ひょっとしたら原因はそこじゃなくて、2行前あたりにあるかもですが。
バックエンドのDBを変えてみると、問題の切り分けができるかも。
# ↑このへん、全くのあてずっぽうです。
EO
会議室デビュー日: 2004/10/06
投稿数: 5
投稿日時: 2004-10-07 11:17
早速の返答ありがとうございます。

引用:

なんか文句を言われているこのファイルはどうなっているのでしょうか?


存在はしています。
# ls -la
合計 20
drwx------ 2 root root 4096 10月 7 10:55 .
drwxr-xr-x 5 root root 4096 10月 5 17:15 ..
-rw------- 1 root root 53482 10月 6 15:03 log.0000000001

中身をみたら何も書いてありませんでした。
引用:

ひょっとしたら原因はそこじゃなくて、2行前あたりにあるかもですが。
バックエンドのDBを変えてみると、問題の切り分けができるかも。



ちょっと長いんですけどデバッグ全部貼り付けます。
また、DBをldbmにしたらまた違ったエラーが、、、、(汗


ーーーーーーデバッグーーーーーーーーーーー
# /usr/local/libexec/slapd -d 1
@(#) $OpenLDAP: slapd 2.2.17 (Oct 6 2004 18:42:15) $
root@rh.example.com:/usr/local/src/openldap-2.2.17/servers/slapd
daemon_init: listen on ldap:///
daemon_init: 1 listeners to open...
ldap_url_parse_ext(ldap:///)
daemon: IPv6 socket() failed errno=97 (Address family not supported by protocol)
daemon: initialized ldap:///
daemon_init: 2 listeners opened
slapd init: initiated server.
bdb_initialize: initialize BDB backend
bdb_initialize: Sleepycat Software: Berkeley DB 4.2.52: (December 3, 2003)
>>> dnNormalize: <cn=Subschema>
=> ldap_bv2dn(cn=Subschema,0)
ldap_err2string
<= ldap_bv2dn(cn=Subschema)=0 Success
=> ldap_dn2bv(272)
ldap_err2string
<= ldap_dn2bv(cn=subschema)=0 Success
<<< dnNormalize: <cn=subschema>
bdb_db_init: Initializing bdb database
>>> dnPrettyNormal: <dc=my-domain,dc=com>
=> ldap_bv2dn(dc=my-domain,dc=com,0)
ldap_err2string
<= ldap_bv2dn(dc=my-domain,dc=com)=0 Success
=> ldap_dn2bv(272)
ldap_err2string
<= ldap_dn2bv(dc=my-domain,dc=com)=0 Success
=> ldap_dn2bv(272)
ldap_err2string
<= ldap_dn2bv(dc=my-domain,dc=com)=0 Success
<<< dnPrettyNormal: <dc=my-domain,dc=com>, <dc=my-domain,dc=com>
>>> dnPrettyNormal: <cn=Manager,dc=my-domain,dc=com>
=> ldap_bv2dn(cn=Manager,dc=my-domain,dc=com,0)
ldap_err2string
<= ldap_bv2dn(cn=Manager,dc=my-domain,dc=com)=0 Success
=> ldap_dn2bv(272)
ldap_err2string
<= ldap_dn2bv(cn=Manager,dc=my-domain,dc=com)=0 Success
=> ldap_dn2bv(272)
ldap_err2string
<= ldap_dn2bv(cn=manager,dc=my-domain,dc=com)=0 Success
<<< dnPrettyNormal: <cn=Manager,dc=my-domain,dc=com>, <cn=manager,dc=my-domain,dc=com>
matching_rule_use_init
1.2.840.113556.1.4.804 (integerBitOrMatch): matchingRuleUse: ( 1.2.840.113556.1.4.804 NAME 'integerBitOrMatch' APPLIES supportedLDAPVersion )
1.2.840.113556.1.4.803 (integerBitAndMatch): matchingRuleUse: ( 1.2.840.113556.1.4.803 NAME 'integerBitAndMatch' APPLIES supportedLDAPVersion )
1.3.6.1.4.1.1466.109.114.2 (caseIgnoreIA5Match): matchingRuleUse: ( 1.3.6.1.4.1.1466.109.114.2 NAME 'caseIgnoreIA5Match' APPLIES ( email $ assoc
iatedDomain $ dc $ mail $ altServer ) )
1.3.6.1.4.1.1466.109.114.1 (caseExactIA5Match): matchingRuleUse: ( 1.3.6.1.4.1.1466.109.114.1 NAME 'caseExactIA5Match' APPLIES ( email $ associa
tedDomain $ dc $ mail $ altServer ) )
2.5.13.35 (certificateMatch): matchingRuleUse: ( 2.5.13.35 NAME 'certificateMatch' APPLIES ( cACertificate $ userCertificate ) )
2.5.13.34 (certificateExactMatch): matchingRuleUse: ( 2.5.13.34 NAME 'certificateExactMatch' APPLIES ( cACertificate $ userCertificate ) )
2.5.13.30 (objectIdentifierFirstComponentMatch): matchingRuleUse: ( 2.5.13.30 NAME 'objectIdentifierFirstComponentMatch' APPLIES ( supportedAppl
icationContext $ ldapSyntaxes $ supportedFeatures $ supportedExtension $ supportedControl ) )
2.5.13.29 (integerFirstComponentMatch): matchingRuleUse: ( 2.5.13.29 NAME 'integerFirstComponentMatch' APPLIES supportedLDAPVersion )
2.5.13.27 (generalizedTimeMatch): matchingRuleUse: ( 2.5.13.27 NAME 'generalizedTimeMatch' APPLIES ( modifyTimestamp $ createTimestamp ) )
2.5.13.24 (protocolInformationMatch): matchingRuleUse: ( 2.5.13.24 NAME 'protocolInformationMatch' APPLIES protocolInformation )
2.5.13.23 (uniqueMemberMatch): matchingRuleUse: ( 2.5.13.23 NAME 'uniqueMemberMatch' APPLIES uniqueMember )
2.5.13.22 (presentationAddressMatch): matchingRuleUse: ( 2.5.13.22 NAME 'presentationAddressMatch' APPLIES presentationAddress )
2.5.13.20 (telephoneNumberMatch): matchingRuleUse: ( 2.5.13.20 NAME 'telephoneNumberMatch' APPLIES telephoneNumber )
2.5.13.17 (octetStringMatch): matchingRuleUse: ( 2.5.13.17 NAME 'octetStringMatch' APPLIES userPassword )
2.5.13.16 (bitStringMatch): matchingRuleUse: ( 2.5.13.16 NAME 'bitStringMatch' APPLIES x500UniqueIdentifier )
2.5.13.14 (integerMatch): matchingRuleUse: ( 2.5.13.14 NAME 'integerMatch' APPLIES supportedLDAPVersion )
2.5.13.13 (booleanMatch): matchingRuleUse: ( 2.5.13.13 NAME 'booleanMatch' APPLIES hasSubordinates )
2.5.13.11 (caseIgnoreListMatch): matchingRuleUse: ( 2.5.13.11 NAME 'caseIgnoreListMatch' APPLIES ( registeredAddress $ postalAddress ) )
2.5.13.8 (numericStringMatch): matchingRuleUse: ( 2.5.13.8 NAME 'numericStringMatch' APPLIES ( internationaliSDNNumber $ x121Address ) )
2.5.13.7 (caseExactSubstringsMatch): matchingRuleUse: ( 2.5.13.7 NAME 'caseExactSubstringsMatch' APPLIES ( dnQualifier $ destinationIndicator $
serialNumber ) )
2.5.13.6 (caseExactOrderingMatch): matchingRuleUse: ( 2.5.13.6 NAME 'caseExactOrderingMatch' APPLIES ( dnQualifier $ destinationIndicator $ seri
alNumber ) )
2.5.13.5 (caseExactMatch): matchingRuleUse: ( 2.5.13.5 NAME 'caseExactMatch' APPLIES ( uid $ dmdName $ houseIdentifier $ dnQualifier $ generatio
nQualifier $ initials $ givenName $ destinationIndicator $ physicalDeliveryOfficeName $ postOfficeBox $ postalCode $ businessCategory $ description
$ title $ ou $ o $ street $ st $ l $ c $ serialNumber $ sn $ knowledgeInformation $ labeledURI $ cn $ name $ ref $ vendorVersion $ vendorName $ supp
ortedSASLMechanisms ) )
2.5.13.4 (caseIgnoreSubstringsMatch): matchingRuleUse: ( 2.5.13.4 NAME 'caseIgnoreSubstringsMatch' APPLIES ( dnQualifier $ destinationIndicator
$ serialNumber ) )
2.5.13.3 (caseIgnoreOrderingMatch): matchingRuleUse: ( 2.5.13.3 NAME 'caseIgnoreOrderingMatch' APPLIES ( dnQualifier $ destinationIndicator $ se
rialNumber ) )
2.5.13.2 (caseIgnoreMatch): matchingRuleUse: ( 2.5.13.2 NAME 'caseIgnoreMatch' APPLIES ( uid $ dmdName $ houseIdentifier $ dnQualifier $ generat
ionQualifier $ initials $ givenName $ destinationIndicator $ physicalDeliveryOfficeName $ postOfficeBox $ postalCode $ businessCategory $ descriptio
n $ title $ ou $ o $ street $ st $ l $ c $ serialNumber $ sn $ knowledgeInformation $ labeledURI $ cn $ name $ ref $ vendorVersion $ vendorName $ su
pportedSASLMechanisms ) )
2.5.13.1 (distinguishedNameMatch): matchingRuleUse: ( 2.5.13.1 NAME 'distinguishedNameMatch' APPLIES ( seeAlso $ roleOccupant $ owner $ member $
distinguishedName $ aliasedObjectName $ namingContexts $ subschemaSubentry $ modifiersName $ creatorsName ) )
2.5.13.0 (objectIdentifierMatch): matchingRuleUse: ( 2.5.13.0 NAME 'objectIdentifierMatch' APPLIES ( supportedApplicationContext $ supportedFeat
ures $ supportedExtension $ supportedControl ) )
slapd startup: initiated.
backend_startup: starting "dc=my-domain,dc=com"
bdb_db_open: dbenv_open(/usr/local/var/openldap-data)
bdb(dc=my-domain,dc=com): Ignoring log file: /usr/local/var/openldap-data/log.0000000001: magic number 0, not 40988
bdb(dc=my-domain,dc=com): Invalid log file: log.0000000001: Invalid argument
bdb(dc=my-domain,dc=com): PANIC: Invalid argument
bdb(dc=my-domain,dc=com): PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
bdb_db_open: dbenv_open failed: DB_RUNRECOVERY: Fatal error, run database recovery (-30978)
backend_startup: bi_db_open failed! (-30978)
slapd shutdown: initiated
====> bdb_cache_release_all
bdb(dc=my-domain,dc=com): DB_ENV->lock_id_free interface requires an environment configured for the locking subsystem
slapd shutdown: freeing system resources.
bdb(dc=my-domain,dc=com): txn_checkpoint interface requires an environment configured for the transaction subsystem
bdb_db_destroy: txn_checkpoint failed: Invalid argument (22)
slapd stopped.
connections_destroy: nothing to destroy.
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー



ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2004-10-07 20:05
すみません、DB を変えるときは configure からやり直さなくては
ならなかったと思います。

引用:

EOさんの書き込み (2004-10-07 11:17) より:
存在はしています。
# ls -la
合計 20
drwx------ 2 root root 4096 10月 7 10:55 .
drwxr-xr-x 5 root root 4096 10月 5 17:15 ..
-rw------- 1 root root 53482 10月 6 15:03 log.0000000001

中身をみたら何も書いてありませんでした。


ファイルサイズをみると、空というわけではないですね。
このファイル(正常に処理されているもの)の中身はバイナリです。
エラーメッセージでは magic number がどうこうと言っているので、
ファイルの先頭付近の内容が予期しているものとは違うのでしょう。

ちょっと気になるのは、ファイルが root の所有で 0600 のパーミッションに
なっていることです。よくやるように、slapd を起動する際に -u や -g の
オプションをつけてユーザを指定していたら、読み書きできなくて
エラーになると思いますが...
EO
会議室デビュー日: 2004/10/06
投稿数: 5
投稿日時: 2004-10-08 12:39

報告です。解決しました。
やっぱりlog.0000000001がいけなかったみたいです。
このディレクトリ配下のファイルを全て削除して
もう一度起動してみたら、正常に起動しました。
以下が正常起動時のデバッグとなります。

ぽんすさん、ありがとうございました。m(_ _)m


---------------------------------------------
slapd startup: initiated.
backend_startup: starting "dc=my-domain,dc=com"
bdb_db_open: dc=my-domain,dc=com
bdb_db_open: dbenv_open(/usr/local/var/openldap-data)
slapd starting
daemon: added 6r
daemon: select: listen=6 active_threads=0 tvp=NULL
-------------------------------------------
1

スキルアップ/キャリアアップ(JOB@IT)