转:linux 安装subversion(svnserve方式)

原文地址:http://www.shiranyu.com/?p=75

 

以前装过一次subversion,使用的是apache方式(相关文章:http://www.shiranyu.com/?p=62 ),这次因为服务器装apache不方便,所以再装一次不带apache方式的,只需要单独的subversion即可。

一、安装subversion

下载subversion:http://subversion.tigris.org/downloads/subversion-1.6.13.tar.gz

下载subversion的依赖包subversion-deps:http://subversion.tigris.org/downloads/subversion-deps-1.6.13.tar.gz

tar -xzvf subversion-1.6.13.tar.gz
tar -xzvf subversion-deps-1.6.13.tar.gz
(两个包都会自动解压缩到文件夹subversion-1.6.13/)
cd subversion-1.6.13
./configure --prefix=/usr/local/subversion
make clean
make
make install

 

安装好之后,可以通过/usr/local/subversion/bin/svnserve –version命令查看是否安装成功。出现如下信息则是成功了:

svnserve, version 1.6.13 (r1002816)
   compiled Nov  4 2010, 23:13:09
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_fs : Module for working with a plain file (FSFS) repository.

Cyrus SASL authentication is available.

二、建立库文件

创建用户svnroot(最好不要让root用户参与到svn的权限管理和日常的运行和维护工作中来)

adduser svnroot

passwd svnroot

然后在svnroot用户下(su svnroot)运行以下命令:

cd /usr/local/subversion/
1.创建文件夹
mkdir repository
2.创建版本库,指定数据存储为 FSFS
bin/svnadmin create --fs-type fsfs /usr/local/subversion/repository/
3.创建所需管理的项目的临时目录:
mkdir tmp
cd tmp/
mkdir trunk tags branches
cd ..
然后将所需管理的项目文件复制到trunk目录下
4.导入刚创建的所需要管理的项目(tmp目录下的文件)到创建的版本库repository里面
bin/svn import tmp/ file:///usr/local/subversion/repository/ –m "first import"
提交后的修订版本为1。
5.修改版本库文件的权限
chmod 770  repository
chmod -R g+w repository

三、用户管理


1.修改版本库repository的配置文件

cd /usr/local/subversion/repository/conf
vim  svnserve.conf

确保svnserve.conf文件里面有如下信息:

anon-access = none
auth-access = write
password-db =passwd
authz-db = authz
realm = repository

其他的不用修改

2.修改版本库repository的用户文件

vim passwd

文件格式如下:
[users]
<用户1> = <密码1>
<用户2> = <密码2>

必须有[users]这一行。下面再列出要访问svn的用户,每个用户一行,后面是密码。示例:
[users]
shiran = password1
shiranyu = password2

3.修改版本库repository的用户访问权限文件

vim authz

文件格式如下:

用户组格式:
[groups]
<用户组名> = <用户1>,<用户2>
1个用户组可以包含1个或多个用户,用户间以逗号分隔。

版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>

方括号 [] 内如果为 / 就表示是全部版本库。可以用 * 表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。
示例:
[groups]
repository = shiran,shiranyu //repository用户组下有shiran,shiranyu两个用户

[/]   //此处表示全部版本库
@ repository = rw //此处表示repository用户组

[repository:/]  //此处表示repository版本库下面的所有项目
shiran = rw

* = rw  //此处表示所有用户具有rw权限

[repository:/project]  //此处表示repository版本库下面的project项目
shiran = rw

[repository:/project/trunk]  //此处表示repository版本库下面的project项目中的trunk文件夹
shiran = rw

四、启动与停止subversion

启动subversion:

/usr/local/subversion/bin/svnserve -d -r /usr/local/subversion/

-d表示以daemon方式运行(后台运行)

-r /usr/local/subversion/repository/指定根目录是/usr/local/subversion/

 

停止subversion:

 找到svnserve的进程号

ps -ef | grep svnserve

再kill掉

kill "subversion的进程号"

 

PS:顺带记一下,subversion使用的端口是3690。

访问方式为:svn://xxxx(地址)/repository(访问repository库)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值