Centos 6.3 安装 Subversion 搭建 SVN 服务器

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

基于 Apache Http Server 的 Subversion 的好处:

  • 能使用WebDAV协议。
  • 能使用浏览器作为客户端工具浏览源码仓库。
  • 可以很容易的支持到SSPI(Windows域认证)和LDAP,这些都是Apache本身就支持的。
  • 能得到比较完善的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 1105 10月 11 11:55 authz -rw-r--r-- 1 root root  326 10月 11 11:55 passwd -rw-r--r-- 1 root root 2271 10月 11 11: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  0  0 0.0.0.0:3690  0.0.0.0:*  LISTEN  1737/svnserve  

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

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

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

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

3)右键点击该文件夹,选择 ”Checkout…”, 填写:svn://192.168.56.1/svntest

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

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

vi /etc/rc.local  

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

svnserve -d -r /opt/svn/  

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

本文章是前几天学习搭建 SVN 服务器写的部署总结。博客重建,于是发布出来分享给大家。

博主 2011 年创建了一个《PHP 初学者官方群》,目前群成员 500 人左右。群号:168159147。为了防止广告,设置为付费入群。欢迎大家加入讨论技术!

标签: 无

发表评论: