• ubuntu下SVN服务器安装配置


    ubuntu下SVN服务器安装配置

    1.安装包

    sudo apt-get install subversion

    2.添加svn管理用户及subversion组

    $ sudo adduser svnuser 添加用户

    $ sudo addgroup subversion 添加用户组

    $ sudo addgroup svnuser subversion 将用户加入到组

    3.创建项目目录

    sudo mkdir /home/svn 创建文件

    cd /home/svn

    sudo mkdir myproject 创建SVN服务目录

    sudo chown -R root:subversion myproject更改用户属主属组

    sudo chmod -R g+rws myproject   添加组写权限

    4.创建SVN文件仓库

    sudo svnadmin create /home/svn/myproject

    5.访问方式及项目导入:

    设置访问方式:

    svn co file:///home/svn/myproject

    或者

    svn co file://localhost/home/svn/myproject

    * 注意:

    如果您并不确定主机的名称,您必须使用三个斜杠(///),而如果您指定了主机的名称,则您必须使用两个斜杠(//).

    将项目导入到SVN 文件仓库:

    svn import -m "New import" /home/svn/myproject file:///home/svnuser/src/myproject

    一定要注明导入信息

    6.访问权限设置

    修改 /home/svn/myproject下:svnserve.conf 、passwd 、authz

    注意:三个文件,行最前端不允许有空格

    编辑conf/svnserve.conf

    把如下两行取消注释

    password-db = password

    authz-db = authz

    # [general] 补充说明

    anon-access = read

    auth-access = write

    password-db = passwd

    其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果想拒绝匿名用户的访问,只需把 read 改成 none 就能达到目的。

    编辑conf/passwd

    [users]

    mirze = 123456

    test1 = 123456

    test2 = 123456

    编辑conf/authz

    [groups]

    admin = mirze,test1

    test = test2

    [/]

    @admin=rw

    *=r

    这里设置了三个用户mirze,test1,test2密码都是123456

    其中mirze和test1属于admin组,有读和写的权限,test2属于test组只有读的权限

    7.启动SVN服务

    svnserve -d -r /home/svn/myproject

    描述说明:

    -d 表示svnserver以“守护”进程模式运行

    -r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库

    如: svn://192.168.12.118/myproject

    这时SVN安装就完成了.

    局域网访问方式:

    例如:svn checkout svn://192.168.12.118/myproject --username mirze --password 123456 /var/www/myproject

    此种方法使用subversion自带的svnserve进行配置,对于局域网已经适用,要想在WLan上适用要适用apache方式配置。

    8.整个库的导出与导入

    svnadmin dump myrepos > dumpfile; 在启动库的情况下执行此命令可已将库导出到dumpfile中,myrepos为库的目录。

    svnadmin load newrepos < dumpfile; 启动你创建的库,执行此命令可以将原库中的内容导入到新库中。newrepos是新库的目录

    问题列表

    (1)       svnserve.conf:xxx:Option exected

    这是由于svnserve.conf文件中的配置没有顶格写,配置文件svnserve.conf要求配置项前面没有空格,在解除注释项的时候要随手删去行首的空格

    (2)      Can't open file '/home/svn/fitness/db/txn-current-lock': Permission denied

    因为在创建版本库的时候用的是root权限,所以svn用户就更新不了db/目录下的文件了(因为提交会更新SVN服务器上版本库中的db/目录)。解决方案就是把db/目录下的文件都放权给操作用户。操作如下:

    sudo chmod -R g_rws myproject/db

    (3)      Svn: ‘xxxxx ’isn't in the same repository as ‘xxxxx’

    在创建版本库的时候,我们使用了如下命令

    sudo svnadmin create /home/svn/myproject

    在conf/authz配置文件中我们设置相应的

    [/] @admin=rw *=r

    而如果我们使用如下命令创建版本库:

    sudo svnadmin create /home/svn

    这个时候在登录版本库的时候就提示不是同一个版本库。对此要设置conf/authz为

    [myproject:/] @admin=rw *=r

  • 相关阅读:
    HTML 表单常用的代码元素
    HTML 基础及基本标签 (暂时无图)
    C#中的集合
    SQL中的视图,事务
    SQL基本编程,分支语句,循环语句,存储过程,触发器
    GO.语言基础
    问题.beego路由设置及请求参数传递
    GO.数据库接口
    Java NIO 上
    maven构建springmvc过程中遇到的一些问题
  • 原文地址:https://www.cnblogs.com/zhangjy6/p/5419935.html
Copyright © 2020-2023  润新知