首页 > 代码库 > SVN配置–服务器端(linux)

SVN配置–服务器端(linux)

SVN配置–服务器端(linux)

本教程配置说明

  • 目的: 实现代码统一管理
 

1. 下载所需的源码包

subversion-deps-1.6.17.tar.gz svn 的支持库之类的文件

wget http://subversion.tigris.org/downloads/subversion-deps-1.6.17.tar.gz
  • 1
  • 1

subversion-1.6.17.tar.gz svn 的主程序

wget http://subversion.tigris.org/downloads/subversion-1.6.17.tar.gz  
  • 1
  • 1
 

2. 源码编译安装

这两个要解压在同一个目录下

tar zxvf subversion-deps-1.6.17.tar.gz  
tar xvf subversion-1.6.17.tar.gz  
cd subversion-1.6.17  
./configure --prefix=/opt/svn
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

编译源代码:

make 
make install  
  • 1
  • 2
  • 1
  • 2
 

3. 配置环境变量

vi /etc/profile 
  • 1
  • 1

在/etc/profile 最后加入:

export PATH=$PATH:/opt/svn/bin  
  • 1
  • 1

检测是否安装成功

svnserve --version  
  • 1
  • 1

显示如下信息则表示安装成功。

svnserve, version 1.6.17 (r1128011)  
compiled Mar 23 2012, 16:57:41  
 

4. 创建SVN仓库

A. 创建svn库testsvn

mkdir /var/svn
  • 1
  • 1

B. 进入svn目录下

cd /var/svn  
  • 1
  • 1

C. 创建testsv目录

svnadmin create testsv
  • 1
  • 1

D. 成功创建仓库testsv后,仓库下可查看到相关目录

cd testsv  
ls
  • 1
  • 2
  • 1
  • 2

在仓库testsv下若可以看到如下目录,说明仓库创建成功:

conf db format hooks locks README.txt

查看仓库的配置文件:

cd conf/  
ls
  • 1
  • 2
  • 1
  • 2

查看仓库的配置文件有三个:

authz passwd svnserve.conf

 

5. 配置版本库信息 ##

A. 配置 svnserve.conf

在conf目录下,编辑:

vi svnserve.conf 
  • 1
  • 1

添加如下代码:

[general]  
anon-access = none  
auth-access = write  
password-db = passwd  
authzauthz-db = authz  
realm = testsv
[sasl]  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

Note
* 主要添加authz、passwd的路径,以及库的名字 
* 该路径指的是相对路径,指的是当前仓库下conf目录下。如果有需要,可以将该路径设置为绝对路径

B. 定义用户密码

vim /var/svn/testsv/conf/passwd 
  • 1
  • 1

添加如下:

[users]  #这个是原文件中就有的哟~
wzf = 123456    
testuser = testsv123456
testuser1 = 123456 
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

含义解释: “=”左边即为用户名, “=”右边即为该用户名的密码。只有该文件下的用户才有资格登陆该仓库。

C. 定义版本库访问权限 
编辑 authz

vi /var/svn/testsv/conf/authz
  • 1
  • 1

编辑如下:

[aliases]  
 Average

[groups]
admin=wzf
users=testuser,testuser1   

[/]
*=  
@admin=rw
@users=r  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

含义解释 
* 定义admin组,该组下的成员包括wzf 
* 定义users组,该组下的成员包括testuser,testuser1 
* 多个成员之间用”,”隔开 ,可以不为用户划分到具体某个组 
* admin组成员在仓库根目录/ 下具有读’r’和写’w’的权利 
* users组成员在仓库根目录/ 下只具有读’r’的权利 
* 除了admin和users组成员外,其他用户在仓库根目录/ 不具备任何权利

 

6. svn的启动

建立启动svn 的用户

useradd svn  
passwd svn  
  • 1
  • 2
  • 1
  • 2

根据提示为用户svn 设置密码

 

7. 设置仓库群组 ##

允许用户svn 访问版本库

chown -R svn:svn /var/svn  
  • 1
  • 1
 

8. 启动svn

用设定帐户启动

su svn
svnserve -d -r /var/svn/ --listen-port 9999
  • 1
  • 2
  • 1
  • 2

其中: 
su svn 表示以用户svn 的身份启动svn 
-d 表示以daemon 方式(后台运行)运行 
–listen-port 9999表示使用9999 端口,可以换成你需要的端口。但注意,使用1024以下的端 
口需要root 权限 
-r 指定根目录是/var/svn

 

客户端(windows):

1. 安装windows客户端

如果没有TortoiseSVN客户端,可以去这里下载:tortoisesvn.NET/downloads.html,根据自己的实际情况下载对应版本,点击这里下载tortoisesvn客户端。


2.本地同步仓库代码

  1. 选定本地的一个文件夹存放从服务器下载的代码。
  2. 然后右击这个文件夹,选择“SVN CheckOut…”。 

3.登陆仓库

填写仓库地址(URL),其他地方可以不用修改。Version处可以修改,表示从指定的版本号开始。

技术分享 
* 本文中的URL为svn://10.10.108.107:9999/testsv/) 
点击OK后

技术分享 
* 输入账号,密码即可

具体的可参考TortoiseSVN客户端使用方法

 
 

SVN配置–服务器端(linux)