Linux下部署apache+svn+ldap驗證

Linux下部署apache+svn+ldap驗證
 
一:相關版本
subversion在安裝的時候,要求相關軟件的版本一致,而不是說軟件版本最新就最好.下面是我安裝的相關版本.
httpd-2.2.17.tar.gz
subversion-deps-1.6.15.tar.gz
subversion-1.6.15.tar.gz
 
二:安裝準備
#cd /opt
# tar zxvf httpd-2.2.17.tar.gz
# tar zxvf subversion-deps-1.6.15.tar.gz
# tar zxvf subversion-1.6.15.tar.gz
到這一步,如果是32位的linux系統,可以直接安裝httpd了,如果地64位的linux,需要進行以下操作,進行重新編譯:
1、刪除安裝目錄下的configure文件,在我的環境中是httpd-2.2.6/configure
2、刪除“httpd-2.2.17/srclib/apr-util/configure”
3、通過以下命令重建編譯文件(以下命令在http-2.2.17/目錄下運行)
#./buildconf
通過以上重建編譯文件,現在可以擁有64位的apr-util了
 
三:httpd的安裝.
# cd /subversion/httpd-2.2.17

# ./configure --prefix=/opt/apache --enable-so --enable-dav --enable-dav-fs --enable-ldap --enable-authnz-ldap --with-included-apr --with-ldap --with-ldap-include=/usr/lib64/evolution-openldap/include --with-ldap-lib=/usr/lib64 --with-apr=/opt/software_install/httpd-2.2.17/srclib/apr/apr-1-config --with-apr-util=/opt/software_install/httpd-2.2.17/srclib/apr-util/apu-1-config

注:編譯過程中必須要使用openldap的一些庫文件,本例中使用的是系統自帶的openldap版本
# make
# make install
# cd /opt/apache/bin/

# ./apachectl start   (該命令可能會出現類似 Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName的錯誤,不用管它,服務實際上已經啓動了 停止和重啓也一樣)

這個時候,打開瀏覽器,輸入http://localhost/,如果瀏覽器出現It Works,則說明httpd安裝成功了
 
四:subversion的安裝
# cd /opt/subversion-1.6.15

# ./configure --with-apxs=/opt/apache/bin/apxs --with-apr=/opt/apache/ --with-apr-util=/opt/apache/ --prefix=/opt /subversion --with-ssl --with-zlib=/opt/subversion-1.6.15/zlib --enable-maintianer-mode

# make && make install

( 如果出現錯誤:make: *** [subversion/libsvn_ra_dav/libsvn_ra_dav-1.la] Error 1

 解決方法 在neon/src/Makefie 的 CFLAGS中增加 -fPIC選項 一定要加到最前面,例如 CFLAGS = -fPIC -g -O2
 重新make)
 

五:建立和導入版本庫
# cd /opt/subversion/bin/

# mkdir /opt/ccxesvn
# ./svnadmin create /opt/ccxesvn/test
# ls /opt/ccxesvn/test/  

//如果ls /opt/ccxesvn /test/ 出現了下面的內容,就說明subversion安裝成功了.

conf   dav   db   format   hooks   locks   README.txt

導入版本庫

# mkdir /opt/project /opt/project/server /opt/project/client /opt/project/test

# ./svn import /opt/project/ file:///opt/ccxesvn/test/ -m "初始化SVN目錄"
//命令成功執行,會有如下的提示信息:

新增           /opt/project/server

/opt/project/client
/opt/project/test
提交後的修訂版爲 1。
 
六:修改目錄權限
# cd /opt
# chown -R apache:apache ccxesvn
# chmod –R 757 ccxesvn
 
 
七:修改Apache的配置文件
1):打開apache/conf/httpd.conf文件
2):修改httpd.conf文件,在文件的最後添加下面幾行
<Location /svn>
DAV svn
SVNParentPath /opt/ccxesvn/
</Location>
3):保存退出
現在訪問SVN不需要權限,即任何匿名用戶都可以訪問、修改、提交,下面進行ldap驗證的配置
 
同上在httpd.conf文件最後加入如下內容:

<Location /svn>

DAV svn

SVNParentPath /opt/ccxesvn/

# authentication

AuthType Basic

AuthName "ccxe.svn"

AuthBasicProvider ldap

AuthzLDAPAuthoritative off

AuthLDAPBindDN "uid=zmpostfix,cn=appaccts,cn=zimbra"

AuthLDAPBindPassword 3skemZGlp0

AuthLDAPURL "ldap://119.254.64.5:389/dc=ccxe,dc=com,dc=cn?uid?sub?(objectClass=*)"

require valid-user

 
#下面這段配置可以不要

# authorization

#AuthLDAPGroupAttributeIsDN on

#Require ldap-group cn=SVNUsersou=Groupdc=xliu-homedc=org

#AuthLDAPGroupAttribute memberUid

</Location>
保存退出,重啓apache即可
這樣訪問svn就開始使用ldap進行驗證了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章