2013-05-13 163 views
2

問題:我正在嘗試使用最新的httpd,apr和apr-util源以及啓用LDAP支持來編譯Apache Web服務器。我目前的步驟似乎沒有編譯mod_ldap.so和mod_authnz_ldap.so。mod_ldap和mod_authnz_ldap不適用於Apache httpd 2.4.4和SVN

環境背景:構建和目標操作系統是RHEL5。的httpd的非LDAP啓用的實例已經在服務器(2.4.1)和1.7.3 SVN上已安裝並使用的httpd-2.4.1

步驟匿名作品重現: 繼彙編指令here我已經下載:

  • 的httpd-2.4.4 /path/apache/src/httpd-2.4.4
  • 四月1.4.6在/path/apache/src/apr-1.4.6
  • apr-utils 1.5.2 /path/apache/src/apr-util-1.5.2
  • OpenLDAP和伯克利DB(用於LDAP庫來構建APR-util的反對)在/path/openldap-2.4.35_src和/path/db-5.3.21_src

隨着地方來源,我: 編譯BDB並將其安裝到/path/db-5.3.21 使用已安裝的BDB編譯OpenLDAP並將其安裝在/path/openldap-2.4.35中 配置了apr,編譯並將其安裝在/ path/apache/apr中 配置APR-util的帶:

./configure --with-ldap --prefix=/path/apache/apr-util-1.5.2 --with-apr=/path/apache/apr-1.4.6 --with-ldap-lib=/path/openldap-2.4.35/lib --with-ldap-include=/path/openldap-2.4.35/include

之後,I b並用makemake install安裝。

最後,我配置了以下的httpd:

./configure --prefix=/path/apache/httpd-2.4.4 --with-apr=/path/apache/apr-1.4.6 --with-apr-util=/path/apache/apr-util-1.5.2 --with-pcre=/path/apache/pcre-8.30 --with-ldap --enable-ldap 

這是成功的,我是能夠運行makemake install

我現在有一個httpd的實例中/路/阿帕奇/ httpd的-2.4.4 /。使用/path/httpd-2.4.1/httpd.conf作爲一種模式,我匹配現有的配置和加載的模塊,並補充說:

LoadModule mod_ldap modules/mod_ldap.so LoadModule mod_authnz_ldap modules/mod_authnz_ldap.so

但是,如果我跑的apachectl開始我得到一個語法錯誤:

/path/apache/httpd-2.4.4> ./bin/apachectl start httpd: Syntax error on line 148 of /path/apache/httpd-2.4.4/conf/httpd.conf: Can't locate API module structure 'mod_ldap' in file /path/apache/httpd-2.4.4/modules/mod_ldap.so: /path/apache/httpd-2.4.4/modules/mod_ldap.so: undefined symbol: mod_ldap

在httpd-2.4.4/modules目錄中找,模塊mod_ldap.so和mod_authnz.ldap.so失蹤。我已經嘗試了上述步驟,但沒有成功。我發現在src/httpd-2.4.4目錄中存在./modules/aaa/.libs/mod_authnz_ldap.so和./modules/ldap/.libs/mod_ldap.so文件,但將其複製到httpd -2.4.4 /模塊不能緩解這個問題。

有人能幫助我診斷我的步驟中的錯誤嗎?我知道我錯過了一些東西,但迄今爲止我一直無法找到它。如果需要,我還會添加其他所需的信息。

回答

1

如上配置,通過共享模塊支持LDAP。要啓用定義的模塊(包括我的情況下的LDAP),您需要使用--enable-so標誌來配置Apache。這將生成共享模塊並在編譯/安裝時將它們放置在模塊目錄中。

可以在此SO文章中找到其他參考:Compiling Apache Web Server with Dynamic Module Support