转自:http://my.oschina.net/lionel45/blog/298305

Linux搭建SVN 服务器

作者: 沈小然    日期:2014年 8月 5日

1          安装SVN

官网下载:http://subversion.apache.org/packages.html

SVN客户端:TortoiseSVN,官网下载:http://tortoisesvn.net/downloads.html

# yum install subversion

1.       新建一个目录用于存储SVN所有文件

# mkdir /svn

2.       新建一个资源仓库

# svnadmin create /svn/project

# ls /svn/project/

conf  db  format  hooks  locks  README.txt

目录用途说明:

l  hooks目录:放置hook脚本文件的目录

l  locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端

l  format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号

l  conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)

3.       配置svn服务的配置文件svnserver.conf文件

# vi /svn/project/conf/svnserve.conf

[general]

anon-access = none

auth-access = write

password-db = /svn/project/conf/passwd

authz-db = /svn/project/conf/authz

realm = My Test Repository         #这是个提示信息

保存

4.       添加两个访问用户及口令

# vi /svn/project/conf/passwd

[users]

xiaoran.shen = 123456

test1 = 123456

test2 = 123456

保存

注意:对用户配置文件的修改立即生效,不必重启svn服务。

5.       配置新用户的授权文件

# vi /svn/project/conf/authz

[groups]

admin = xiaoran.shen,test1

user = test2

[/]

@admin = rw

@user = r

* =

保存

格式说明:

版本库目录格式:

[<版本库>:/项目/目录]

@<用户组名> = <权限>

<用户名> = <权限>

/ 表示对根目录(即/svn/project目录)下的所有子目录范围设置权限;

[/abc] 表示对资料库中abc项目设置权限;

创建一个admin组,组成员包括xiaoran.shen和test1

创建一个user组,成员只有test2;

admin组对目录有读写权限;

单个用户test2有读写权限;

*=表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上。

注意:对权限配置文件的修改立即生效,不必重启svn。

6.       启动svn服务

svnserve -d -r /svn/project/

注意:不要使用系统提供的 /etc/init.d/svnserve start 来启动,因为系统默认的启动脚本中没有使用 –r /svn/project参数指定一个资源。这种情况下启动的svn服务,客户端连接会提示“svn: No repository found in 'svn://192.168.11.229/project' ”这样的错误。

默认svn服务器端口是3690。

杀死svn服务:

# ps -ef|grep svn

root      4642     1  0 16:08 ?        00:00:00 svnserve -d -r /svn/project/

root      4692  3676  0 16:13 pts/2    00:00:00 grep svn

# kill -9 4642

若要使用/etc/init.d/svnserve 脚本,可以修改start()函数部分,如下:

start() {

[ -x $exec ] || exit 5

[ -f $config ] || exit 6

echo -n $"Starting $prog: "

daemon --pidfile=${pidfile} $exec $args -r /svn/project

retval=$?

echo

[ $retval -eq 0 ] && touch $lockfile

return $retval

}

完成

2          使用客户端连接

2.1       使用windows的客户端

打开TortoiseSVN Repository Browser工具

在URL中输入:

svn://192.168.11.229回车,提示输入用户名和口令

2.2       使用Linux下的命令行

#svn co svn://192.168.11.229

3          FAQ

3.1       命令行方式连接,提示svn: No repository found in 'svn://192.168.11.229/project'错误?

解决:启动svn服务的时候没有使用-r /svn/project参数,没有指明资源库的具体路径。使用# svnserve -d -r /svn/project/ 命令来启动就可以了,不要使用/etc/init.d/svnserver脚本。

3.2       执行命令# svn co svn://192.168.11.229/project时提示“svn: Authorization failed”错误?

解决:一般这种授权失败的错误原因都来自conf/authz文件的配置

正确的配置如下:

[groups]

admin = xiaoran.shen,test1

user = test2

[/]

@admin = rw

@user = rw

* =

保存

转载于:https://www.cnblogs.com/lee-mj/p/5177653.html

