独立svn服务器安装与常用命令介绍

subversion(以下简称svn)是近年来崛起的版本管理工具,是cvs的接班人。

svn服务器有2种运行方式:1.独立服务器 (例如:svn://88181.com/88181);2.借助apache(例如:)。两种方式各有利弊
为了不依赖apache,我习惯选择第一种方式-独立的svn服务器。
svn存储版本数据也有2种方式:BDB和FSFS。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点,我也建议使用此种方式。
 
本文介绍的是独立svn服务器,采用FSFS存储方式
一,下载软件
#wget
#wget
svn的官方网址是
上面两个文件解压后是同一个文件夹 subversion-1.6.1
 
二,安装配置独立svn
 
1,解压安装
#tar zxvf subversion-1.6.1.tar.gz 
#tar zxvf subversion-deps-1.6.1.tar.gz 
#cd subversion-1.6.1/ 
#./configure --prefix=/usr/local/svn --without-berkeley-db
#make && make install 
 
2,查看svn版本信息,测试是否安装成功
# /usr/local/svn/bin/svnserve --version
 
svnserve, version 1.6.1 (r37116)
   compiled Dec 19 2011, 11:48:05
 
Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see
This product includes software developed by CollabNet ().
 
The following repository back-end (FS) modules are available:
 
* fs_fs : Module for working with a plain file (FSFS) repository.
有以上类似信息,则为安装成功
 
3,将svn的bin目录添加到环境变量中去:
#vi /etc/profile,在/etc/profile最后加入一下两行:
PATH=$PATH:/usr/local/svn/bin
export PATH
保存后,使其立即生效:
#source /etc/profile
 
当然也可以直接使用命令:
# PATH=$PATH:/usr/local/svn/bin
# export PATH
 
4,测试使用svn命令
# svn
Type 'svn help' for usage.
现在就可以直接使用/usr/local/svn/bin下面的所有命令了
 
5.配置服务
创建svn根目录(考虑到可能有多个项目的需求)
#mkdir  /svndata
创建仓库
#mkdir /svndata/repos
#svnadmin create  /svndata/repos
修改配置文件
#ls /svndata/repos/conf
authz  passwd  svnserve.conf
 
#vim /svndata/repos/conf/svnserve.conf
[general]
anon-access = none                 #匿名用户没有任何权限
auth-access = write                  #认证用户用读写权限
password-db = /usr/local/svn/conf/passwd.conf   #y密码配置文件
authz-db = /usr/local/svn/conf/authz.conf             #认证权限配置文件
realm = project_name    #你的项目名字(这个随意,不过要方便记忆,最好与项目有关)
[sasl]
# use-sasl = true
# min-encryption = 0
# max-encryption = 256
 
(注:password-db与authz-db采用指定文件,是方便多个项目共用同样的配置)
 
#vim /usr/local/svn/conf/passwd.conf
[users]
zby=zby #用户名=密码
 
#vim /usr/local/svn/conf/authz.conf
(注意:
 *权限配置文件中出现的用户名必须已在用户配置文件中定义。
  *对权限配置文件的修改立即生效,不必重启svn。)
用户组格式:
[groups]
= ,
其中,1个用户组可以包含1个或多个用户,多用户间以逗号分隔。
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
其中,方框号内部分可以有多种写法:
[/],表示根目录及以下,根目录是svnserve启动时指定的,比如上面我指定的/svndata,[/]就是表示对全部版本库设置权限。
[repos:/] 表示对版本库repos设置权限;
[repos:/abc] 表示对版本库repos中的abc项目设置权限;
[repos:/abc/xyz] 表示对版本库repos中的abc项目的xyz目录设置权限;
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
权限可以是w、r、wr和空,空表示没有任何权限。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/pfpyg.html