Linux
下
SVN
服務器安裝配置
第一章
安裝
1.
采用源文件編譯安裝。源文件共兩個,為:
subversion-1.6.1.tar.gz
(
subversion
源文件)
subversion-deps-1.6.1.tar.gz
(
subversion
依賴文件)
注意文件版本必須一致
,
否則很容易產生各種奇怪的問題
.
2.
上傳以上兩個文件到服務器上,解壓。解壓命令為:
tar xfvz subversion-1.6.1.tar.gz
tar xfvz subversion-deps-1.6.1.tar.gz
指令簡介:
tar
為解壓命令,
xfvz
為
tar
命令的參數,用於解壓
tar.gz
格式壓
縮的文件。
3.
解壓后生成
subversion-1.6.1
子目錄,兩個壓縮包解壓后都會自動放到此
目錄下,不用手動更改。
4.
進入解壓子目錄:
cd subversion-1.6.1
5.
執行
./configure --prefix=/usr/local/svn
./configure
時會出現以下錯誤:
configure: error: We require OpenSSL; try
–
with-openssl configure failed for serf
。
這是因為沒有安裝
openssl
相關包
openssl
官方網址:
http://www.openssl.org/
linux
下
openssl
的安裝:
wget
http://www.openssl.org/source/openssl-1.0.0g.tar.gz
tar xvzf openssl-1.0.0g.tar.gz
cd openssl-1.0.0g
然后:
./config --prefix=/usr/local/ssl shared zlib-dynamic enable-camellia
更多詳細幫助請運行
./config --help
然后執行:
make depend
Make
Make test
make install
編輯
/etc/ld.so.conf, add to paths /usr/local/ssl/lib
(可以直接在
/etc/ld.so.conf.d
文件夾下再創建一個
.conf
文件,
把
/usr/local/ssl/lib
拷
貝到里面,另外也可以在現有的
.conf
文件中添加
/usr/local/ssl/lib
這個路
徑,反正
ld.so.conf
中包含了這個文件夾下的所有
.conf
文件)
安裝之后會在
/usr/local
下生成一個
ssl
目錄,
設置環境變量,
在
/etc/profile
的
PATH
中增加如下內容:
PATH=/usr/local/ssl/bin:/sbin/:$PATH:/usr/sbin
export PATH
6.
再進到
subversion-1.6.1
再執行
./configure --prefix=/opt/subversion
進行配置設定並指明安裝目錄
.
注意
prefix
前是兩個減號
.
默認不帶
BDB
包
,
所以默認使用的是
FSFS
模式
.
若想使用
BDB
模式需另外下載
BDB
包
.
建議使用
FSFS
模式
.
指令簡介:
configure
命令用於檢查安裝平台和目標特征,
prefix
用於指定路徑。
configure
完成可能會出現
:
You
don’t
seem
to
have
Berkele
y
DB
version
4.0.14
or
newer installed
and
linked
to
APR-UTIL. We
have
created
Makefiles
which will
build without the Berkeley DB back-end; your repositories will use FSFS as the default back-end. You can find the latest version
of Berkeley DB here:
http://www.oracle.com/technology/software/products/berkeley-db/index.html
你似乎沒有
Berkeley DB
版本
4.0.14
或更新版本安裝並鏈接至四月
- util
的。我們已創建
Makefile
文件的將建立一個沒有了
Berkeley DB
后端,
你的版本庫作為默認后端使用
FSFS
格式。你可以找到最新版本
Berkeley DB
的位置。
這個提示可以跳過
,
因為不使用
BDB
存儲。
7.
執行
make
編譯
.
8.
執行
make install
安裝
.
9.
添加環境變量
:
vi /etc/profile
在文件最后加入
:
SVNPATH=$PATH:/usr/local/svn/bin
export SVNPATH
10.
測試
SVN
是否安裝成功
,
執行
:
svnserve --version
如果顯示版本信息
,
則安裝成功
.
(如果沒有安裝
svnserve
,
請先安裝
apt-get
install subversion
)
第二章
配置
本系統采用為每個項目單獨建一版本庫的策略。
配置文件,
密碼文件,
訪問控制
文件等都放在版本庫的
conf
目錄下。所以每次開始一個新項目都必須新建一個
版本庫,
並重新配置各配置文件。
還有很重要的一條,
要求各組員重新配置客戶
端,包括服務器版本庫路徑,本地路徑等信息。
1.
建立版本庫目錄,
建立好的版本庫目錄與安裝目錄不在同級目錄下
(
可建立多
個,新建庫后以下各項都需重新配置。注意區別安裝目錄與版本庫目錄
,
以下講
的都是版本庫目錄
)
mkdir
–
p /opt/svndata/repos
2.
建立
svn
版本庫
(
與上面目錄對應
)
svnadmin create /opt/svndata/repos
執行此命令后
svn
自動在
repos
目錄下添加必須的配置文件
.
注意
:
版本庫不同於一般的文件夾
,
直接在操作系統上新建文件無法被
SVN
識別
,
必須使用
import
等命令將文件導入版本庫
.
此為
svn
內部指令,
create
用於新建版本庫。請使用
svn help
查看詳細說明。
3.
修改版本庫配置文件
vi /opt/svndata/repos/conf/svnserve.conf
各參數功能在配置文件的注釋中有說明
,
此處配置如下
:
[general]
anon-access = none #
使非授權用戶無法訪問
auth-access = write #
使授權用戶有寫權限
password-db = /opt/svndata/repos/conf/passwd #
指明密碼文件路徑
authz-db = /opt/svndata/repos/conf/authz #
訪問控制文件
realm = /opt/svndata/repos #
認證命名空間,
subversion
會在認證提示里
顯示,並且作為憑證緩存的關鍵字。
其它采用默認配置
.
各語句都必須頂格寫
,
左側不能留空格
,
否則會出錯
.
指令簡介:這是
svn
配置文件的格式,請按照以上格式書寫。
4.
配置用戶
passwd
文件
輸入以下內容:
[users]
<
用戶
1> = <
密碼
1> admin = admin
<
用戶
2> = <
密碼
2> username2 = password2
可以添加多個,此為用戶名密碼對。
5.
配置權限
authz
文件
指令簡介:
此配置文件采用“基於路徑的授權”策略,
中括號里指定路徑,
以下
列出對各用戶的授權。包括只讀
r
,讀寫
rw
。沒有列出的用戶,則不允許訪問。
還可以對用戶分組,具體請參考
svn
手冊,以下是簡單例子:
用戶組格式:
[groups]
<
用戶組名
> = <
用戶
1>,<
用戶
2>
其中,
1
個用戶組可以包含
1
個或多個用戶,用戶間以逗號分隔。
版本庫目錄格式:
[<
版本庫
>:/
項目
/
目錄
]
@<
用戶組名
> = <
權限
>
<
用戶名
> = <
權限
>
其中,方框號內部分可以有多種寫法
:
/,
表示根目錄及以下。根目錄是
svnserve
啟動時指定的,我們指定
/opt/svndata
。這樣,
/
就是表示對全部版本庫設置權限。
repos1:/,
表示對版本庫
1
設置權限
repos2:/abc, ,
表示對版本庫
2
中的
abc
項目設置權限
repos2:/abc/aaa, ,
表示對版本庫
2
中的
abc
項目的
aaa
目錄設置權限
權限主體可以是用戶組、用戶或
*
,用戶組在前面加
@
,
*
表示全部用戶。權限可
以是
w
、
r
、
wr
和空,空表示沒有任何權限。
示例:
[groups]
MDS4000II_group = admin,zhangl
[/]
admin = rw
viewer = r
[/dev]
admin = rw
viewer = r
* =
[/baseline]
admin = rw
* =
[/prj]
admin = rw
* =
[/dev/01 MDS4000II]
@MDS4000II_group = rw
* =
注意:配置
auth
、
passwd
和
svnserve.conf
一定要心細,否則客戶端訪問時會認證失敗,如不能訪問,
百度和谷歌上有很多資料可供參考。
三、啟動
svn