ubuntu 如何搭建svn 服务器
2.(可选)看版本命令 svnserve --version。如果出现下面图片,说明安装成功

3.添加svn管理用户和subversion组(这步很重要,不然也会导致authentication错误)
sudo adduser svnuser(添加svnuser用户)
sudo addgroup subversion(添加subversion组)
sudo addgroup svnuser subversion
4.开始创建项目目录
sudo mkdir /home/svn (这里的svn即为版本库目录文件,以后所有的操作都在/home/svn下
cd /home/svn
mkdir one(这里即为一个版本库文件,文件名可以任意取)
chown -R root:subverison one
chmod -R g+rws one
5.创建SVN文件仓库,即为上面建立的one文件目录
svnadmin create /home/svn/one
到这一步,安装基本完成,开始改配置。
6.在/home/svn/one文件目录中可以看到conf文件夹,可针对conf 文件夹中的authz、passwd、svnserve.conf进行设置,svnserve.conf主要设置整体的安全策略,passwd则设置用户 名和密码,authz则是设置具体的用户有什么权限。
7.访问权限设置
(1)编辑svnserve.conf文件,编辑svnserve.conf文件。
anon-access:匿名用户的权限,可以为read,write和none,默认值read。不允许匿名用户访问:anon-access = none
auth-access:认证用户的权限,可以为read,write和none,默认值write。
password-db:密码数据库的路径,去掉前边的#
authz-db:认证规则库的路径,去掉前边的#。
注意:这些配置项的行都要顶格,否则会报错。修改配置后需要重启svn才能生效。
(2)编辑passwd文件,加入用户名和密码(如下为示例)
这是每个用户的密码文件,比较简单,就是“用户名=密码”,采用的是明码。如allen=1(apache模式下密码为经过加密的变化)
[users]
allen = 1
ellen = 1
test = 1
(3)编辑authz文件,配置用户访问权限(如下为示例)
1. [groups] section:为了便于管理,可以将一些用户放到一个组里边,比如:
[groups]
owner=allen,ellen
[/]
@owner= rw
2. groups下边的sections表示对一个目录的认证规则,比如对根目录的认证规则的section为[/]。设置单用户的认证规则时一个用户一行,如:
[/]
allen=rw #allen对根目录的权限为rw
ellen=r #ellen对根目录的权限为r
如果使用group,需要在group名字前加@,如
@owner=rw #group owner中的用户均为rw,等价于上边的两句话
启动时如果从/home/svn/one启动,/就是one目录,用如上方式以one目录为根设置权限。
如果从/home/svn/启动,每个仓库根还是自己的起始目录。可以采用如上方式设置astar的权限,也可以采用如下方式:
[one:/]
@owner=rw
简言之,每个仓库的根目录(/)就是自己的起始目录;[repos:/]这种方式只适用于多仓库的情况;[/]适合于单仓库和单仓库的方式。更多关于单仓库和多仓库的问题,请见
http://http://bbs.iusesvn.com/thread-157-1-1.html
8.启动svn服务 svnserve -d -r -T /home/svn
描述说明:
-d 表示svnserver以“守护”进程模式运行
-T表示以线程模式运行,增加效率
-r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库。如: svn://你的IP/one
这个时候SVN就安装完成了。
然后在WINDOW下面安装客户端tortoise SVN(可能这里大家要问,为什么客户端要安装在WINDOWS下面,因为毕竟很多程序员调试代码都是在WINDOWS下面,而且查看代码什么的都是WINDOWS下面方便)。
9.这时候可以在客户端用用户名和密码登陆使用了,这里大家都会。
这个时候输入密码的时候就很有可能遇到authentication failed的提示。如下图所示:

,让我纠结了很久的一个问题
后来发现问题的原因是passwd文件中所有行前面都不能有空格,如果有空格的话就会提示这个错误。
总之,大家在配置的过程一定要注意authz passwd svnserve.conf文件所有行的前面都不能有空格;注意建立svn管理用户和组;另外注意单仓库和多仓库权限的配置问题和它们的访问路径问题。
这样的话,基本上就可以正常地享受SVN之旅了。
谢谢大家。有问题大家可以一起交流学习。
9 接下来测试验证,在客户机上找个目录执行一下命令:
代码如下:
svn://192.168.0.12/one就是新建的代码仓库的地址,假设刚才的服务是建在192.168.0.12上的。参数--username是指定用户名的,不指定的话会以
当前的系统用户登录,系统用户和SVN用户是不相干的两套,所以还是人工指定的好。--force参数可有可无,如果在同一个地址上反复测试,删了建建了
删,SVN客户端会缓存住上一次成功checkout的UUID,如果删了再建UUID会发生改变,客户端校验不一致会提示“Repository
UUID 'xxx' doesn't match expected UUID
'xxx'”,加--force参数就不理会这个校验,强行checkout。
如果顺利的话,会提示“Checked out revision 0.”,然后在当前目录下生成一个akcms的目录,里面就是代码仓库的代码了。
8、设置SVN开机启动
(1).创建执行脚本svn.sh(/root路径下)
#!/bin/bash
svnserve -d -r /home/svn
(2).添加可执行权限
#chmod ug+x /root/svn.sh
(3).添加自动运行
#vim /etc/init.d/rc.local
在最后添加一行内容如下:
/root/svn.sh
(4).检查
重启服务器,使用ps -aux |grep svn看看svn进程是否启动了。
停止svn 服务器
|
1
|
[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服务:
|
1
2
|
ps -aux |grep svnkill -9 进程杀掉 |
参考文献:
http://blog.csdn.net/rogerzhanglijie/article/details/39315455
SVN 服务器搭建
http://wenku.baidu.com/link?url=oy64ALNrNezy9SnpApKc_aC7U51xHImxL5MWvK7vIJrTMJBxcUGcHTBDIKYMSw6tTt3wmLYTfNeilM-hNY0sgQDQQB1hQ8CllDvh0-iDok3
ubuntu系统上svn服务器搭建步骤分享
http://www.jb51.net/os/Ubuntu/134818.html
Ubuntu搭建SVN服务器
http://blog.csdn.net/gavin_dinggengjia/article/details/7558635
ubuntu下svn使用指南
http://blog.csdn.net/dragon810913/article/details/5797593
ubuntu 如何搭建svn 服务器的更多相关文章
- ubuntu下搭建svn服务器
[ubuntu下搭建svn服务器] 1.创建目录 mkdir ~/svn/repository/ 2.创建仓库 svnadmin create repository 3.进入 repository/c ...
- Ubuntu系统搭建SVN服务器
Ubuntu系统搭建SVN服务器 参考地址:http://git.devzeng.com/blog/aliyun-ubuntu-svn-server.html 安装软件 依次在终端中执行下面的命令安装 ...
- Ubuntu环境搭建svn服务器
记录一次使用Ubuntu环境搭建svn服务器的详细步骤 一.查看是否已经安装svn 命令:svn如果显示以下信息,说明已安装 二.卸载已安装的svn 命令:sudo apt-get remove ...
- 【转】Ubuntu环境搭建svn服务器
记录一次使用Ubuntu环境搭建svn服务器的详细步骤 一.查看是否已经安装svn 命令:svn如果显示以下信息,说明已安装 二.卸载已安装的svn 命令:sudo apt-get remove -- ...
- 【转】阿里云Ubuntu系统搭建SVN服务器
##SVN服务器相关软件安装 1.使用SSH远程服务器 (1)对于MAC OS/Liunx的用户直接打开终端输入 ssh 用户名@实例名,例如 ssh root@192.168.1.100 执行上面 ...
- ubuntu中搭建svn服务器步骤
1.安装软件包: sudo apt-get install subversion 2.建立相关文件夹(这里svn放在home文件夹中) cd /home sudo mkdir svn cd /home ...
- Ubuntu/CentOs 搭建SVN服务器
安装 CentOS : yum install subversion Ubuntu: sudo apt-get install subversion 查看Subversion版本: 使用“svn -- ...
- Ubuntu 下搭建SVN服务器
root@iZ25q0jd99eZ:~# sudo apt-get install subversion root@iZ25q0jd99eZ:/etc/subversion# mkdir /svn r ...
- Ubuntu 14.04 下搭建SVN服务器 svn://
Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置.我放在了/srv下 ...
随机推荐
- 1047 编程团体赛 (20 分)C语言
编程团体赛的规则为:每个参赛队由若干队员组成:所有队员独立比赛:参赛队的成绩为所有队员的成绩和:成绩最高的队获胜. 现给定所有队员的比赛成绩,请你编写程序找出冠军队. 输入格式: 输入第一行给出一个正 ...
- Mysql备份与恢复(1)---物理备份
数据库对企业来说最重要的莫过于其中的数据,所以做好数据库的备份是一个不可或缺的工作.数据库及时备份可以帮助我们在数据库出现异常宕机时及时的使用备份数据进行恢复工作,将因为数据库宕机产生的影响降低到最小 ...
- Java对象头与锁
对象由多部分构成的,对象头,属性字段.补齐区域等.所谓补齐区域是指如果对象总大小不是4字节的整数倍,会填充上一段内存地址使之成为整数倍. 后面两个很好理解,今天我主要想总结一下对象头: 对象头这部分在 ...
- Java程序员必备基础:内部类解析
前言 整理了一下内部类的相关知识,算是比较全,比较基础的,希望大家一起学习进步. 一.什么是内部类? 在Java中,可以将一个类的定义放在另外一个类的定义内部,这就是内部类.内部类本身就是类的一个属性 ...
- ArcEngine DEM叠加影像
代码执行前: 代码执行后: 影像叠加代码: /// <summary> /// 叠加DEM /// </summary> /// <param name="pR ...
- .NET 在云原生时代的蜕变,让我在云时代脱颖而出
.NET 生态系统是一个不断变化的生态圈,我相信它正在朝着一个伟大的方向发展.有了开源和跨平台这两个关键优先事项,我们就可以放心了.云原生对应用运行时的不同需求,说明一个.NET Core 在云原生时 ...
- 你还不会Git?那就不要写代码了(一)
Git应用开发学习 如果你还不会使用Git,那就不要写代码了. 一旦你会使用了Git,就再也不想使用SVN了.永远也回不去了. Mac上使用Git,肯定离不开对Mac上的操作.就要使用常用的Linux ...
- 用来更新服务的bat 脚本
net stop XK.Service echo "已停止服务,开始更新!" set /a t = echo %t% :loop 127.1 >nul set /a t = ...
- 重拾c++第一天(3):数据处理
1.short至少16位:int至少与short一样长:long至少32位,且至少与int一样长:long long至少64位,且至少与long一样长 2.sizeof 变量 返回变量长度 或者s ...
- cogs 495. 滑动窗口 单调队列
495. 滑动窗口 ★★ 输入文件:window.in 输出文件:window.out 简单对比时间限制:2 s 内存限制:256 MB [问题描述] 给你一个长度为N的数组,一个长为 ...