CentOS 6.5系统上安装SVN服务器

有效地管理源代码的方式是使用工具去帮助我们管理 , SVN(Subversion)就是目前主流的源代码管理工具 , 也称为版本控制工具。

本文主要介绍CentOS6.5上安装SVN服务器,配置SVN服务器的数据仓库,SVN服务的启动查看和停止,SVN服务的开机自启动,安装SVN客户端等内容。

 

安装SVN

 

1 检查系统是否自带SVN

svnserve –version

如果没有安装,系统会提示svnserve是个无效的命令。

2 安装SVN

yum –y install subversion

3 检查安装是否成功

svnserve –version

返回值:

svnserve, version 1.6.11 (r934486)

   compiled Aug 17 2015, 08:37:43

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 -p /opt/svn/repositories

将创建的文件夹设置为数据仓库

svnadmin create /opt/svn/repositories

执行上面的命令后,自动建立repositories库,查看/opt/svn/repositories 文件夹发现包含了conf,db,format,hooks,locks, README.txt等文件,说明一个SVN库建立完成。

 

2 配置数据仓库

进入上面生成的文件夹conf下,进行配置

cd /opt/svn/repositories/conf

 

配置用户名和密码passwd

vi passwd

passwd文件的内容如下:

### This file is an example password file for svnserve.

### Its format is similar to that of svnserve.conf. As shown in the

### example below it contains one section labelled [users].

### The name and password for each user follow, one account per line.

[users]

# harry = harryssecret

# sally = sallyssecret

test = 123456 ##新增用户的用户名和密码

 

配置权限控制authz

vi authz

目的是设置哪些用户可以访问哪些目录,authz文件的内容如下:

### This file is an example authorization file for svnserve.

### Its format is identical to that of mod_authz_svn authorization

### files.

### As shown below each section defines authorizations for the path and

### (optional) repository specified by the section name.

### The authorizations follow. An authorization line can refer to:

###  - a single user,

###  - a group of users defined in a special [groups] section,

###  - an alias defined in a special [aliases] section,

###  - all authenticated users, using the '$authenticated' token,

###  - only anonymous users, using the '$anonymous' token,

###  - anyone, using the '*' wildcard.

###

### A match can be inverted by prefixing the rule with '~'. Rules can

### grant read ('r') access, read-write ('rw') access, or no access

### ('').

[aliases]

# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

[groups]

# harry_and_sally = harry,sally

# harry_sally_and_joe = harry,sally,&joe

# [/foo/bar]

# harry = rw

# &joe = r

# * =

# [repository:/baz/fuz]

# @harry_and_sally = rw

# * = r

[/]

test = rw

设置[/]代表根目录下所有的资源

 

配置服务svnserve.conf

vi svnserve.conf

svnserve.conf文件的内容如下:

[general]

#匿名访问的权限,可以是read,write,none,默认为read

anon-access=none

#使授权用户有写权限

auth-access=write

#密码数据库的路径

password-db=passwd

#访问控制文件

authz-db=authz

#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字

realm=/opt/svn/repositories

 

三 SVN服务的启动、查看及停止

 

1 启动svn服务

svnserve -d -r /opt/svn/repositories

 

2 查看SVN监听的端口

netstat -anp |grep svn

返回:

tcp  0  0 0.0.0.0:3690  0.0.0.0:*  LISTEN  2085/svnserve

 

3 停止启动SVN

killall svnserve    #停止

 

设置SVN的开机自启动

 

1 创建svn.sh文件

在/root文件夹下,创建svn.sh文件

cd /root

vi svn.sh

编辑svn.sh文件,加入以下内容

#!/bin/bash

svnserve –d –r /opt/svn/repositories

保存退出

 

2.添加可执行权限
命令行运行#chmod ug+x /root/svn.sh


3.添加自动运行
打开(vi或gedit)/etc /rc.local,在最后添加一行内容如下:/root/svn.sh保存退出。


4.检查
重启服务器,使用ps-ef看看svn进程是否启动了。以后开机就自动启动svn了。

 

安装SVN客户端

以业界流行的TortoiseSVN为例,下载地址:

http://sourceforge.net/projects/tortoisesvn/files/latest/download?source=dlp

客户端连接地址:svn://公网或内网的IP地址(如192.168.0.141):3690

用户名/密码: test/123456  ##要和之前设置的用户名和密码匹配。

posted @ 2016-10-17 20:24  cooldream2009  阅读(334)  评论(0编辑  收藏  举报