centos下搭建配置svn服務器

jopen 9年前發布 | 9K 次閱讀 Subversion 版本控制系統 CentOS

1、安裝subversion

yum -y install subversion

2、開放3690端口

    svn使用3690作為端口

3、創建svn倉庫repository,以后各項目將存放在此處,注意倉庫作為svn的根目錄,可以方便存放多個項目

mkdir /opt/svn

4、創建我們的項目

svnadmin create /opt/svn/project_1
svnadmin create /opt/svn/project_2

5、配置項目賬戶和訪問權限

    使用svnadmin創建項目后會生成此項目的配置文件

vi /opt/svn/project_1/conf/passwd //帳號密碼
....
[users]
admin = 123456 //帳號 = 密碼
james = 123456
....
vi /opt/svn/project_1/conf/authz //用戶 用戶組對項目的訪問權限
....
[groups] //用戶組的定義
super = admin
general = james
....
[/foo/bar] //相對svn服務器根目錄的路徑權限
@super = rw
admin = rw
....
//多個項目時可以公用一個authz做權限配置,此時可以使用一下格式來區別項目
[project_1:/] //項目根目錄super組的用戶可以讀寫
@super = rw
admin = rw //也可以直接指定用戶
[project_1:/branches]//general組的用戶只能讀寫分支
@general = rw
....
[project_2:/] //project_2的svnserve.conf里的authz-db需要指向此配置文件才可以
@super = rw
vi /opt/svn/project_1/conf/svnserve.conf //項目的配置
...
anon-access = read //開啟匿名訪問
auth-access = write //認證可寫
password-db = passwd //帳號密碼文件
authz-db = authz //權限認證文件
realm = /opt/svn/project_1 //領域僅限當前項目
...

5、導入我們的項目

svn import ~/project_1 file:///opt/svn/project_1 -m "import project_1"
svn import ~/project_2 file:///opt/svn/project_2 -m "import project_2"

project_1 和 project_2是你自己的項目文件 結構規整下的話就是

|—branches //分支
|—tags //標簽
|—trunk //主庫

6、開啟服務

svnserve -d -r /opt/svn

7、嘗試檢出project_1到當前目錄

svn checkout svn://yoursvnserverip/project_1 //admin可以檢出但james會提示沒有權限 因為我們對project_1配置的權限為james只能讀寫branches目錄
svn checkout svn://yoursvnserverip/project_1/branches //admin肯定可以檢出 james也可以檢出
svn update
svn add filename
svn commit -m 'description'

這里在詳細的說下svn權限配置那一塊

成功使用svn創建一個項目后會生成此項目的倉庫目錄結構,其中項目的配置文件在conf文件夾中

passwd 賬戶名密碼

    [users]

    username = userpassworld

authz 用戶權限

svnserve.conf 項目配置 【多項目時可以配置成】

    anon-access 匿名權限

    auth-access 認證權限

    password-db 帳號文件 可指定一個公共文件

    authz-db 權限文件 可指定一個公共文件

    realm 作用域 可指定一個頂級域

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!