Linux搭建SVN 服务器(转)相关推荐

  1. 原 Linux搭建SVN 服务器2

    原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55)   阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...

  2. 【远程访问】Linux搭建SVN服务器,并内网穿透实现公网远程访问

    文章目录 前言 1. Ubuntu安装SVN服务 2. 修改配置文件 2.1 修改svnserve.conf文件 2.2 修改passwd文件 2.3 修改authz文件 3. 启动svn服务 4. ...

  3. Linux 搭建SVN 服务器

    一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...

  4. Linux搭建SVN服务器详细教程

    前言 本文讲解Linux系统下如何搭建SVN服务器,详细说明各配置项的功能,最终实现可管控多个项目的复杂配置. SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统 ...

  5. 利用Linux搭建SVN服务器,详细过程

    第一步:安装SVN环境依赖 yum -y install subversion #下载并安装svn服务svnserve --version #检查svn版本,确认环境是否安装成功 第二步:创建版本库目 ...

  6. Linux搭建SVN服务器,并内网穿透实现公网远程访问

    文章目录 1. Ubuntu安装SVN服务 2. 修改配置文件 2.1 修改svnserve.conf文件 2.2 修改passwd文件 2.3 修改authz文件 3. 启动svn服务 4. 内网穿 ...

  7. Linux下服务器搭建(2)——linux搭建svn服务器详细过程 及 使用TortoiseSVN客户端连接服务器

    环境: Linux环境为Centos7.2x64位:Centos6+版本搭建过,通用 首先安装svn,svn是subversion的缩写. 检查是否安装过: rpm -qa | grep subver ...

  8. CentOS Linux搭建SVN服务器

    1.云安装SVN [root@localhost ~]# yum install subversion复制代码 2.输入rpm -ql subversion查看安装位置,如下图: [root@loca ...

  9. Linux 搭建SVN服务器

    一.基本步骤 1.安装SVN服务端 sudo apt-get install subversion 2.创建版本库 svnadmin create /home/myrepos //这里的文件目录自己随 ...

最新文章

  1. SPI时钟极性、时钟相位及片选
  2. 【收藏】Linux 运维必备的 40 个命令总结
  3. 【算法】动图展示八大常用排序算法,一次看个够!
  4. 大楼通信综合布线系统_建筑智能化,智能大楼防雷系统设计在综合布线中的重要性...
  5. 面试题 01.01. 判定字符是否唯一 (计数排序思想)
  6. sqlserver中的dateadd和datediff
  7. mesh 协调器 路由器_北京无线路由收发器C32MESH
  8. VBA中常用的字符串处理函数
  9. Atiitt uke兼wag集团2017年度成果报告总结 attilax著 1. 组织机构进一步完善 8大首席部门 1 2. 事业部进一步完善,以及一百多个事业部了 1 3. 企业文化进一步完善 1
  10. android 类似qq表情,android 实现类似qq表情
  11. WinCE 5.0下的鼠标键盘驱动分析
  12. C#制作单机版桌面软件(带数据库)
  13. 微信小程序获取手机号
  14. 信息隐藏基础算法——LSB算法(python实现)
  15. 淘宝新店刚开详情页到底需要怎么做
  16. 深度强化学习(机器之心)
  17. C++俄罗斯方块源码(Qt版)
  18. 水星pppoe连接服务器无响应,利用水星路由器系统日志解决PPPOE拨号故障
  19. 《统计学习导论》R语言代码整理
  20. ThinkPHP 缓存技术详解 使用大S方法

热门文章

  1. word度量单位无效_【一定要看】这篇Word毕业论文排版全攻略,25个技能请收藏好~...
  2. C# 字典键值对排序 属性的key和value排序
  3. java实验二答案天津商业大学,天津商业大学java实验报告
  4. MyBatis传入参数为0时条件不生效
  5. jsp 页面之${fn:}内置函数列表
  6. oracle列转行wm_concat,Oracle列转行函数wm_concat版本不兼容解决方案
  7. CF Round #722 (Div. 2) C. Parsa‘s Humongous Tree(树形dp)
  8. 【NOIP2012】【Luogu1075】质因数分解(模拟)
  9. 关于Windows系统中一些实用的修改常识
  10. c语言双精度型输出小数位数_4.1 C语言数据的输出