使用subversion搭建SVN需要用到的软件包有subversion,apr,apr-util,sqlite,zlib,因为在编译安装subversion时需要指明apr、apr-util、sqlite和zlib的安装路径,所以建议用源代码安装apr、apr-util、sqlite、zlib并在编译时指定安装位置。
下载subversion,apr,apr-util,sqlite,zlib软件包可以使用“wget <网址>”方式;也可以在本地电脑下载好软件包,使用“rz”命令(服务器需要安装lrzsz)将压缩包上传至服务器。
一、 安装apr
tar xf 解压apr压缩包,cd进入解压后的文件夹
./configure --prefix=/opt/apr 配置并设置安装路径
make && make install 编译安装
二、 安装apr-util
tar xf 解压apr-util压缩包,cd进入解压后的文件夹
./configure --prefix=/opt /apr-util --with-apr=/opt/ apr 设置安装路径、指定使用apr的位置
make && make install 编译安装
三、 安装sqlite
tar xf 解压sqlite压缩包,cd 进入解压后的文件夹
./configure --prefix=/opt/sqlite 设置安装路径
make && make install 编译安装
四、 安装zlib
tar xf 解压zlib压缩包,cd 进入解压后的文件夹
./configure --prefix=/opt/zlib 设置安装路径
make && make install 编译安装
五、 安装svn
tar xf 解压subversion压缩包,cd 进入解压后的文件夹
./configure --prefix=/opt/svn --with-apr=/opt/apr --with-apr-util=/opt/apr-util --with-sqlite=/opt/sqlite --with-zlib=/opt/zlib
make && make install 编译安装
六、 设置环境变量
vim /etc/profile
在最后添加以下内容:
export PATH=/opt/svn/bin:$PATH
立即生效source /etc/profile
七、 测试是否安装成功
svnserve --version
八、 创建仓库
mkdir –p /var/svnroot
cd /var/svnroot
svnadmin create test 创建一个名为test的仓库
cd test/conf
九、 配置svnserve.conf
vim svnserve.conf
去掉注释符#
anon-access = none 未验证用户无任何权限
auth-access = write 已验证用户有写权限
password-db = passwd 指定用户名密码文件
authz-db = authz 指定权限配置文件
十、 设置访问权限
- 添加用户并设置用户密码
vim passwd
添加(用户名=密码)
user = password
- 设置权限
[groups]
用户组名 = 用户1,用户2
[版本库:/目录]
@用户组名 = 权限rw
用户名 = 权限rw
十一、 运行SVN,默认使用3690端口
svnserve –d –r /var/svnroot/test
也可以指定端口号 svnserve –d –r /var/svnroot/test --listen-port 65432
十二、 查看svn是否运行
ps –ef |grep svnserve
十三、 配置实例
有四个用户,分别为boss、d、t1、t2,密码均为123,boss隶属于super组,d隶属于developer组,t1、t2隶属于tester组。Super组可对所有文件进行读写操作;developer组可对“develop”文件夹进行读写操作,对“test”文件夹进行读操作;tester组可对“test”文件夹进行读写操作,对“develop”文件夹进行读操作
1) passwd文件
[users]
boss = 123 创建四个名为boss、d、t1、t2用户,密码设置为123
d = 123
t1 = 123
t2 = 123
2) authz文件
[groups]
super = boss 创建三个名为super、developer、tester组,boss隶属于super组
developer = d d隶属于developer组,t1和t2隶属于tester组
tester = t1,t2
[/]
@super = rw
* = r
[/develop]
@super = rw
@developer = rw
@tester = r
[/test]
@super = rw
@developer = r
@tester = rw
十四、 访问svn
可在客户端上安装TortoiseSVN软件访问,访问网址为“svn://ip地址”或“svn://ip地址:端口号”
十五、 备份
- 完全备份
svnadmin dump /var/svnroot/test >/home/full.svn.bak |
md5sum >/home/full.svn.bak.md5
将test仓库完全备份到/home中,命名为full.svn.bak,并生成名为full.svn.bak.md5的校验文件
- 增量备份并生成md5校验文件
svnadmin dump /var/svnroot/test –r 2 --incremental >/home/svn.bak.2 |
md5sum >/home/svn.bak.2.md5
以增量备份将版本库2备份到/home路径下,命名为svn.bak.2,并生成名为svn.bak.2.md5的校验文件
svnlook youngest /var/svnroot/test 查看test仓库最新的版本号
十六、 还原
svnadmin load /var/svnroot/test </home/full.svn.bak
使用subversion搭建SVN的更多相关文章
-
持续集成之二:搭建SVN服务器(subversion)
安装环境 Red Hat Enterprise Linux Server release 7.3 (Maipo) jdk1.7.0_80 subversion-1.10.3.tar.gz apr-1. ...
-
搭建SVN服务器
系统环境:CentOS 6.6 首先查看服务器上是否已安装了svn # rpm -qa subversion 如果没有安装,则执行此命令 # yum list subversion ...
-
CentOS 7搭建SVN服务器
安装步骤如下: 1.yum install subversion 2.查看安装版本 svnserve --version 3.创建SVN版本库目录 mkdir -p /var/svn/svnrepos ...
-
Linux(Centos)系统上搭建SVN以及常见错误解答
本文主要介绍怎样在Centos上搭建SVN,文章内容比较基础,适合小白用户学习. 1.Linux版本Centos 6.5 查看linux版本命令: cat /etc/issue 2.查看本机上是否已经 ...
-
Linux下搭建SVN服务器及自动更新项目文件到web目录(www)的方法
首先搭建SVN服务器 1,安装SVN服务端 直接用apt-get或yum安装subversion即可(当然也可以自己去官方下载安装) sudo apt-get install subversion ...
-
如何在win上搭建SVN服务器
本博文转自:http://www.cnblogs.com/armyfai/p/3985660.html SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本, ...
-
centos搭建SVN三部曲
搭建SVN服务,有效的管理代码,以下三步可以快速搞定. 1.安装 #yum install subversion 判断是否安装成功 #subversion -v svnserve, version 1 ...
-
Ubuntu 14.04 下搭建SVN服务器 svn://
Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置.我放在了/srv下 ...
-
Centos搭建SVN服务器三步曲
搭建SVN服务,有效的管理代码,以下三步可以快速搞定.1.安装 #yum install subversion 判断是否安装成功#subversion -v svnserve, version 1.6 ...
随机推荐
-
java并发编程学习:如何等待多个线程执行完成后再继续后续处理(synchronized、join、FutureTask、CyclicBarrier)
多线程应用中,经常会遇到这种场景:后面的处理,依赖前面的N个线程的处理结果,必须等前面的线程执行完毕后,后面的代码才允许执行. 在我不知道CyclicBarrier之前,最容易想到的就是放置一个公用的 ...
-
es6 let
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
-
在Unity中如何取得一个Box的Bounds
private BoxCollider mCollider; // Use this for initialization void Start () { mCollider = GetCompone ...
-
FZU 2216 The Longest Straight(最长直道)
Description 题目描述 ZB is playing a card game where the goal is to make straights. Each card in the dec ...
-
###Linux基础 - 1
点击查看Evernote原文. #@author: gr #@date: 2014-10-11 #@email: forgerui@gmail.com 前言 为什么学习Linux?:-) 酷Cool ...
-
Sandcastle Help File Builder使用教程
Sandcastle Help File Builder相信很多的园友用过,小弟我最近因为工作原因需要生成公司的一套SDK的帮助文档,因此找了一些资料,发现网上的资料很多,但是都不怎么完全,有些只是随 ...
-
Unity2D屏幕适配方案
看了cnblogs里的一篇文章,终于理解了Unity2D的摄像机系统:http://www.cnblogs.com/flyFreeZn/p/4073655.html 我根据他的方案,改写了两种适配方案 ...
-
android错误之==与equals的区别
在做一个电话号码匹配的时候, 开始我使用的是这种情况 if (num == inCall.getNum()) { //操作... } 但是无论如何结果都是false,就算两个号码打印出来一模一样还是f ...
-
gSoap工具wsdl2h及soapcpp2指令汇总
gSoap开发包的下载地址http://sourceforge.net/projects/gsoap2,在bin目录下提供了两个工具: 1:wsdl2h:The gSOAP wsdl2h tool i ...
-
RabbitMQ通过Exchange.headers属性代替routekey,x-match实现队列精准匹配
消费者: static void Main(string[] args) { ConnectionFactory factory = new ConnectionFactory() { HostNam ...