Linux 搭建svn服务器

转自:http://graybull.is-programmer.com/posts/37972.html

本文将介绍Linux下搭建SVN服务器的简单解决方案,即安装基本的服务器端和客户端,提供SVN的基本服务。

而更高阶的解决方案的内容,将会包含:SVN与Apache结合提供HTTP支持,邮件配置,备份方案,使用svnstat分析SVN数据,to name a few.

  • SVN简介
  • 安装SVN服务器
  • 配置和使用SVN
  • 客户端连接SVN

SVN简介

SVN是一个代码版本管理工具,较为流行。详情请看http://subversion.apache.org/或者google之。

类似的工具有CVS,TFS和眼下热起来的Git。

安装SVN服务器

我的系统环境:rhel 6.1 x64。

查看SVN包

$ yum list | grep subversion

安装SVN包

$ sudo yum install subversion.x86_64

验证版本

$ svnserve --version
svnserve, version 1.6.11 (r934486)
   compiled Jun 23 2012, 00:44:03

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository back-end (FS) modules are available:

* fs_base : Module for working with a Berkeley DB repository.
* fs_fs : Module for working with a plain file (FSFS) repository.

Cyrus SASL authentication is available.

配置和启动SVN

1) 创建版本仓库

新建一个目录

$ mkdir /disk/svn

创建版本仓库,名字为firstsvn

$ svnadmin create /disk/svn/firstsvn

2) 配置SVN

版本仓库创建成功后,会在/disk/svn/firstsvn/conf目录下生成三个配置文件:

authz       #权限配置

passwd    # 用户和口令配置

svnserve.conf # SVN服务配置

  • 配置passwd

首先在passwd文件中添加了用户名jackie和口令jackiepwd。

[users]
jackie = jackiepwd

  • 配置authz

可使用分组管理的方式进行权限配置。这里的admin,devteam,testteam组都只包含了一个成员jackie而已,可添加更多成员。
[groups]
admin = jackie
devteam = jackie
docs = jackie
testteam = jackie

[firstsvn:/]
@admin = rw
* = r

[firstsvn:/dev]
@devteam = rw

[firstsvn:/test]
@testteam = rw

  • 配置svnserve.conf

主要有四个配置项,注意保证这些配置行前没有空格。                   
anon-access = none                                                   #非认证用户访问版本库的权限   
auth-access = write                                            #认证用户访问版本库的权限
password-db = /disk/svn/firstsvn/conf/passwd  #指定用户口令配置文件名
authz-db = /disk/svn/firstsvn/conf/authz            #指定权限配置文件名

3) 启动SVN服务

启动服务

$ svnserve -d -r /disk/svn

       -d表示后台运行

       -r 指定根目录是 /disk/svn

 

查看后台进程

$ ps -ef | grep svn

root      2983     1  0 09:19 ?        00:00:00 svnserve -d -r /disk/svn
jackie    4570  2496  0 10:51 pts/1    00:00:00 grep svn



注:链接协议为svn,访问时使用URL如下: svn  co svn:\\192.168.1.16\firstsvn .

你可能感兴趣的:(Linux 搭建svn服务器)