linux下搭建svn伺服器
SVN是Subversion的簡稱,是一個開放源代碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。互聯網上很多版本控制服務已從CVS遷移到Subversion。說得簡單一點SVN就是用於多個人共同開發同一個項目,共用資源的目的。
第一步安裝SVN
安裝步驟如下:
1、yum install subversion
2、輸入rpm -ql subversion查看安裝位置,如下圖:
svn –help可以查看svn的使用方法
開發伺服器搭建好SVN伺服器,不可能只管理一個工程項目,如何做到不在一個項目中的開發人員不能訪問其它項目中的代碼,做好技術保密工作。
代碼倉庫有三個倉庫:A,B,C
A(B、C)
假設人員有3個人:,one,two,three
one,只能訪問A,B;
two,只能訪問B;
three,只能訪問C;
第二步、創建svn版本庫目錄
mkdir /var/svn
cd /var/svn
//創建三個代碼倉庫
svnadmin create A
執行命令後A下會生成下文件
進入conf目錄(該svn版本庫配置文件)
authz文件是許可權控制文件
passwd是帳號密碼文件
svnserve.conf SVN服務配置文件
第三步 編輯配置文件和賬戶文件
vim svnserver.conf中主要放開對以下的注釋,注意每行左邊沒有空格。
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
vim passwd,創建用戶及密碼
[users]
one = 123456
two = 123456
three = 123456
vim authz,許可權配置
### This file is an example authorization file for svnserve.
### Its format is identical to that of mod_authz_svn authorization
### files.
### As shown below each section defines authorizations for the path and
### (optional) repository specified by the section name.
### The authorizations follow. An authorization line can refer to:
### - a single user,
### - a group of users defined in a special [groups] section,
### - an alias defined in a special [aliases] section,
### - all authenticated users, using the "$authenticated" token,
### - only anonymous users, using the "$anonymous" token,
### - anyone, using the "*" wildcard.
###
### A match can be inverted by prefixing the rule with "~". Rules can
### grant read ("r") access, read-write ("rw") access, or no access
### ("").
[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
[groups]
[/]
# 表示admin有讀寫的許可權
admin=one
@admin=rw
# @admin 表示組許可權
# *=r表示其他人只能讀
*=r
group1=two
group2=three
[A:/B]
@admin = rw
@group1 = rw
* =
[A:/C]
@admin = rw
@group2 = rw
*=
把one 加入了admin組,這個組可以讀寫A,B,C目錄
把two 加入了group1組,只能讀寫A倉庫下面的B目錄,其他用戶不能見。
把three加入了group2組,只能讀寫A倉庫下面的C目錄,其他用戶不能見。
第四步 啟動svn服務
svnserve -d -r /var/svn
通過客戶訪問svn://172.16.5.200/A 使用one登錄,在根目錄下新建目錄B、C
所有配置就已經完成了。
默認svn伺服器埠是3690。
殺死svn服務:
ps -efgrep svn
kill -9 4642
註:如果是不同倉庫,可以將authz passwd 兩個許可權配置文件複製到 /var/svn/conf路徑下統一管理所有代碼倉庫,在每個倉庫svnserve.conf修改驗證和密碼文件目錄,realm = 指定倉庫名,就可以實現統一管理多個倉庫。
TAG:樂幫電腦 |