使用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 ...
随机推荐
- eclipse 最有用的10个快捷键
1Eclipse中10个最有用的快捷键组合 一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合.通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升. ...
- iis配置好后,解决打开服务器要输入用户名和密码的问题
[转]IIS网站访问需要输入用户名和密码 xp系统下安装IIS5,并设置好网站路径,但是访问网站时需要输入用户名和密码,这个问题极大可能是因为你网站放置在一个文件系统为NTFS的盘符上,而IIS默认的 ...
- .Net项目版本号的生成
给.Net项目编译的程序集加入版本号的方式有许多种,包括: 1. 默认的方式,在每个项目的AssemblyInfo.cs文件中指定版本号: // Version information for an ...
- android 48dp美化
48dp
- MFC打开文件对话框
{ CString FilePathName; CFileDialog dlg(TRUE);///TRUE为OPEN对话框,FALSE为SAVE AS对话框 if(dlg.DoModal()==IDO ...
- [转帖]ExtJs与服务器的交互(一)
Ext是一个非常好的Ajax框架,其华丽的外观表现确实令我们折服,然而一个应用始终离开不服务器端,因此在实现开发中我们需要对Ext与服务器端的交互技术有较为详细的了解,在开发中才能游刃有余地应用.本文 ...
- ssh-keygen 无密码登陆需要注意一个问题
从今天开始记录一下工程上的小知识. ssh-keygen -t rsa cat id_rsa.pub >> authorized_keys后,切记,将authrorized_keys文件的 ...
- Codeforces Gym 100015B Ball Painting 找规律
Ball Painting 题目连接: http://codeforces.com/gym/100015/attachments Description There are 2N white ball ...
- HDU 5597 GTW likes function 打表
GTW likes function 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5596 Description Now you are give ...
- JDBC连接MySQL数据库及演示样例
JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...