本文轉自: sql
http://blog.csdn.net/zhang0qiao/article/details/5957196 apache
(備份下,嘿嘿。。在suse11svr 64bit上安裝驗證ok) windows
1. 1. 準備
svnbook(比較詳細的svn文檔)http://svnbook.red-bean.com/
安裝包下載地址 http://subversion.tigris.org/downloads/subversion-1.6.6.tar.gz
依賴包下載地址 http://subversion.tigris.org/downloads/subversion-deps-1.6.6.tar.gz
subversion 能夠用兩種服務器可使用svnserve(自帶的)也可使用apache,svnserve配置簡單,速度快,因此在這裏使用。 服務器
2.解壓縮:
把安裝包和依賴包放在同一目錄下,執行如下命令解壓縮
tar –xvf subversion-1.6.6.tar.gz
tar –xvf subversion-deps-1.6.6.tar.gz
兩個壓縮包解壓後會在同一個目錄下,目錄名稱叫subversion-1.6.6,裏邊的INSTALL是安裝說明文件。
3.安裝
a.依賴包介紹和安裝
svnserve依賴包包括libarp libapr-util sqlite libz等(其中libarp是Apache portable Run-time libraries,Apache可移植運行庫)。以上依賴包都在subversion-deps-1.6.0.tar.gz中,解壓縮到安裝包同一目錄下,安裝時自動安裝,不須要單獨安裝。
subversion須要openssl,下載的依賴包裏沒有,安裝方法是打開Yast2->軟件管理,勾選openssl、openssl-devel和openssl-doc,插入suse安裝光盤,點擊接受便可。若是不安裝openssl和openssl-devel,運行./configure會報錯:
configure: error: We require OpenSSL; try --with-openssl
configure failed for serf
b.安裝
因爲不使用apache作服務器,因此跳過apache的安裝。
進入subversion-1.6.6目錄
$ ./configure
$ make
# make install
4.運行
首先創建一個版本庫(svn_test1) 例如 svnadmin create /opt/subversion/svn_test1
啓動: svnserve -d -r /opt/subversion/svn_test1 --listen-port 3610 & oracle
--我把個人版本庫命名爲svn_test1,而且放在目錄/opt/subversion下,其中若有須要多個版本庫,那麼就能夠把這個版本庫直接複製,生成一個新的版本庫:如: svn
cp –r /opt/subversion/svn_test1 /opt/subversion/svn_test2 工具
那啓動命令爲 svnserve -d -r /opt/subversion/svn_test2 --listen-port 3620 & ui
經過端口來區分各個版本庫,在windows中的運行中輸入:svn://192.168.84.204:3610 spa
就能夠打開查看了,其中192.168.84.204是個人服務器地址 .net
在windows中安裝TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi工具,就能夠更新版本庫裏面的內容,汲及到TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi傻瓜式,下一步下一步
在服務器中,還有三個從新的文件:
Svn的配置文件主要是conf目錄三個文件。Authz,passwd,svnserver,配置文件中每行有效配置前不能有空格,事則會失效。其中conf目錄在各版本庫目錄下,如:/opt/subversion/svn_test1/conf
1.服務器配置文件svnserver.conf,該文件僅由一個[general]配置段組成.
[general]配置段中配置行格式以下:
<配置項> = <值>
例子:
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = svn_test1
2.權限控制文件authz.conf
權限配置文件由svnserve.conf的配置項authz-db指定,缺省爲conf目錄中的authz。該配置文件由一個[groups]配置段和若干個版本庫路徑權限段組成。
[groups]配置段中配置行格式以下:
<用戶組> = <用戶列表>
用戶列表由若干個用戶組或用戶名構成,用戶組或用戶名之間用逗號","分隔,引用用戶組時要使用前綴"@"(如:引用用戶組"all"要使用字符串"@all")。
版本庫路徑權限段的段名格式以下:
[<版本庫名>:<路徑>]
如版本庫abc路徑/tmp的版本庫路徑權限段的段名"[abc:/tmp]"。
可省略段名中的版本庫名。若省略版本庫名,則該版本庫路徑權限段對全部版本庫中相同路徑的訪問控制都有效。如:段名爲"[/tmp]"的版本庫路徑權限段設置了全部引用該權限配置文件的版本庫中目錄"/tmp"的訪問權限。
版本庫路徑權限段中配置行格式有以下三種:
<用戶名> = <權限>
<用戶組> = <權限>
* = <權限>
其中,"*"表示任何用戶;權限的取值範圍爲''、'r'和'rw',''表示對該版本庫路徑無任何權限,'r'表示具備只讀權限,'rw'表示有讀寫權限。
注意:每行配置只能配置單個用戶或用戶組。
例子:
[groups]
root=root,zhangqiao
oracle=oracle
[/opt/svbversion/svn_test1/test]
@root = rw
@oracle = r
* =
[/]
@root = rw
@oracle = r
* =
3.用戶名口令文件passwd.conf
用戶名口令文件由svnserve.conf的配置項password-db指定,缺省爲conf目錄中的passwd。該文件僅由一個[users]配置段組成。
[users]配置段的配置行格式以下:
<用戶名> = <口令>
注意:配置行中的口令爲未通過任何處理的明文。
特別注意配置文件中每一個有效行前面不能有空格,不然會報錯。
a.若是在用戶名口令文件中有空格則報:認證失敗
b. 若是在權限控制文件中有空格則報:認證配置失敗
c.若是在服務器配置文件有空格則報:
[users]
root=root
zhangqiao=zhangqiao
oracle=oracle111