国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

手把手教你:安裝Opldap歷險記

2019-11-18 11:48:52
字體:
來源:轉載
供稿:網友

  安裝環境:
  RedHat linux9.0 內核版本2.40.2-8
  
  一、預備工作:
  按照http://www.openldap.org/faq/data/cache/196.Html所列的軟件預備:
  
  1.安裝的先決條件為:C開發環境,支持Posix標準的正規表達式,支持Berkeley標準的網絡協議。
  
  OpenLDAP 2.x is designed to "configure" and "build" on UNIX (and UNIX-like) systems.
  
  The PRerequisites depending upon the which features you desire.
  
  General prerequisites include:
  
   C Development Environment
  
   POSIX REGEX routines
  
   Berkeley Networking (socket/select) routines
  
  2.安裝SLAPD即為openldap的守護程序所需的軟件:Berkeley數據庫和GBDM數據庫可以兩者選擇其一。我選擇了前者。
  
  Berkeley數據庫4.2和相關的patches文件:源代碼和補丁文件可從http://www.sleepycat.com/下載。打補丁要使用patch命令運行,主要功能為在編譯前更新源代碼中的bug。關于patch的具體用法請參考www-900.ibm.com/developerWorks/ cn/linux/l-diffp/index.shtml。
  
  SLAPD (with BDB database) prerequisites includes:
  
   Berkeley Database 4.2 from Sleepycat (http://www.sleepycat.com/)
  
  Latest version with patches is recommended.
  
  SLAPD (with LDBM database) prerequisites include suitable database support. One of following packages can fulfill the prerequisite.
  
   Berkeley Database from Sleepycat (http://www.sleepycat.com/)
  
   GNU Database Manager (GDBM) from FSF (http://www.gnu.org/)
  
  For OpenLDAP 2.1 (or later), Berkeley DB 4.1 is recommended.
  
  SLURPD prerequisites include:
  
   Thread support (Posix Threads and others)
  
  3.選裝軟件:SSL/TLS和SASL。SSL/TLS提供信息加密功能,可以從http://www.openssl.org下載,但是在安裝前需要打補丁詳情見http://www.openldap.org/faq/index.cgi?file=185。Cyrus-SASL主要提供給一些安全認證的功能,可以從http://asg.web.cmu.edu/sasl/下載源代碼。由于這兩個都是選裝軟件,所以按照計算機的負載方面來選擇了后者。
  
  SSL/TLS prerequisites(選裝):
  
   OpenSSL 0.9.6 from http://www.openssl.org
  
  The OpenSSL library usually needs to be patched before it will work correctly. See this FAQ article for details: http://www.openldap.org/faq/index.cgi?file=185 (Note about OpenSSL and crypt())
  
  SASL prerequisites(選裝):
  
   Cyrus-SASL from http://asg.web.cmu.edu/sasl/
  
  二、開始安裝:
  1.安裝Berkeley數據庫(Berkeley Database 4.2.52):
  
  tar -zxvf db-4.2.52.NC.tar.gz或者gzip –d db-4.2.52.NC.tar.gz再tar –xf db-4.2.52.NC.tar。
  解完壓后,會生成一個db-4.2.52.NC目錄,進行該目錄下的build_unix目錄,我們將在這個目錄中配置和安裝Berkeley4.2.52。執行以下命令進行配置安裝。
  # ../dist/configure
  # make
  # make install
  也是按linux源碼安裝的三步曲完成,沒有什么好說的了。該軟件默認是安裝在/usr/local/BerkeleyDB.4.2目錄下。安裝完成后,要把/usr/local/BerkeleyDB.4.2/lib的庫路徑加到/etc/ld.so.conf文件內,這個文件就是系統動態鏈接庫的配置文件。此文件內,存放著可被LINUX共享的動態鏈接庫所在目錄的名字(系統目錄 /lib,/usr/lib除外),各個目錄名間以空白字符(空格,換行等)或冒號或逗號分隔。一般的LINUX發行版中,此文件均含一個共享目錄 /usr/X11R6/lib,為X window窗口系統的動態鏈接庫所在的目錄。添加完成后執行一次 ldconfig –v,使用配置文件生效。這樣編譯openldap時才能找到相應的庫文件。
  
  2.安裝Cyrus-SASL(cyrus-sasl-2.1.20):
  
  tar –zxvf cyrus-sasl-2.1.20.tar.gz或者gzip –d cyrus-sasl-2.1.20.tar.gz再tar –xf cyrus-sasl-2.1.20.tar。
  
  解完壓縮,會生成cyrus-sasl-2.1.20目錄,進入該目錄,按照linux源碼安裝的三步曲完成配置和安裝:
  
  # ./configure
  
  # make
  
  # make install
  
  由于Cyrus-sasl需要一些庫支持,假如在編譯時碰到問題,請訪問http://asg.web.cmu.edu/sasl/。我比較幸運:-)。安裝完成后,要把/usr/local/lib/sasl2和/usr/local/lib的庫路徑加到/etc/ld.so.conf文件內,添加完成后執行一次 ldconfig –v,使用配置文件生效。這樣編譯openldap時才能找到相應的庫文件。
  
  運行結果:
  
  ldconfig -v
  
  ...
  
  /usr/local/lib:
  
      libldap_r-2.2.so.7 -> libldap_r-2.2.so.7.0.13
  
      libldap-2.2.so.7 -> libldap-2.2.so.7.0.13
  
      liblber-2.2.so.7 -> liblber-2.2.so.7.0.13
  
      libsasl2.so.2 -> libsasl2.so.2.0.20
  
  /usr/local/lib/sasl2:
  
      libanonymous.so.2 -> libanonymous.so.2.0.20
  
      libplain.so.2 -> libplain.so.2.0.20
  
      libotp.so.2 -> libotp.so.2.0.20
  
      libdigestmd5.so.2 -> libdigestmd5.so.2.0.20
  
      libcrammd5.so.2 -> libcrammd5.so.2.0.20
  
      libsasldb.so.2 -> libsasldb.so.2.0.20
  
  ...
  
  可以看見sasl的一些軟鏈接信息。Linux中的命令ldd也可以查看執行文件或者庫文件的庫鏈接信息,具體用法可以用ldd --help查到。
  
  3.安裝openldap(openldap-stable2.2.20(20050103)):
  
  同上Cyrus-SASL的安裝一樣,解壓縮后進入生成的openldap-2.2.20目錄,按照linux源代碼安裝的三部曲+測試(make test):
  
  # ./configure
  
  A.首嘗失敗:問題來了,剛剛運行./configure就出現了下面的錯誤1:
  
  checking Berkeley DB version for BDB backend... no
  
  configure: error: BDB: BerkeleyDB version incompatible
  
  這個錯誤說明Berkeley數據庫的版本與openldap需要的不兼容??希奇,我安裝的4.2.52可是openldap官方文檔明確說明支持的!仔細一查才發現原來我的RH9上已經默認安裝了Berkeley(版本較低)。
  
  于是我在執行configure之前,首先設置了環境變量:
  
  eXPort CPPFLAGS="-I/usr/local/BerkeleyDB.4.2/include"
  
  export LDFLAGS="-L/usr/local/BerkeleyDB.4.2/lib"
  
  configure所用的環境變量列表:
  
  CC=...
  C編譯器的名稱
  CPPFLAGS=...
  各種C預處理和編譯器參數
  CFLAGS=...
  C編譯器的調試和優化參數
  LDFLAGS=...
  各種連接器參數
  LIBS=...
  連接器的庫位置信息("-L" and "-l"參數)
  INCLUDES=...
  頭文件的搜索目錄("-Idir").
  TARGET=... [Default: apache]
  目標執行文件名
  NOTEST_CPPFLAGS=...
  NOTEST_CFLAGS=...
  NOTEST_LDFLAGS=...
  NOTEST_LIBS=...
  
  這兩個環境變量指定了預處理編譯參數、連接器參數,它們將在執行configure時被configure所讀取,并且在以后的make時使用。果然執行configure該處沒有問題了。
  
  B.再次受打擊:剛剛解決一個問題,還沒喘過氣,configure又出問題了,錯誤2:
  
  checking Cyrus SASL library version... no
  
  configure: error: Cyrus SASL library located but is incompatible
  
  與Berkeley數據庫一樣,Cycrus SASL的版本也不兼容??原來還是一樣的原因:系統中裝有個版本低的Cycrus SASL。。。L。。。麻煩!只好在豐富一下環境變量了:
  
  export CPPFLAGS="-I/usr/local/BerkeleyDB.4.2/include"
  
  export LDFLAGS="-L/usr/local/lib/ -L/usr/local/BerkeleyDB.4.2/lib -L/usr/local/lib/sasl2"
  
  將剛剛安裝的Cycrus sasl的庫路徑放到了連接器參數LDFLAGS中。接著重新configure,通過了。
  
  # make
  
  這個階段基本上我的工作就是等著,喝點水。。。等make結束后。。
  
  # make test
  
  C.一波三折:出大問題了(假如配置不正確,這個錯誤在make install后運行slapd –d 9時也會出現)。。錯誤3:
  
  cd tests; make test
  
  make[1]: Entering Directory `/home/liudan/openldap-2.2.20/tests'
  
  make[2]: Entering directory `/home/liudan/openldap-2.2.20/tests'
  
  Initiating LDAP tests for BDB...
  
  Running ./scripts/all...
  
  >>>>> Executing all LDAP tests for bdb
  
  >>>>> Starting test000-rootdse ...
  
  running defines.sh
  
  Starting slapd on TCP/IP port 9011...
  
  …
  
  slapd init: initiated server.
  
  slap_sasl_init: SASL library ver

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高青县| 宝鸡市| 马鞍山市| 新巴尔虎右旗| 固镇县| 西峡县| 广宗县| 綦江县| 延川县| 临漳县| 潞城市| 临高县| 西贡区| 九江市| 全椒县| 阳江市| 望奎县| 西青区| 静宁县| 米易县| 深州市| 安仁县| 杨浦区| 台湾省| 西充县| 和平区| 雅江县| 昆山市| 安顺市| 武乡县| 稻城县| 香港| 黄浦区| 阿拉善右旗| 平安县| 蓝山县| 正蓝旗| 缙云县| 白朗县| 南和县| 湘西|