Centos 6.3安装Subversion搭建SVN服务器

Subversion有两种运行方式,一种是基于Apache Http Server,另外一种是Subversion Standalone Server。

基于Apache Http Server的Subversion 的好处:
A.能使用WebDAV协议。
B.能使用浏览器作为客户端工具浏览源码仓库。
C.可以很容易的支持到SSPI(Windows域认证)和LDAP,这些都是Apache本身就支持的。
D.能得到比较完善的Apache安全认证系统,比如SSL加密连接。

我采用的是 Subversion Standalone Server 方式。

以前我使用的基于Apache Http Server的过程中,遇到一些问题。提交的代码,会导致锁定,这很让人头疼。所以,今天我要换一种方式。

OK!进入安装配置。

一、安装subversion
执行如下 shell 命令进行安装:

 yum -y install subversion

如果,你不确定自己系统中是否已经安装过svn,执行如下 shell 命令检测:

rpm -qa  grep subversion

如果输出类似如下结果,则说明已经安装:

subversion-1.6.11-7.el6.x86_64

安装之后,使用如下命令可以查看版本信息:

svn --version

二、建立代码仓库
1、常规情况下,我们一个仓库里面会有多少个项目。所以,第一步得创建所有项目的仓库中心,如下命令:

mkdir /opt/svn/

2、现在假定我们有一个项目叫 svntest ,现在我们为这个项目在仓库中心中分配一个仓库。如下命令:

svnadmin create /opt/svn/svntest/

三、修改配置文件
1、进入 svntest 项目仓库配置目录中,如下命令:

cd /opt/svn/svntest/conf/

2、查看配置目录中有哪些文件,如下命令:

ll

结果如下:

-rw-r--r--1 root root 1105101111:55 authz
-rw-r--r--1 root root  326101111:55 passwd
-rw-r--r--1 root root 2271101111:54 svnserve.conf

3、执行如下命令修改svnserve.conf:

vi svnserve.conf

找到以下的内容,并在行首注释符号#删掉。

[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz

4、为 svntest 项目增加svn用户,并且赋予权限值:

vi authz

在文件中添加如下代码:

[svntest:/]
svn001 = rw

代码的意思是:为 svntest 项目添加一个svn001的用户,并且,这个用户对于 svntest 项目拥有读写权限。

关于方框号里面的写法有以下几种:
[/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/opt/svntest,[/]就是表示对全部版本库设置权限。
[svntest:/] 表示对版本库svntest设置权限
[svntest:/abc] 表示对版本库svntest中的abc项目设置权限
[svntest:/abc/aaa] 表示对版本库svntest中的abc项目的aaa目录设置权限

5、给用户分配密码,执行如下命令:

vi passwd

输入如下内容:

svn001 =123456

四、启动svn服务和测试

1、启动svn服务,并指定 svn 的根目录:

svnserve -d -r /opt/svn/

2、查看svn服务是否正常启动,执行如下命令:

netstat -tunlp  grep svn

会输出如下结果:

tcp  000.0.0.0:36900.0.0.0:*  LISTEN  1737/svnserve

顺便提一下,svn的默认端口是3690。

3、在windows系统上测试是否成功:

1)首先保证你的系统中已经安装了 subversion 客户端程序。如果没有安装马上下载安装,并重启windows系统。

2)在windows任意的目录中,创建一个文件夹,文件夹的名字任意,最好是英文名。如我的:svn_test。

3)右键点击该文件夹,选择”Checkout…”,填写如下信息,如图:

Centos 6.3安装Subversion搭建SVN服务器

4)点击“确定”按钮之后,会弹出一个对话框,让你输入账号密码,我们的账号是:svn001,密码是:123456.填写完之后,可以公告保存账号密码的选项。再点击“确定”就OK了。

5)开启自启动SVN服务器。现在我们已经配置好了svn服务器。但是,我们是通过手工通过命令启动的。如果,想每次centos 系统开启就启动这个服务的话,有以下方式可以实现。打开/etc/rc.local文件,shell命令如下:

vi /etc/rc.local

在文件末尾添加如下代码:

svnserve -d -r /opt/svn/

