您的位置:首页 > 运维架构 > Linux

Linux下svn服务端的安装与配置

2016-04-27 12:55 411 查看
svn服务端配置

帮助命令:svn help

通常采用为每个项目单独创建单一版本库的策略。配置文件,密码文件,访问控制文件等都放在版本库的conf目录下。

安装

yum install subversion

Tips:使用svn help或者svn –version来检查svn是否安装成功了。

配置

1.建立repository目录。本例是在optn下建立的。

mkdir /opt/svn/repos。一般常用的相对路径是svn/repos svn/repos1 svn/repos2…..等。

2.建立SVN的repository(与上面目录对应)

svnadmin create /opt/svn/repos

只有执行此命令,svn才会把repos当做仓库。

执行命令后svn会自动在repos目录下建立多个配置文件, 分别是conf, db,format,hooks, locks, README.txt。

3.配置conf

conf配置文件夹。里面有3个文件。

passwd—用户密码管理。

[users] user1=123 user2=456 格式:用户名=密码

authz—权限管理。

[groups]:admin=user1 用户组管理。

[仓库名:/]: user=rw 管理用户对此仓库的读写权限。

[aliases]:别名设置。

svnserve.conf—-svn设置。

一般情况下不需要修改svnserve.conf。只需要打开以下4个选项就可以了。

anon-access = [none|read|write] 非授权用户的权限。

auth-access = [none|read|write] 授权用户的权限。

passwd-db = passwd 指定用户密码文件的路径。默认是相对路径,除非指定了绝对路径。

authz-db = authz 指定权限配置文件的路径。默认是相对路径。

realm 指定仓库的认证域,相当于namespace。 即在登录时提示的认证域名称

4.导入代码

创建的repos是空的,需要导入code,

svn import /home/code file:///opt/svn/repos “注释”

上面的命令将home中的code导入到repos仓库中。

5.启动服务

svnservice -d -r /opt/svn/repos #这里只启了仓库repos。

启动一个仓库需要指定仓库目录,如果启动所有仓库直接使用svn的目录。

6.从svn下载代码

使用命令:svn checkout svn://ip地址/repos名称

一般都使用tortoiseSVN图形化连接。

7.切换仓库目录

先进入仓库目录

svnswitch svn://要切换的仓库地址。
svnup


常见问题

问题描述:authorization failed

如果authz文件没有正确配置,就会出现这个问题。

解决方法:打开authz,看看用户或用户组权限是不是没有设置好。博主遇到这个问题是因为没有给用户组访问仓库的权限。必须加上[仓库名:/]。

示例:

[groups]
##定义一个用户组
admin = ado,jay,xiao
[/]
#必须设置用户组的访问权限
@admin = rw


问题描述:SVN 由于目标计算机积极拒绝,无法连接.

原因:svn服务没有启动

解决方法:svnserve -d -r 仓库地址

SVN目录规范

一般标准的SVN目录有3个。

trunk:存放项目的主分支,一般在此开发测试。

branches:一般存放各个稳定版本。

tags:保存一些特定的版本。

创建目录结构

1.在本地ckeckout下空仓库文件。在服务器上创建仓库后,仓库只是一个空的文件夹。

2.在仓库下创建需要的文件夹,然后对这个文件夹右键,tortoisesvn-add,这个文件夹就会加入svn结构中。

3.右键svn commit,把新的结构提交到服务器svn中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息