zoukankan      html  css  js  c++  java
  • ubuntu下 SVN 服务器搭建及使用

    简化篇

    http://blog.csdn.net/Eric_lmy/article/details/51942931

    详细篇

    1.安装Subversion Server
    Subversion server binaries maintained by the Ubuntu Project. Packages include the Subversion client, and tools to create a Subversion repository and to make a repository available over a network.
    Run this command as root:
    $ apt-get install subversion


    从上面可以看出安装很简单只要运行如下命令:

    sudo apt-get install subversion
    验证安装是否成功可以使用如下命令:

    svn help --svn帮助
    svn --version --svn版本
    svnserve --version --svn server版本
    2. 创建SVN 版本库

    mkdir /u02/svn
    svnadmin create /u02/svn/svnname --svnname为版本库名称
    3.SVN 配置

    创建版本库后,在这个目录下会生成3个配置文件:

    [root@singledb conf]# pwd
    /u02/svn/davesvn/conf
    [root@singledb conf]# ls
    authz passwd svnserve.conf

    (1)svnserve.conf: svn服务配置文件下。
    (2)passwd: 用户名口令文件。
    (3)authz: 权限配置文件。

    svnserve.conf 文件, 该文件配置项分为以下5项:
    anon-access: 控制非鉴权用户访问版本库的权限。
    auth-access: 控制鉴权用户访问版本库的权限。
    password-db: 指定用户名口令文件名。
    authz-db:指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
    realm:指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件
    Passwd 文件 :
    我们在svnserve.conf文件里启用这个文件。然后配置如下:
    [root@singledb conf]# cat 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
    dave = davepwd
    tianlesoftware = tianlesoftwarepwd

    authz 文件 :
    在网上找到一个很好的配置例子:
    [groups]
    admin = john, kate
    devteam1 = john, rachel, sally
    devteam2 = kate, peter, mark
    docs = bob, jane, mike
    training = zak
    --这里把不同用户放到不同的组里面,下面在设置目录访问权限的时候,用目录来操作就可以了。

    # 为所有库指定默认访问规则
    # 所有人可以读,管理员可以写,危险分子没有任何权限
    [/] --对应我测试里的:/u02/svn 目录
    * = r
    @admin = rw
    dangerman =

    # 允许开发人员可以完全访问他们的项目版本库
    [proj1:/]
    @devteam1 = rw
    [proj2:/]
    @devteam2 = rw
    [bigproj:/]
    @devteam1 = rw
    @devteam2 = rw
    trevor = rw

    # 文档编写人员对所有的docs目录有写权限
    [/trunk/doc]
    @docs = rw

    # 培训人员可以完全访问培训版本库
    [TrainingRepos:/]
    @training = rw

    下面我们来配置我们的authz文件:
    [root@singledb conf]# cat authz
    [groups]
    admin = dave
    dev=tianlesoftware
    [davesvn:/]
    @admin = rw
    @dev = rw
    [root@singledb conf]#
    4 启动和停止SVN服务

    (1)启动SVN服务:
    [root@singledb conf]# svnserve -d -r /u02/svn

    -d表示后台运行
    -r 指定根目录是 /u02/svn
    [root@singledb conf]# ps -ef | grep svn

    root 4592 1 0 18:04 ? 00:00:00 svnserve -d -r /u02/svn
    root 4594 3709 0 18:04 pts/1 00:00:00 grep svn
    (2)停止SVN服务:
    ps -aux |grep svn
    kill -9 进程杀掉

    本文转自:https://my.oschina.net/jast90/blog/382688

  • 相关阅读:
    如何学习linux编程
    SharpMap学习9调侃WebGIS
    蛮力法01
    SharpMap学习10比例尺
    蛮力法03
    系统学习Linux11点建议
    蛮力算法02
    大地坐标系
    Windows 7下删除右键新建菜单项的多余选项
    GIS中的坐标系相关概念
  • 原文地址:https://www.cnblogs.com/iamjqy/p/7137002.html
Copyright © 2011-2022 走看看