这样开机的时候就会自动启动svn服务器了。

更多相关文章
  • 怎么快速判断哪些进程是系统进程?之前打开任务管理器的进程,因为那些英文进程看不懂,不知道哪些是系统进程,一个个上网去查,有些也没有详细的解释,今天终于发现一个很简单的办法,不知道有没人写过类似的,下面说一下这个方法吧 之前打开任务管理器的进程,因为那些英文进程看不懂,不知道哪些是系统进程,一个个上网 ...
  • 转载请注明出处:王亟亟的大牛之路 5号的时候把自己的老版工具类贴了出来,然后今天上午又加了一点内容进去,然后也是简单的几个Button跑下,看看效果. 新增了两个类,一个手机信息类,一个数据格式转换类. PhoneUtil public class PhoneUtil { /*获取手机CPU信息*/ ...
  •   Zipper Time Limit: 2/1 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 8072    Accepted Submission(s): 2843 Proble ...
  • 文/路北联想移动业务集团总裁刘军在CES国际消费电子展上宣布摩托罗拉手机下月初将在国内上市.这是摩托罗拉退出中国市场后的一大反击动作,也是新东家联想冲击国内高端市场的新希望.在2014年第三季度,联想仍占据全球智能手机市场前五的位置,但在国内市场均被新兴品牌小米超越.虽然联想卖出的智能手机数量还是在 ...
  • 天际网创始人兼CEO林廷翰易网科技讯 9月13日消息,天际网创始人兼CEO林廷翰今日在接受易网采访时表示,公司目前仍处于亏损状态,预计将在两年后实现盈利.
  • 以下所有操作基于Ubuntu Linux下,所以基于Ubuntu.Debian等Linux版本均可使用. 一.以Root权限进行接下来的所有操作: $ sudo -s 二.安装编译osmocomBB所需的软件包: $ aptitude install libtool shtool autoconf ...
一周排行
  •   括号匹配(二) 时间限制:1 ms    内存限制:65535 KB 难度:6   描述给你一个字符串,里面只包含"(",")","[","] ...
  • 一. 软件包准备工作 1.下载sybase for linux 安装包 ase1502_xe_linux.tgz 2.ftp上传下载的安装包 3.chown root.root ase1502_xe_linux.tg ...
  • 2014年11月28日,在浙江宁波国际智能机器人环球巡演中,机器人与市民共舞.在前不久的伦敦"谷歌时代精神"大会上,霍金平静地描述了人类的命运:"在未来100年内,结合人工智能的计算机将 ...
  • 题目273         字母小游戏时间限制:1 ms    内存限制:65535 KB 难度:0描述 给你一个乱序的字符串,里面包含有小写字母(a--z)以及一些特殊符号,请你找出所给字符串里面所有的小写字母的个 ...
  • 一:filter过滤器 1.简单使用 public classSimpleFilter extends HttpServlet implements Filter {        public void init( ...
  •  新的级别将提升客户体验,并提供更多的业务连续性选项 为了更好地满足您在灵活性提升方面的需求,MicrosoftAzure SQL 数据库添加了新的服务级别(基础级和标准级),以与当前处于预览状态的至尊级协同工作 ...
  • 今天在用.net 做网站的时候,用到了DATALIST,但是datalist 没有自带的分页控件,后来在网上找了好长时间,看了aspnetpager.dll这个控件,这个控件挺好用的.我把使用方法写出来,大家可以参考 ...
  • 转自:互助网上自己的系统消息. 人生的意义:平凡人要做点不平凡的事情 去过婺源的人都知道,婺源有一座特别的桥,叫做彩虹桥,这是中国最美的廊桥. 很多人知道这个桥,却不知道这座廊桥是由两个异想天开的年轻人建造的. 最初 ...
  • iOS系统将会首次支持用户安装第三方键盘.许多第三方键盘商就已经迫不及待展示他们的为用户准备的键盘,Android社区中人气比较高的比如Swype.Fleksy和SwiftKey以及Adaptxt.Minuum等都将 ...
  • bool devString(const char *str, int devnum){ assert((str != NULL) && (devnum != 0));  int tmp = 0; w ...