使用subversion搭建SVN
使用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 ...
随机推荐
- C#图解教程读书笔记(第15章 委托)
委托是C#的一个很重要的知识点. 1.什么是委托 委托在我认为,就是一系列格式相同的方法列表,可能就是定义的名称不一致,参数.返回值等都是一样的. 2.如何声明委托 delegate void MyF ...
- 开源文件比较工具:WinMerge、KDiff3、diffuse
为了寻找免费的BeyondCompare的替代品,最后经过实用,找到如下一些: 1.diffuse 感受:如果仅仅是比较两个文本类的文件,这个软件也就够用了. 安装好后,对着文件点击右键,会出现“Op ...
- 正确理解ContentPresenter
下图显示继承关系: ContentControl:Control (在Control類並沒有Content屬性, 所以在這之上再寫了一個ContentControl, 使控件有Content屬性可以顯 ...
- PHP函数前面的@。
@是可以屏蔽函数执行过程中遇到问题而产生的一些错误.警告信息,这样用户就看不到程序的出错信息.这样除了用户界面会友好一些外,更重要的是安全性,因为屏蔽了出错文件的路径等信息. 比如说这个: for($ ...
- linxu php连接sqlserver
今天linux的yum也不能用,用的是第三方的yum源,yum安装好后更新header又花了很长时间. 记得安装指定安装目录要用 --with-php-config=PATH命令. CentOS 6安 ...
- C#获取程序集的版本号和最后编译时间
C#获取程序集的版本号:string ver = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToStrin ...
- 【转】如何分析解决Android ANR
来自: http://blog.csdn.net/tjy1985/article/details/6777346 http://blog.csdn.net/tjy1985/article/detail ...
- Hadoop on Mac with IntelliJ IDEA - 5 解决java heap space问题
本文讲述在CentOS 6.5中提交作业到hadoop 1.2.1于reduce阶段遇到Error: java heap space错误导致作业重新计算的解决过程.解决办法适用Linux.Mac OS ...
- Hex-Rays decompiler type definitions and convenience macros
/****************************************************************************************** Copyrigh ...
- C#窗体钉在桌面、置底、嵌入桌面的办法
想做一个桌面时钟,钉在桌面上不影响正常使用,只在看桌面的时候显示. 从网上多方寻找找到这么个代码,但是还是有不方便的地方,大家探讨一下. 这个程序在使用“显示桌面”的时候还可以显示,将程序的Form1 ...