ubuntu下安装svn服务器

1  介绍
  Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可 以很方面恢复到以前的版本,并可以查看数据更改细节。目前,Subversion已成为主流的开源代码版本管理软件之一,简称SVN。

2.  安装和服务器搭建

    执行下列指令安装 

sudo apt-get install subversion

3  创建版本库

   3.1先创建目录文件夹

sudo mkdir /home/svn
sudo mkdir /home/svn/project1
sudo mkdir /home/svn/project2

   3.2创建第一个项目project1 第二个项目project2

svnadmin create /home/svn/project1
svnadmin create /home/svn/project2

4. 为了便于管理,将所有版本库的密码和权限设置在同一个文件下面,操作步骤如下:

    4.1 取出project1下面conf文件夹下的authz和passwd两个文件到svn根目录下面

    4.2 修改每个版本库目录conf文件夹下面的svnserve.conf文件, 将         

# anon-access = read 
#auth-access = write 
# password-db = passwd
#authz-db = authz 
修改为:
anon-access = none
auth-access= write
password-db = ../../passwd
authz-db = ../../authz
//(password-db = ../../passwd,authz-db = ../../authz代表相对路径而非绝对路径,用户也可以根据自己的实际情况,填写绝对路劲即可)

 

5. 定义一下几个角色用来测试

    5.1 配置管理员(svnadmin),用来管理整个库

    5.2 项目经理(manage),用来相关管理文档

    5.3 开发人员 (dev),测试开发是否正常

6. 下面添加角色

       打开svn目录下的passwd文件,创建方法是在[user]下面添加 username = passwd,记得“=”前后的空格,如下图:

       (svnadmin控制所有项目,统一管理)

[users]
svnadmin = svnadmin
quxin = quxin
dev1 = dev1
dev2 = dev2
test1 = test1

huzhixin = huzhixin
dev3 = dev3
dev4 = dev4
test2 = test

 

7. 为角色分配权限:

       假设(quxin是project1的项目经理,huzhixin是project2的项目经理,dev1、dev2是project1 的开发人员,dev3、dev4是project2的开发人员,test1是             project1的测试人员,test2是project2的测试人员)

       库目录及具体权限如下图所示:

       

    具体权限:(根目录下,svnadmin拥有所有权限,其他人只有读权限,要设置子目录权限,需设置子目录上级的权限方可,设置个别文件权限如下:)

[svmroot:/]
@admin_group = rw
* = r

[project1:/]
@admin_group = rw
@p1_manage_group = rw
* = r

[project1:/1-工作产品库]
@admin_group = rw
@p1_manage_group = rw
* = r

[project1:/1-工作产品库/2-代码]
@admin_group = rw
@p1_manage_group = rw
* = r

[project1:/1-工作产品库/2-文档]
@admin_group = rw
@p1_manage_group = rw
* = r

[project1:/2-管理文档库]
@admin_group = rw
* = r

[project2:/]
@admin_group = rw
* = r

 

8启动svn服务

   8.1一次启动

sudo svnserve -d -r /home/svn
//查看是否启动成功,可看的监听3690端口
sudo netstat -antp |grep svnserve
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 28967/svnserve
//如果想关闭服务,可使用pkill svnserve

 8.2.开机自启动svn

//在/etc/init.d目录建立一个脚本文件svnd.sh
cd /etc/init.d
touch svnd.sh
chmod +x svnd.sh
vi svnd.sh
//输入如下内容:

#!/bin/bash
#svnserve startup
svnserve -d -r /ysh/svn
//更新修改权限:
update-rc.d svnd.sh defaults //(若提示权限不足,请用sudo执行)

 

9 工具

SVN 服务器端:Subversion 1.5 ,客户端 TrotoiseSVN 1.5 (https://tortoisesvn.net/downloads.html)

10访问版本库地址

  1. svn://172.16.26.28/project1
  2. svn://172.16.26.28/project2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值