apache 整合subversion

一 subversion服務器是不需要apache的,但是可以使用apache,視具體情況來選擇。
       1、如果只要通過file://或svn://來訪問,則不需要apache,只安裝svn即可,使用svnserve來作爲服務。
       2、如果你要建立一個可以通過http://或https://來訪問的版本庫服務器,則你需要使用apache。

二軟件包:

 apr-1.4.8.tar.gz

 apr-util-1.5.2.tar.gz

 httpd-2.4.4.tar.gz

 subversion-1.8.0.tar.gz

三安裝配置:

1安裝apr

#wget http://mirror.esocc.com/apache//apr/apr-1.4.8.tar.gz

# tar zxf apr-1.4.8.tar.gz

#cd apr-1.4.8

#./configure --prefix=/usr/local/apr

#make && make install

#cd ..

2安裝apr-util

#wget http://mirror.esocc.com/apache//apr/apr-util-1.5.2.tar.gz

#tar zxf apr-util-1.5.2.tar.gz

#cd apr-util-1.5.2

#./configure --with-apr=/usr/local/apr

#make && make install

#cd ..

3安裝httpd

#wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.4.tar.gz

#tar httpd-2.4.4.tar.gz

#cd httpd-2.4.4

#./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --enable-so --enable-dav --enable-maintainer-mode --enable-rewrite

#make && make install

#cd ..

安裝好後啓動apache

/usr/local/apache/bin/apachectl -k start

瀏覽器訪問http://ip 出現It works! 安裝正常

4安裝配置subversion

#wget http://apache.dataguru.cn/subversion/subversion-1.8.0.tar.gz

#tar zxf  subversion-1.8.0.tar.gz

#cd subversion-1.8.0

#./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-ssl --with-zlib --enable-maintainer-mode

報錯:缺少sqlite

安裝sqlite

#wget http://www.sqlite.org/2013/sqlite-amalgamation-3071700.zip

#unzip sqlite-amalgamation-3071700.zip

#mv sqlite-amalgamation-3071700 subversion-1.8.0/sqlite-amalgamation

然後在重新編譯就不會報錯了

#make && make install

到此爲止我們已經安裝了apache+svn的環境 這時就要開始整合

5 配置apache支持svn

#ls /usr/local/subversion/libexec/ 會有需要的模塊

mod_authz_svn.so  mod_dav_svn.so

#cp /usr/local/subversion/libexec/* /usr/local/apache/modules

然後在apache的配置文件中加入以下兩行

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

在文件最後加入

<Location /svn>

DAV svn

SVNParentPath /data/svn

AuthType Basic

AuthName "Subversion repository"

AuthUserFile /data/svn/svnpasswd

Require valid-user

AuthzSVNAccessFile /data/svn/svnaccessfile

</Location>

到此整合完成

6 配置svn

創建版本庫

/usr/local/subversion/bin/svnadmin create test

創建密碼文件和訪問控制文件

1 . 密碼文件添加用戶:
       # /usr/local/apache/bin/htpasswd –c /svn/svnpasswd user1
       第一次設置用戶時使用-c表示新建一個用戶文件。回車後輸入用戶密碼,完成對用戶的增加
       第二次添加用戶不需要帶 –c 參數 如:
       # /usr/local/apache/bin/htpasswd /svn/svnpasswd user2

2訪問控制文件

 vim /data/svnaccessfile  

 [/]

 *=r

 [test:/]

  admin=rw

注意:在編輯authz.conf文件時,所有行都必須要頂頭寫,不能有縮行出現,否則會報錯:"Access denied: ''user1"

7 重啓apache和svn

# /usr/local/apache/bin/apachectl -k restart

#/usr/local/subversion/bin/svn -d -r /data/svn

 -d 表示以 daemon 方式(後臺運行)運行
 -r /data/svn 指定根目錄是/data/svn

接下來就可以使用

http://ip/svn/test 輸入用戶名和密碼訪問了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章