作者 主題: 新版openldap-servers-2.4.19-4.fc12.i686的設定  (閱讀 15423 次)

0 會員 與 1 訪客 正在閱讀本文。

tonyvan123

  • 活潑的大學生
  • ***
  • 文章數: 447
    • 檢視個人資料
1. 新版OpenLDAP version 2.3 introduced an optional new feature whereby configuration may be performed at run-time using a DIT entry  called cn=config.

  可以用    slaptest -f slapd.conf -F slapd.d
  將slapd.conf轉成/etc/openldap/slapd.d的格式
  轉格式時會將/etc/openldap/slapd.conf中include的模組放到/etc/openldap/slapd.d/cn=config/cn=schema
  將slapd.conf更名為slapd.conf.20100426即可改成 DIT格式啟動openldap
  但在啟動slapd之前要修改/etc/openldap/slapd.d 目錄下的部份檔案

1.1. 建議先將/var/lib/ldap目錄先刪除
 再下 ln -s /etc/openldap/slapd.d /var/lib/ldap


1.2. 修改/etc/openldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif
 檔案中以下2行
 olcSuffix: dc=your-domain,dc=idv,dc=tw
 olcRootDN: uid=root,ou=People,dc=your-domain,dc=idv,dc=tw

 並自行新增以下這行,否則出現 ldap_bind: Invalid credentials (49)
 olcRootPW: secret


1.3. 修改/etc/openldap/slapd.d/cn=config/olcDatabase={2}monitor.ldif
 修改以下這行
 olcAccess: {0}to * by dn.base="uid=root,ou=People,dc=my-domain,dc=idv,dc=tw" read by * none


1.4. 修改/etc/openldap/slapd.d/cn=config/ olcDatabase={0}config.ldif
 olcRootDN: uid=root,ou=People,dc=my-domain,dc=idv,dc=tw


2. schema已改放在
 /etc/openldap/slapd.d/cn=config/cn=schema   目錄下且檔名也完全不一樣了


