Linux系統安裝SVN服務

Linux系統SVN服務


1、SVN服務介紹

  SVN是一款非常優秀的版本管理工具,與CVS管理工具一樣,SVN 是一種跨平臺的開源的版本控制系統,它會備份並記錄每個文件每一次的修改更新變動

官方網站:http://subversion.tigris.org

http://subvsion.apache.org

SVN客戶端:http://tortoisesvn.net

SVN中文網站:http://www.iusesvn.com

SVN版本控制系統的工作流程:

1:在中央庫上創建或主幹複製一個分支

2:從中央庫check out下這個分支的代碼

3:然後進行修改,提交更新代碼



2、SVN的安裝

系統環境

[root@centos6 ~]# cat /etc/redhat-release

CentOS release 6.5 (Final)

[root@centos6 ~]# uname -r

2.6.32-431.el6.x86_64

安裝SVN服務

[root@centos6 ~]# rpm -qa subversion                     

[root@centos6 ~]# yum install subversion

Loaded plugins: fastestmirror, security

Loading mirror speeds from cached hostfile

base                      | 3.7 kB     00:00     

extras                    | 3.4 kB     00:00     

updates                 | 3.4 kB     00:00     

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Package subversion.x86_64 0:1.6.11-15.el6_7 will be installed

--> Finished Dependency Resolution

Dependencies Resolved

==============================================

 Package  Arch     Version   Repository    Size

==============================================

Installing:

subversion x86_64 1.6.11-15.el6_7  base 2.3 M

Transaction Summary

=============================================

Install       1 Package(s)

Total download size: 2.3 M

Installed size: 12 M

Is this ok [y/N]: y

Downloading Packages:

subversion-1.6.11-15.el6_7.x86_64.rpm    | 2.3 MB     00:00     

Running rpm_check_debug

Running Transaction Test

Transaction Test Succeeded

Running Transaction

Warning: RPMDB altered outside of yum.

  Installing : subversion-1.6.11-15.el6_7.x86_64    1/1 

  Verifying  : subversion-1.6.11-15.el6_7.x86_64   1/1 

Installed:

  subversion.x86_64 0:1.6.11-15.el6_7                                                                              

Complete!


啓動SVN

[root@centos6 ~]# svnserve -d -r /application/svndata/

[root@centos6 ~]# ps -ef|grep svn

root 2077 1 0 15:25 ? 00:00:00 svnserve -d -r /application/svndata/

root 2079 2022  0 15:25 pts/0   00:00:00 grep svn


檢查端口

[root@centos6 ~]# lsof -i :3690

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

svnserve 2077 root    3u  IPv4  15031      0t0  TCP *:svn (LISTEN)


3、配置SVN服務器

創建版本庫

[root@centos6 ~]# svnadmin create /application/svndata/docs

[root@centos6 ~]# ll /application/svndata/docs/

total 24

drwxr-xr-x. 2 root root 4096 Nov 26 15:36 conf

drwxr-sr-x. 6 root root 4096 Nov 26 15:36 db

-r--r--r--. 1 root root    2 Nov 26 15:36 format

drwxr-xr-x. 2 root root 4096 Nov 26 15:36 hooks

drwxr-xr-x. 2 root root 4096 Nov 26 15:36 locks

-rw-r--r--. 1 root root  229 Nov 26 15:36 README.txt


配置SVN的配置文件及權限

[root@centos6 ~]# cd /application/svndata/docs/conf/


[root@centos6 conf]# ll

total 12

-rw-r--r--. 1 root root 1080 Nov 26 15:36 authz

-rw-r--r--. 1 root root  309 Nov 26 15:36 passwd

-rw-r--r--. 1 root root 2279 Nov 26 15:36 svnserve.conf


[root@centos6 conf]# cp svnserve.conf svnserve.conf.bak

生產環境備份很重要!!!!!!


進行詳細配置  

[root@centos6 conf]# vi svnserv.conf

anon-access = none          //禁止匿名訪問

auth-access = write          //認證後有讀的權限

password-db = /application/svnpasswd/passwd     //指定密碼文件

authz-db = /appplication/svnpasswd/authz            //指定權限認證文件



配置密碼文件與認證權限文件

[root@centos6 conf]# cp authz passwd /application/svnpasswd/

[root@centos6 conf]# cd /application/svnpasswd/

[root@centos6 svnpasswd]# ll

total 8

-rw-r--r--. 1 root root 1080 Nov 26 15:46 authz

-rw-r--r--. 1 root root  309 Nov 26 15:46 passwd

[root@centos6 svnpasswd]# chmod 700 ./*

[root@centos6 svnpasswd]# ll

total 8

-rwx------. 1 root root 1080 Nov 26 15:46 authz

-rwx------. 1 root root  309 Nov 26 15:46 passwd


配置用戶名與密碼

[root@centos6 svnpasswd]# vi passwd 

### This file is an example password file for svnserve.

### Its format is similar to that of svnserve.conf. As shown in the

### example below it contains one section labelled [users].

### The name and password for each user follow, one account per line.

[users]

# harry = harryssecret

# sally = sallyssecret

test = 123456

test1 = 123456


配置用戶權限

[root@centos6 svnpasswd]# vi authz

[docs:/]        主目錄權限

test = rw

test1 = rw


[docs:/file]     一級目錄權限

test = r

test1 = rw

注:權限裏配置的用戶一定要在用戶配置文件裏存在的

       配置完成後,無須重啓,立即生效



重新啓動svn服務進行驗證

殺死svn服務     pkill svnserve

啓動svn服務     svnserve -d -r /application/svndata/

備註: 修改passwd和authz文件不需要重啓svn服務,

         而修改svnserve.conf則需要重啓svn服務。



4、SVN客戶端操作

   

WIN平臺操作

下載SVN客戶端軟件 進行安裝

本地客戶端新建一個文件svndata

右鍵文件夾——SVN check out

url處輸入svn://192.168.1.235/docs

點擊OK

新建一個文件,然後右鍵SVNDATA文件——svn commit



LINUX 客戶端操作

   將文件下載到本地

[root@centos6 ~]# svn co svn://192.168.1.235/docs/ --username=test --password=123456                

A    docs/svn123.txt

A    docs/test.txt

Checked out revision 3.

[root@centos6 ~]# ll

total 48

-rw-------. 1 root root  1229 Nov 18 11:13 anaconda-ks.cfg

drwxr-xr-x. 3 root root  4096 Nov 26 16:50 docs

-rw-r--r--. 1 root root 21712 Nov 18 11:13 install.log

-rw-r--r--. 1 root root  5890 Nov 18 11:12 install.log.syslog

-rw-r--r--. 1 root root    60 Nov 25 22:44 txt

[root@centos6 ~]# ll docs/

total 8

-rw-r--r--. 1 root root 50 Nov 26 16:50 svn123.txt

-rw-r--r--. 1 root root 24 Nov 26 16:50 test.txt

更新與列出文件列表

[root@centos6 ~]# svn update svn://192.168.1.235/docs/ --username=test --password=123456

Skipped 'svn://192.168.1.235/docs'

[root@centos6 ~]# svn list svn://192.168.1.235/docs/ --username=test --password=123456      

svn123.txt

test.txt

安裝與配置過程結束


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