原文网址:http://www.cnblogs.com/pcchinadreamfly/archive/2012/11/24/2786046.html

前段时间在ubuntu 12.04lts上倒腾了一个svn服务器,安装和配置都是按照网上的一些资料来做的,不过一直没有使用过。这两天突然要使用了,才想起这茬来,于是使用tortoiseSVN连接之前配置的svn server,不过问题出来了。先说说我的安装与配置步骤:

ubuntu下SVN服务器安装配置 一、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 fitness
  $ sudo chown -R root:subversion fitness
  $ sudo chmod -R g+rws fitness

4.创建SVN文件仓库
  $ sudo svnadmin create /home/svn/fitness

5.访问方式及项目导入(其实这步可以先不管):
  svn  co  http://路径(目录或文件的全路径) [本地目录全路径]  --username 用户名 --password 密码

  svn  co  svn://路径(目录或文件的全路径) [本地目录全路径]  --username 用户名 --password 密码

6.访问权限设置(在第4步执行成功后就会有这3个文件)
修改 /home/svn/fitness/conf目录下:
svnserve.conf 、passwd 、authz三个文件,行最前端不允许有空格
//--
编辑svnserve.conf文件,把如下两行取消注释
password-db = password
authz-db = authz

//补充说明
# [general]
anon-access = read
auth-access = write
password-db = passwd
其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果想拒绝匿名用户的访问,只需把 read 改成 none 就能达到目的。

编辑authz如下(等号前为组,等号后为该组的用户,这个不需要在系统中添加)
[groups]
admin = test
[/]
@admin=rw
*=r
这里设置了三个用户mirze,test1,test2密码都是123456
其中mirze和test1属于admin组,有读和写的权限,test2属于test组只有读的权限

编辑passwd 如下:
[users]
test = 123456

7.启动SVN服务
  svnserve -d -r /home/svn
