SVN SERVER 的搭建

本文详细介绍了如何在Ubuntu 10.04和Windows 7环境下安装配置Subversion,包括安装步骤、创建SVN仓库、设置访问权限以及通过WebDAV和自带协议访问仓库的方法。并通过实操演示了如何使用TortoiseSVN客户端上传和下载文件。


安装及测试环境ubuntu10.04 / windows 7

一、安装配置

1.       首先安装subversion

sudo apt-get install subversion

sudo apt-get install libapache2-svn

sudo apt-get install apache2-mpm-worker

2.       创建SVN仓库

我们假设svn文件仓库的位置是/home/svn,并且我们的项目的名称是myproject。为了设置文件仓库的访问权限,通常情况下,我们命名一个subversion用户组,改组时svn仓库所在目录的拥有者。

sudo addgroup subversion

sudo usermod –G subversion –a www-data

需要注销后再登陆方可成为subversion的一员。现在执行以下命令:

sudo mkdir /home/svn

cd /home/svn

sudo mkdir myproject

sudo chown –R www-data:subversion myproject

下面的命令用于创建是svn文件仓库

sudo svnadmin create /home/svn/myproject

赋予组成员对所有新加入仓库的文件拥有相应的权限

二、访问方式

subversion文件仓库可以采用多种方式进行访问,本文只涉及通过WebDAV协议(http://)和自带协议(svn://)访问两种情况:

1.       通过WebDAV协议访问(http://)

通过WebDAV协议访问SVN文件仓库需要配置Apache2 Web服务器。将如下代码加入到配置文件/etc/apache2/mods-available/dav_svn.conf中:

<Location /svn/myproject>

DAV svn

SVNPath /home/svn/myproject

AuthType Basic

AuthName "myproject subversion repository"

AuthUserFile /etc/subversion/passwd

#<LimitExcept GET PROPFIND OPTIONS REPORT>

Require valid-user

#</LimitExcept>

</Location>

其中有两行被注释了,以保证每次都需要用户名和密码才能登陆。

重新启动apache2服务器

sudo /etc/init.d/apache2 restart

接下来需要创建/etc/subversion/passwd文件,该文件包含了用户授权的详细信息。使用下面的命令添加用户admin

sudo htpasswd –c /etc/subversion/passwd admin

接着会提示输入两次密码,输入:123456

注意:可以继续创建用户,但是不可再使用-c选项,因为该选项表示创建一个新的用户授权文件,一旦选用,原有的授权文件就被覆盖了。

2.       通过自带协议访问(svn://)

修改配置文件/home/svn/myproject/conf/svnserve.conf,注意每行开始不可有空格

sudo gedit /home/svn/myproject/conf/svnserve.conf

将如下两行取消注释

passwd-db = password

authz-db = authz

编辑/home/svn/conf/passwd文件

sudo gedit /home/svn/conf/passwd

将文件内容修改如下

[users]

hugsy = 123456

test1 = 123456

test2 = 123456

编辑/home/svn/conf/authz文件

sudo gedit /home/svn/conf/authz

将文件内容修改如下

[groups]

admin = hugsy,test1

test = test2

[/]

@admin = rw

*=r

这里设置了三个用户hugsy、test1、test2,密码都是123456,其中hugsy和test1用户属于admin组,具有读写权限;test2用户属于test组,只具有读权限。

启动SVN服务

sudo svnserve –d –r /home/svn

 

 

 

 

测试:

首先在win7端安装Subversion及TortoiseSVN客户端程序;

在将要上传的某个文件夹上点击右键TortoiseSVN->Import,在url中输入服务器地址,例如:svn://192.168.0.6,在Import message中输入注释;

点击OK后要求输入账号密码,我们使用hugsy账号登陆,点击OK 可以看到文件上传过程。

在本地新建一个文件夹命名为work,右键->TortoiseSVN->Export,在url中输入svn://192.168.0.6,点击OK,就可以将当前版本下载到本地。

 

此时就可以通过web方式访问SVN服务器了,在浏览器的地址栏输入http://192.168.0.6/svn就会弹出用户验证的窗口,登陆之后就可以看到当前版本仓库的目录结构了。

 

服务器subversion跟客户端tortioseSVN 在服务器上已经有了, 下边是如果再把我的目录加上去. 首先要创建个版本库(resposity)加权限~~~~~~~~~~ 在目录如E:\repository下"右键->TortoiseSVN->Create Repository here...“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。 resposity 目录,里边conf子目录下面有两个文件是控制用户权限的. 修改svnserve.conf: # [general] # password-db = passwd 改为: [general] password-db = passwd 然后修改同目录的passwd文件,去掉下面三行的注释: # [users] # harry = harryssecret # sally = sallyssecret 最后变成: [users] harry = harryssecret sally = sallyssecret 其次是运行svn服务器~~~~~~~~~~ 在cmd下运行 svnserve -d -r E:\repository 我们的服务器程序就已经启动了。 注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。 之后到初始化导入~~~~~~~~~~ 来到我们想要导入的项目根目录,如E:\Project,目录下有一个readme.txt文件: 右键->TortoiseSVN->Import... URL of repository输入“svn://localhost/” ok 完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。 需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的主机上进行,即在另一台客户端咯。 如运行svnserve的主机的IP是192.168.1.40,则URL部分输入的内容就是“svn://192.168.1.40/” 导入完之后,其他机子只要装上Tortiose svn,之后url上边输入svn://192.168.1.40/就可以checkout咯. 之后用法也很简单
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值