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 ...
一周排行
  • 本文作者Jonathan Matus,原标题为<Understanding The Future Of Mobility>,虎嗅编译.题图来自Medium.我们最近参加了两个讨论未来的重要会议:一个是关于 ...
  • 对于喜欢命令行操作及追求高效率.高速度下载的朋友,推荐使用linux命令行下载工具.linux命令行下载工具不但使用方便,而且大多具有很高的下载速度及下载效率,尤其适合于大批量下载文件.下面就为大家详细介绍一下lin ...
  • 易网科技讯 7月10日消息,据国外媒体报道,特斯拉汽车(Tesla Motors Inc.)已经聘用英国奢侈品牌巴宝莉(Burberry)前高级副总裁加勒什·斯里瓦兹(Ganesh Srivats),为特斯拉销售团队 ...
  • New XAMPP security concept:错误解决方法 (6 6) 转载▼   分类: php 在Linux上配置xampp后远程访问域名报错: New XAMPP sec ...
  • 12月11日消息,国际电气电子工程师学会(IEEE) 802.3高速研究组(HSSG)已经投票决定制定下一代万兆(100Gbps)以太网开发的标准. 据vnunet.com网站报道,虽然万兆以太网标准已经讨论了一年多 ...
  • subpartition template使用   一直以来还不知道子分区模版的东西,今天实验了下.还挺好玩,有点用途,平时维护添加分区时,不需要填写子分区了.下面是例子: create table t_test_s ...
  • select for update 是为了在查询时,避免其他用户以该表进行插入,修改或删除等操作,造成表的不一致性.   举几个例子:select * from t for update 会等待行锁释放之后,返回查询 ...
  • centos在yum install报错:Another app is currently holding the yum lock解决方法   centos在yum install报错:Another app is ...
  • 图像处理之快速均值模糊(Box Blur)   图像模糊的本质, 从数字信号处理的角度看,图像模糊就要压制高频信号保留低频信号, 压制高频的信号的一个可选择的方法就是卷积滤波.选择一个低频滤波器,对图像上的 每个像素 ...
  • 首先说下问题背景:想要通过异步请求一个文本文件,然后通过该文件的内容动态创建一个DOM节点添加到网页中. 基于这个需要了解: 1 DOM如何动态添加节点 2 Ajax异步请求 3 Chrome浏览器如何处理本地请求 ...