描述说明:
-d 表示svnserver以“守护”进程模式运行
-r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径(但如果用svnserve -d就需要给出全部的路径svn://192.168.12.118/home/svn/fitness),就可以访问版本库
如: svn://192.168.12.118/fitness

所有步骤均按照上面执行,但是当我用tortoiseSVN访问时却总是出现“authorization failed”,网上对这个问题也是众说纷纭,不过最后还是通过网络解决了。问题出在第6步修改authz部分,也就是将字体标注成红色字体的部分,在第4步中,我已经创建了fitness这个仓库,“[/]”(不含引号)这个命令的作用是将登陆的用户限制在仓库根目录下,但是用户不对,应该将"[/]"修改成"[fitness:/]",再次用tortoiseSVN访问的时候就不会出现authorization failed的情况了。

不过我使用的是test用户,是具有写入权限的,于是我试着添加一个文件,不过出现了“subversion reported an error: Can't open file '/home/svn/fitness/db/txn-current-lock': Permission denied”,在ubuntu中找到该文件后,将文件操作类型改成了755,但是还是不能添加,不过其他功能是没有问题。本随笔暂时到这里,在这里请知道怎么解决这个error的大神给点提示。

【转】在ubuntu环境下搭建svn server遇到的一些问题的更多相关文章

  1. Windows和Linux环境下搭建SVN服务器

    --------------------------Windows下搭建SVN服务器----------------------------- 一.安装SVN服务端 软件包Setup-Subversi ...

  2. window环境下搭建SVN服务器

    <span style="font-family: Arial; rgb(255, 255, 255);">第一步:准备工具:</span> 1.SVN服务 ...

  3. linux系统Centos环境下搭建SVN服务器及权限配置

    linux系统Centos环境下如何搭建SVN服务器以及svnserve.conf.authz.passwd配置文件详细介绍   至于svn的概念,这里就不做详细阐述了,可以自行百度.简单来讲就是一个 ...

  4. LNMP环境下搭建SVN服务

    最近自己买了个服务器,试着在上面搭建了LNMP环境,因为以前在本地用MAMP Pro搭建过LAMP环境,所以基本上还算是轻车熟路,第一次搭建LNMP,使用的是一键安装,过程是顺利的,后来在使用过程中遇 ...

  5. Windows环境下搭建SVN服务器

    使用 VisualSVN Server来实现主要的 SVN功能则要比使用原始的 SVN和Apache相配合来实现源代码的 SVN管理简单的多,下面就看看详细的说明. VisualSVN Server的 ...

  6. 【SVN】centos环境下搭建SVN服务器

    1.安装SVN,有些linux发行版自带SVN,可以用下面方法检测是否安装SVN. svn --version 如果 Subversion 客户端没有安装,命令将报告svn命令找不到的错误. 我们可以 ...

  7. Centos7.1环境下搭建SVN

    环境准备: 系统 配置 IP Centos7.1 1核2G+60GB硬盘 10.10.28.204 1.安装 sudo yum install subversion 查看版本 svnserve –-v ...

  8. 在Ubuntu环境下搭建esp32开发环境

    第一步:下载必要的库文件   sudo apt-get install git make gcc libncurses5-dev flex bison gperf python-serial     ...

  9. ubuntu环境下搭建Hadoop集群中必须需要注意的问题

    博主安装的hadoop是3.1.3这里是按照厦门大学那个博客安装的,在安装与启动过程中,费了不少事,特此记录一下问题. 安装的连接: 安装环境:http://dblab.xmu.edu.cn/blog ...

随机推荐

  1. C#基础入门--关于C#背景介绍以及变量相关

    在正式探索C#的奥秘之前,我们先谈一谈关于学习方法的问题吧.你会不会有这样的感悟,自己努力奋斗得到的东西倍加珍惜,飘到眼前的,却不屑一顾.我认为,学习的整个历程亦是如此.在学习过程中,只有我们遇到了问 ...

  2. java web hello world

    首先在eclipse 里面创建一个java 动态项目, 记住路径,这里是直接通过根目录直接访问的webContent目录下面 的文件, 创建好后 ,在本地配置Tomcat服务器, 将server加入到 ...

  3. 无法加载协定为“ServiceReference1.ReportWsSoap”的终结点配置部分,因为找到了该协定的多个终结点配置。请按名称指示首选的终结点配置部分。

    前言 引用websevice时,有时会出现如下错误: 异常详细信息: System.InvalidOperationException: 无法加载协定为“ServiceReference1.Repor ...

  4. python基础知识十

    特殊的方法 在类中有一些特殊的方法具有特殊的意义,比如__init__和__del__方法,它们的重要性我们已经学习过了. 一般说来,特殊的方法都被用来模仿某个行为.例如,如果你想要为你的类使用x[k ...

  5. Nhibernate总结(一)查询返回指定字段

    项目查询中,常常需要返回指定的字段,下面是三种Nhibernate的方法1.linq to Nhibernatepublic class NameID{ public int Id { get; se ...

  6. ios framework通用库的制作

    这篇文章是在史上最完整的iOS DIY framework 详细教程(一)的基础上加以修改 1.新建一个静态库工程: 2:取自己喜欢的名字: 3.删除向导所生成工程中的 Target: 3.删除Tes ...

  7. php验证码封装

    /** * 生成验证码 * @param int $type 1: 纯数字,2:纯字母,3:数字与字母混合  * @param int $length * @return string */funct ...

  8. php hook example

    http://www.thinkphp.cn/code/337.html http://blog.micxp.com/index.php/archives/63/

  9. User Commands

    archive Creates a hadoop archive[v.存档; n.档案文件; 档案室; ]. More information can be found at Hadoop Archi ...

  10. 用gtest实现数据驱动的单元测试

    //使用gtest进行数据驱动的单元测试 #include <gtest/gtest.h> #include <iostream> #include <vector> ...