CentOS上搭建svn服务器

svn集中式版本控制工具,虽然目前git等分布式管理工具有替代svn之势,但是作为老牌代码版本控制工具,这帮“老人”不放弃他们的工作习惯,咱们就得继续使用下去。今天总结一下我在CentOS上搭建svn服务器的过程,以备不时之需,如果能够帮助上你那就更好了。

一、工作原理

其实很简单,就是在咱们的服务器上建立一个仓库,然后我们可以用这个仓库来存取和控制咱们的代码。方便大家共享代码、控制版本,就是这个样子的。

二、搭建说明

搭建需要理解这么几点:

1、咱们需要安装svn服务器软件(subversion)

2、咱们需要建个仓库,然后给这个仓库配置一下权限

3、启动svn服务器

注意:这个可能和apache服务器等的设置有点不一样,它是需要先创建仓库,然后在仓库里边配置权限。

三、搭建过程

搭建的环境是CentOS,如果你是在其他操作系统,请出门右转。

1、安装subversion(svn服务器软件)

#yum install subversion

2、创建仓库

#mkdir /var/svn/repos
#svnadmin create /var/svn/repos

创建仓库实质就是使用第二条命令,创建svn运行需要的文件和文件夹。创建好仓库后,进入/var/svn/repos,你将得到如下目录结构:

repos/  
   conf/   #配置文件目录
   db/     #控制版本等信息的库
   format
   hooks/  #hooks程序目录
   locks/  #锁文件,有的时候提交不了了,提示被锁住了,就和这个有关
   README.txt
3、配置仓库

配置仓库,我们只需要关注conf目录(/var/svn/repos/conf),这个目录里边有三个文件passwd(配置用户名密码)、authz(配置权限)、svnserve.conf(配置服务器)。

首先,添加用户。

打开passwd文件,然后再最后添加一行,等号前边是用户名,后边是密码,如下所示:

[users]<pre name="code" class="plain"># harry = harryssecret
# sally = sallyssecret
forevernull = password
 

然后,给用户分权限。

打开authz文件,然后再最后添加两行,如下所示:

[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe

# [/foo/bar]
# harry = rw
# &joe = r
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[/]
* = rw
注意,这个地方我们直接给所有用户对根目录具有读写权限,我们只是为了尽快能运行起来才这样分权限的,如果这个地方你理解了,这个先分组后分权利的功能可以自己做测试。

最后,配置服务器。

这个就很简单了,打开svnserve.conf文件,然后删除几个#号就OK了。把下边这几行前边的#去掉:

#anon-access = read     #匿名用户可读
#auth-access = write    #授权用户可写
#password-db = passwd   #指定用户文件,上边已配置
#authz-db = authz       #指定授权文件,上边已配置

4、启动和关闭服务器

启动svn服务

svnserve -d -r /var/svn/repos

已守护进程的方式启动svn服务,需要指定仓库的路径

关闭svn服务

pgreg -l svnserve            #获取svnserve的pid
kill -9 pid(上边命令现实的数字) #发送kill命令
这样就关闭了svn服务

到此,大功告成, svn服务器已经搭建完成,照例咱们来测试一下。

四、svn服务器测试

按照上述步骤搭建完成,我们就可以使用如下路径来链接这台svn服务器了。

svn://localhost
或者
svn://ip地址

下边我将是用命令行方式来测试svn,如果你喜欢用TortoiseSVN也可以。

如果你搭建成功了,那么下边是一定会成功的:

svn co svn://localhost  helloworld

上边这条命令是只,checkout出版本库里的代码到本地目录helloworld里,你将会看到如下输出,因为目前咱们的库里什么都没有。

version 0.

OK,到此证明你已经成功了,如果你没有看见这个东西,那就回去检查一下哪错了吧,如果你是按照本教程做的,有问题,也可以留言给我。剩下的工作就是你在本地开发代码,然后提交的问题了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值