原文网址: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. Node.js + Express + Mongodb 开发搭建个人网站(二)

    二.路由 1.打开 routes/index.js ,这个意思就是  捕获到访问主页的get请求: 并通过 app.js 分配到对应的路由里: 看到这里,打开 http://127.0.0.1:300 ...

  2. JavaScript小笔记の经典算法等....

    1.利用toString()里面的参数,实现各进制之间的快速转换: var n = 17; binary_string = n.toString(2); //->二进制"10001&q ...

  3. sqlserver 启用邮箱服务

    1,打开数据库,找到管理 找到数据库邮件,单击右键选择配置 2,直接下一步 3. 4 填写基本的配置信息,邮箱密码不要写错了. 不然到时候发不出去邮件,也不会报错! 直接点击下一步.然后完成.. 到了 ...

  4. c# HttpWebRequest与HttpWebResponse 绝技(转载)

    c# HttpWebRequest与HttpWebResponse 绝技    如果你想做一些,抓取,或者是自动获取的功能,那么就跟我一起来学习一下Http请求吧.本文章会对Http请求时的Get和P ...

  5. Servie学习总结

    一.什么是Service Service是一个应用程序组件,它是安卓实现程序后台运行的一个解决方案. 二.分类 服务有两种类别started.bound.但是一个服务类所要继承的类是一样的,都是Ser ...

  6. 黑马程序员-File类+递归的简单应用

    Java File类   Java.io.File Java文件类以抽象的方式代表文件名和目录路径名.该类主要用于文件和目录的创建.文件的查找和文件的删除等. File对象代表磁盘中实际存在的文件和目 ...

  7. 排序算法(冒泡,选择,快速)Java 实现

    冒泡 排序: public static void Bubblesort(int [] a) { for(int x=0;x<=a.length-1;x++) { for(int y=0;y&l ...

  8. Javascript基础学习(3)_对象和数组

    一.对象是一种无序的属性集合,每个属性都有自己的名字和值. 1.创建对象 花括号内逗号分隔 var person = { "Name" : "LiCheng", ...

  9. 继续(3n+1)猜想

    卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对n=3进行验证的时候, ...

  10. WebService学习笔记

    WebService有什么用? 入门之前先简单介绍下WCF.在用WebService做开发时,很多人都不知道WCF和WebService之间的关系.实际上WCF包含了WebService,这是一个很强 ...