linux 下搭建SVN服務器

一、SVN安裝

1.安裝包

$ sudo apt-get install subversion

 

2.添加svn管理用戶及subversion組

$ sudo adduser svnuser

$ sudo addgroup subversion

$ sudo addgroup svnuser subversion 

 

3.創建項目目錄

$ sudo mkdir /home/svn

$ cd /home/svn

$ sudo mkdir fitness

$ sudo chown -R root:subversion fitness

$ sudo chmod -R g+rws fitness

 

4.創建SVN文件倉庫

$ sudo svnadmin create /home/svn/fitness

 

5.訪問方式及項目導入:

$ svn co file:///home/svn/fitness

或者

$ svn co file://localhost/home/svn/fitness

* 注意:

如果您並不確定主機的名稱,您必須使用三個斜槓(///),而如果您指定了主機的名稱,則您必須使用兩個斜槓(//).

//--

下面的命令用於將項目導入到SVN 文件倉庫:

$ svn import -m "New import" /home/svn/fitness file:///home/svnuser/src/fitness

一定要註明導入信息

 

//--------------------------//

6.訪問權限設置

修改 /home/svn/fitness目錄下:

svnserve.conf 、passwd 、authz三個文件,行最前端不允許有空格

//--

編輯svnserve.conf文件,把如下兩行取消註釋

password-db = password

authz-db = authz

 

//補充說明

# [general]

anon-access = read

auth-access = write

password-db = passwd

其中 anon-access 和 auth-access 分別爲匿名和有權限用戶的權限,默認給匿名用戶只讀的權限,但如果想拒絕匿

 

名用戶的訪問,只需把 read 改成 none 就能達到目的。

 

//--

編輯/home/svnuser/etc/passwd 如下:

[users]

mirze = 123456

test1 = 123456

test2 = 123456

//--

編輯/home/svnuser/etc/authz如下

[groups]

admin = mirze,test1

test = test2

[/]

@admin=rw

*=r

這裏設置了三個用戶mirze,test1,test2密碼都是123456

其中mirze和test1屬於admin組,有讀和寫的權限,test2屬於test組只有讀的權限

 

7.啓動SVN服務

svnserve -d -r /home/svn

描述說明:

-d 表示svnserver以“守護”進程模式運行

-r 指定文件系統的根位置(版本庫的根目錄),這樣客戶端不用輸入全路徑,就可以訪問版本庫

如: svn://192.168.12.118/fitness

 

這時SVN安裝就完成了.

局域網訪問方式:

例如:svn checkout svn://192.168.12.118/fitness --username mirze --password 123456 /var/www/fitness


問題1 不允許匿名用戶登陸

問題2 添加用戶權限(authz),否則不能上傳文件

aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

[groups]
admin=mirze,test1
test=test2
@admin=rw
[/]
mirze=rw
*=r

問題3 上傳之後要在服務器上checkout才能看到

問題4:修改svn目錄權限 chmod -R 777



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