CentOS安装配置svn过程

Standard

安装使用的环境:安装CentOS6.2 64位系统的VPS。

以前就听说了用svn来管理源码,一直没有去真正操作过。后来找工作了,在公司要求每天下班前commit一次当天的源码,逐渐熟悉svn客户端的使用,也感受到了其带来的便捷性。

刚好这次有需求要管理源码,同时方便协同开发,在自己电脑上装svn服务器虽然简单,但是却不是很方便,正好vps的资源要充分利用,所以收集了资料准备在vps上安装svn服务端。

svn服务器有2种运行方式:独立服务器和借助apache。只里因为vps上已有的架构是lnmp,网上说nginx好像不能支持svn的web管理,所以放弃web部分,搭建独立服务器,也就是说最后以svn://domain/svn这样的地址通过svn的客户端就行访问。

具体步骤如下:

1、通过yum安装subversion
[code lang=”shell”]
yum install subversion
[/code]

安装完成可以通过svnserve –version检查是否安装成功
[code lang=”shell”]
[root@lovn ~]# svnserve –version
svnserve,版本 1.6.11 (r934486)
编译于 Sep 27 2011,15:29:25

版权所有 (C) 2000-2009 CollabNet。
Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。
此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。

下列版本库后端(FS) 模块可用:

* fs_base : 模块只能操作BDB版本库。
* fs_fs : 模块与文本文件(FSFS)版本库一起工作。

Cyrus SASL 认证可用。
[/code]

2、简历svn仓库
[code lang=”shell”]
mkdir -p /home/svn
svnadmin create /home/svn
[/code]

svn仓库建立完成后,会自动生成一些配置文件,我们需要修改这些配置文件。

3、设置svn账户和权限

先修改svn仓库的配置文件/home/svn/conf/svnserve.conf(具体目录根据你创建的svn仓库而定),把一些配置参数前的#号去掉,最后配置内容大致如下:
[code lang=”shell”]
[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = Lovn’s SVN Server!
[/code]

再通过修改/home/svn/conf/passwd创建账户,格式如下:
[code lang=”shell”]
[users]
user1 = password1
user2 = password2
user3 = password3
[/code]

最后是基于路径的访问控制,修改配置文件/home/svn/authz,修改大致如下:
[code lang=”shell”]
[groups]
group1 = user1,user2
group2 = user3

[/]# 基于根目录的控制,同时可以设定组权限和单个用户权限
@group1 = rw #读写
@group2 = r  #只读,如果什么都没有设置,则什么权限都没有
[/code]

4、启动和停止
[code lang=”shell”]
svnserve -d -r /home/svn # 启动
killall svnserve # 停止
[/code]

也可以设置 svnserve 随系统启动,添加 /etc/init.d/svnserve 文件:
[code lang=”shell”]
svnserve -d -r /home/svn
[/code]

然后添加到系统启动项中:
[code lang=”shell”]
chmod +x svnserve
chkconfig –add svnserve
[/code]

另外,在防火墙上开放 svnserve 使用的端口,默认是 3690 端口。

5、访问

通过svn客户端访问svn://domain/即可。