3. 設定完後啟動 /etc/rc.d/init.d/slapd start
會出現/var/lib/ldap owner 不是 ldap的錯誤而不能啟動
沒關係,下 chown ldap:ldap /var/lib/ldap/*
重啟動/etc/rc.d/init.d/slapd start 即OK


« 上次編輯: 2010-04-26 19:33 由 tonyvan123 »

rainday

  • 鑽研的研究生
  • *****
  • 文章數: 738
  • 性別: 男
  • enhancing and optimizing
    • 檢視個人資料
回覆: 新版openldap-servers-2.4.19-4.fc12.i686的設定
« 回覆 #1 於: 2010-04-30 03:37 »
順便請問一下
最近剛好有compile新版的openldap 2.4.21
我是用tarball重新compile完的slapd , configure中可以enable的功能都加了 , 但在slapd啟動讀取slapd.conf,對於olcAccess等olc conf指令參數,都會出現unknown directive的錯誤,導致slapd直接失敗結束運作
由於不是語法或設定值錯誤 , 而是slapd跟本不認得這個指令參數
trace code 和 官方文件 及google , 還並未發現有類似的討論及章節
不知道有沒有其他人也有遇到這情形
還是我哪個環節有沒做到的地方
<0  =_=  Don't learn to hack , hack to learn.

tonyvan123

  • 活潑的大學生
  • ***
  • 文章數: 447
    • 檢視個人資料
回覆: 新版openldap-servers-2.4.19-4.fc12.i686的設定
« 回覆 #2 於: 2010-04-30 09:05 »
順便請問一下
最近剛好有compile新版的openldap 2.4.21
我是用tarball重新compile完的slapd , configure中可以enable的功能都加了 , 但在slapd啟動讀取slapd.conf,對於olcAccess等olc conf指令參數,都會出現unknown directive的錯誤,導致slapd直接失敗結束運作
由於不是語法或設定值錯誤 , 而是slapd跟本不認得這個指令參數
trace code 和 官方文件 及google , 還並未發現有類似的討論及章節
不知道有沒有其他人也有遇到這情形
還是我哪個環節有沒做到的地方
我沒重新compiler過,是沒碰過類似問題,不過現在在用openldap-servers-2.4.19-4.fc12.i686還是有些問題,像擴充的schema沒被include進來,google也有很多類似的文章(都是英文和日文),但都還沒解決,原則上把slapd.conf轉成ldif格式時會把include的schema放在/etc/openldap/slapd.d/cn=config/cn=schema目錄下,文件也說所有的/etc/openldap/slapd.d/cn=config/cn=schema目錄下的schema都應會自動被include進來,但事實上卻不是,從google上找到的文章都反應事實上只有系統所需的schema(即放在/etc/openldap/slapd.d/cn=config/cn=schema.ldif這個檔系統所需的schema)有被include進來,所以;讓我感覺好像文件有漏不少說明,所以不太建議自己去compile tarball,因為恐怕會碰到更多問題

其次Fedora Core 12,文件也有說明,現在slapd.conf和/etc/openldap/slapd.d/目前還共存,所以如自己compiler可能要改不少參數,以上意見供參考
« 上次編輯: 2010-04-30 13:33 由 tonyvan123 »

rainday

  • 鑽研的研究生
  • *****
  • 文章數: 738
  • 性別: 男
  • enhancing and optimizing
    • 檢視個人資料
回覆: 新版openldap-servers-2.4.19-4.fc12.i686的設定
« 回覆 #3 於: 2010-05-01 00:31 »
謝謝你的說明
今天研究了一下有想到新版本的新架構,看到-d -1 debug訊息最後
服務居然還有多讀取cn=config , 才想到有這可能,應該是要在新架構目錄下做設定可能才能正確的使用提供的指令參數
因為有看到slapd讀完conf裡自訂的include檔案後,居然還有後序olcDatabase等等的預設值讀入
這部份要再研究研究

因為我是使用CentOS,所以服務要用新版本,都是手動recompile以符合自己的需求
其本上大多數文件只有說個大概,有些程式在新版release時,configure --help也只能參考,有時doc裡也都會東漏西漏的,trace code對我來說可能比看文件快=_=
<0  =_=  Don't learn to hack , hack to learn.

tonyvan123

  • 活潑的大學生
  • ***
  • 文章數: 447
    • 檢視個人資料
回覆: 新版openldap-servers-2.4.19-4.fc12.i686的設定
« 回覆 #4 於: 2010-06-04 16:49 »
1. 在slapd.conf中要加入moduleload back_bdb.la以支援Berkeley DB
2. 檢查schema檔
2.1. 檢查 /etc/ldap/schema的schema檔是否正確
2.2. 檢查 /etc/ldap/schema的schema檔是否正確
※ 在初期如果/etc/ldap/slapd.d/cn=config/cn=schema目錄下有和
/etc/ldap/schema相同的schema,建議將/etc/ldap/schema的schema
的資料修改成正確的,之後將/etc/ldap/slapd.d/cn=config/cn=schema
schema檔全刪除再用slaptest -f slapd.conf -F slapd.d重新產生
/etc/ldap/slapd.d/cn=config/cn=schema目錄下的schema檔
3. 建議切換目錄至 /etc/ldap
下指令slaptest -f slapd.conf -F slapd.d重設所有/etc/ldap/slapd.d
目錄下設定檔和schema 修改完所有設定檔後,要將/etc/ldap/slapd.d目錄下的所有檔案的
owner和group改成openldap:opeldap
目錄權限改成 775,檔案權限改成664
修改/etc/ldap/slapd.d/cn=config/olcDatabase\=\{1\}bdb.ldif將olcRootPW:: kLdicke改成 olcRootPW: secret
然後啟動slapd
/etc/init.d/slapd start
如此即已完成初步的設定
4. load系統之外的schema
設定檔為/etc/ldap/slapd.d/cn=config/cn=module{0}.ldif
以下為範例
dn: cn=module{0}
objectClass: olcModuleList
cn: module{0}
olcModuleLoad: {0}back_bdb.la
structuralObjectClass: olcModuleList
include: file:///etc/ldap/slapd.d/cn=config/cn=schema/cn={0}corba.ldif
include: file:///etc/ldap/slapd.d/cn=config/cn=schema/cn={1}core.ldif
include: file:///etc/ldap/slapd.d/cn=config/cn=schema/cn={2}cosine.ldif
include: file:///etc/ldap/slapd.d/cn=config/cn=schema/cn={3}duaconf.ldif
include: file:///etc/ldap/slapd.d/cn=config/cn=schema/cn={4}dyngroup.ldif
include: file:///etc/ldap/slapd.d/cn=config/cn=schema/cn={5}inetorgperson.ldif
include: file:///etc/ldap/slapd.d/cn=config/cn=schema/cn={6}java.ldif
include: file:///etc/ldap/slapd.d/cn=config/cn=schema/cn={7}misc.ldif
include: file:///etc/ldap/slapd.d/cn=config/cn=schema/cn={8}nis.ldif
include: file:///etc/ldap/slapd.d/cn=config/cn=schema/cn={9}openldap.ldif
include: file:///etc/ldap/slapd.d/cn=config/cn=schema/cn={10}ppolicy.ldif
include: file:///etc/ldap/slapd.d/cn=config/cn=schema/cn={11}collective.ldif
include: file:///etc/ldap/slapd.d/cn=config/cn=schema/cn={12}samba.ldif
« 上次編輯: 2010-06-04 16:58 由 tonyvan123 »

jeremy168

  • 活潑的大學生
  • ***
  • 文章數: 255
    • 檢視個人資料
    • http://www.pica.idv.tw
Re: 新版openldap-servers-2.4.19-4.fc12.i686的設定
« 回覆 #5 於: 2012-04-04 22:23 »
不好意思~請教一下我在fv 16上安裝了openldap-servers套件但我為何
一直在/etc/openldap上找不到sldap.conf這個檔案呢?

只有看到sldao.d這個資料夾和一個ldap.conf檔案而以,3q