1.概述
下面介紹的安裝配置是我個人的經驗,可能與其它很多成功的配置方式有不同,僅次聲明,只供參考。
采用linux操作系統做為基礎環境,安裝配置為了介紹簡單,全部操作系統root賬戶操作
2.環境準備
操作系統:redhat AS 4或5
SVN軟件:采用subversion.1.4.0,當然你可以使用其它版本,基本一樣。
下載地址:http://subversion.tigris.org/downloads/subversion-1.4.0.tar.gz (官方)
APACHE:本文采用APACHE2.2 : http://labs.xiaonei.com/apache-mirror/httpd/httpd-2.2.11.tar.gz (官方)
說明:雖然AS5中自帶了SVN和APACHE,但是我沒有做采用,覺得自己編譯設置比較穩妥和習慣。
3.安裝APACHE
為什么要先安裝APACHE?因為我們全部采用源代碼編譯方式,而SUBVERSION的編譯要依賴APACHE的相關組件,所以我先安裝APACHE(當然,這是我的方式,也有其它配置方式的哈)。
3.1.編譯安裝
# wget http://labs.xiaonei.com/apache-mirror/httpd/httpd-2.2.11.tar.gz
# tar -xzvf httpd-2.2.11.tar.gz
# cd httpd-2.2.11
# ./configure -prefix=/usr/local/apache2 -enable-so -enable-dav
# make
# make install
執行完成,就安裝完成了.
3.2.檢查測試
啟動服務器
# /usr/local/apache2/bin/apachectl start
訪問 http://localhost/,如果顯示:It working 那就OK了
4.安裝subversion
因為選擇的是使用apache代理方式訪問subversion,所以編譯前需要指定APACHE的相關組件LOCATION.
# wget http://subversion.tigris.org/downloads/subversion-1.4.0.tar.gz
# tar -xzvf subversion-1.4.0.tar.gz
# cd subversion-1.4.0
#./configure -with-apxs=/usr/local/apache2/bin/apxs -with apr=/usr/local/apache2/ -prefix=/usr/local/subversion1.4
# make
# make install
好了,安裝完成,簡單檢查下/usr/local/apache2/modules/下面應該有兩個文件:
mod_authz_svn.so mod_dav_svn.so
如果你安裝AS5操作系統并選擇安裝系統自帶的SVN,請建立連接以便后續命令操作。
# ln -s /usr/local/subversion1.4/bin/svn /usr/bin/svn
# ln -s /usr/local/subversion1.4/bin/svnadmin /usr/bin/svn
4.創建和設置SVN倉庫
我采用的是每個項目一個倉庫的方式管理,采用統一的認證和授權配置文件(auth.conf,user.conf)管理所有的倉庫。優點在于配置管理簡單,每個項目完全獨立,遷移方便;缺點是我還沒有找到好的辦法實現直接瀏覽所有倉庫的方法。廢話不說了,正題~~
所有倉庫的父目錄
SVNParentPath /data/svnroot/repository/
所有倉庫的訪問權限設置文件
/data/svnroot/repository/authz.conf
所有用戶信息
3.AuthUserFile /data/svnroot/repository/userfile
5.1.創建SVN用戶組和用戶
SVN用戶組是SVN倉庫的宿主,SVN用戶才可以對SVN倉庫操作(基本系統安全考慮),也要用于后面APACHE啟動用戶組和用戶。
# groupadd svn
# useradd svnroot -G svn -g svn -M
5.2.創建SVN主倉庫
創建SVN倉庫主目錄
# mkdir /data/svnroot/repository
# cd /data/svnroot/repository
5.3.創建SVN倉庫
這里使用testproject作為演示的項目進行操作。
# cd /data/svnroot/repository
# svnadmin create testproject
建立好了項目倉庫,后續項目倉庫的目錄結構可以后面服務啟動后,通過客戶端動態添加和管理,個人覺得這樣比較容易,不用先導入初始化結構。推薦使用小烏龜(TortoiseSVN)。
5.4.建立用戶和權限控制文件
待續。。
5.配置APACHE整合Subversion
主要就是配置APACHE的httpd.conf,使用mod_authz_svn.so mod_dav_svn.so集成Subversion的功能了。
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<VirtualHost *:80>
ServerAdmin xxxx@gmail.com
DocumentRoot /data/www/
ServerName www.xxxx.org
ErrorLog logs/xxxx.org-error_log
CustomLog logs/xxxxx.org-access_log common
<Location /svn>
DAV svn
SVNListParentPath on
SVNParentPath /data/svnroot/repository/
AuthzSVNAccessFile /data/svnroot/repository/authz.conf
AuthUserFile /data/svnroot/repository/userfile
AuthType Basic
AuthName "qy Subversion repository"
#<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
#</LimitExcept>
#Options Indexes FollowSymLinks
#AllowOverride None
#Order allow,deny
#Allow from all
</Location>
</VirtualHost>
posted on 2009-05-22 18:07
coolies 閱讀(1166)
評論(0) 編輯 收藏 所屬分類:
配置管理 、
JAVA-Team研發環境