svn的安装和备份
svn的安装:
yum install subversion -y
mkdir /svn 创建用来存放svn版本库的目录
svnadmin create /svn/first 创建一个svn的版本库
svnsereve -d -r /svn/first 启动该版本库
版本库的备份:
svnadmin dump svn/test > svn_backfile 把具体的某个版本库(这里是“test”)重定向到某个文件中去。这样就将整个版本库备份下来了。
在新的主机上安装svn并将之前的版本库导入,同时实现利用http协议访问svn:
yum install subversion -y
mkdir /home/svn 创建用来存放svn版本库的目录
svnadmin create /home/svn/test 创建一个svn的版本库
svnadmin load /home/svn/test < svn_backfile 导入之前备份的版本库
实现利用http访问svn:
思路:apache本身自带svn的模块——mod_dav_svn,由于Subversion需要版本化的控制,因此标准的HTTP协议不能满足需求。要让Apache与Subversion协同工作,就要使用WebDAV(Web-based Distributed Authoring and Versiong)Web分布式创作和版本控制协议。 mod_dav_san模块就是作为Subversion与Apache之间的接口,通过它,Apache就可以访问版本库,并且可以让客户端也使用HTTP的扩展协议WebDAV/DeltaV进行访问。
在安装了mod_dav_svn模块之后,只需要为版本库所在的目录进行相应的配置,并添加认证模块,就可以了。
配置步骤:
安装并启动httpd(centos6.9)
因为centos6默认httpd是2.2没有svn模块,所以需要在编译时加入svn的功能
httpd-2.4 依賴于1.4+及以上版本的apr 而且版本不能太高,最好用1.5的
yum install gcc
yum install pcre-devel
yum install expat-devel
yum install openssl-devel -y
tar -xf apr-1.5.0.tar.bz2
cd apr-1.5.0
./configure --prefix=/usr/local/apr
make && make install
tar -xfapr-util-1.5.3.tar.bz2
cd apr-util-1.5.3
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
tar -xfhttpd-2.4.28.tar.bz2
cd httpd-2.4.28
./configure --prefix=/usr/local/apache --with-apr-util=/usr/local/apr-util --with-apr=/usr/local/apr --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-mpm=prefork --enable-modules=most --enable-mpms-shared=all --enable-dav
# 其中--enable-dav --enable-so是和subversion整合时需要的
make && make install
在源码里已经有启动的脚本,我们要修改下即可,把Apache加入系统SysV服务中来。
在源码httpd-2.x.x/build/rpm中存在httpd.init,将其复制到/etc/init.d/下面,并赋予执行权限。
安装并配置svn模块:
yum install mod_dav_svn -y
修改/etc/httpd/conf.d/subversion.conf配置文件的内容
vim /etc/httpd/conf.d/subversion.conf
<Location /svn/>
DAV svn
SVNParentPath /home/svn/
# Limit write permission to list of valid users.
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# Require SSL connection for password protection.
# SSLRequireSSL
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /home/svn/svn_http_passwd
AuthzSVNAccessFile /home/svn/svn_authz
Require valid-user
# </LimitExcept>
</Location>
cp /home/svn/project1/conf/svnserve.conf /home/svn/conf/svnserve.conf 得到版本库配置文件的模板
vi /home/svn/conf/svnserve.conf 编辑配置文件
anon-access = none
auth-access = write
password-db = /home/svn/svn_passwd
auth-db = /home/svn/svn_authz
realm = test-SVN
svnserve -d -r /home/svn/test --config-file /home/svn/svnserve.conf --listen-port 3690 启动时指明配置文件位置
修改了配置文件之后,要记住,这里是以apache用户的身份来访问svn的版本库,所以需要修改版本库的属主,使apache用户能够来访问。
chown -R apache:apache /home/svn/test/
添加防火墙规则
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 3690 -j ACCEPT
通过网页访问版本库:ip/svn url路径是根据在/etc/httpd/conf.d/subversion.conf 配置文件中Location后面的地址来的。
svn的安装和备份的更多相关文章
- SVN的安装及使用指南
SVN的安装及使用指南 目录: 一. SVN的安装. 1. VisualSVN的安装 2. Server Port的选择及错误处理 3. TortorieseSVN的安装 二. SVN ...
- SVN的安装以及和eclipse的结合使用
SVN概述 l 通常软件开发由多人协作开发,如果对代码文件.配置文件.文档等没有进行版本控制,将会出现很多问题: l 备份多个版本,占用磁盘空间大 l 解决代码冲突困难 l 容易引发BUG l 难于追 ...
- svn服务器的搭建备份和还原和svnmanager的使用
svn服务器的搭建备份和还原和svnmanager的使用 一.svn服务端软件的安装和配置 1.安装svn版本库软件 # yum install -y subversion 2.建立svn版本库数据存 ...
- gitlab 安装、备份与还原及常见设置
gitlab 安装.备份与还原及常见设置 安装 安装过程比较简单,跑在 docker 上,执行命令即可 -v参数后面的值为卷的名称,自动创建数据卷(如果数据卷不存在) https://docs.git ...
- Ubuntu SVN客户端安装
查看系统版本: uname -a (Linux查看版本当前操作系统内核信息) cat /proc/version (Linux查看当前操作系统版本信息) 1.首先需要安装Ubuntu SVN.Ubun ...
- eclipse svn插件安装方法
eclipse svn插件安装方法 使用dropins安装插件 从Eclipse3.5开始,安装目录下就多了一个dropins目录.只要将插件解压后拖到该目录即可安装插件.比如安装svn插件subcl ...
- code manager tools svn服务安装配置
svn server 安装配置: 下载地址:http://www.visualsvn.com/server/download/ 然后安装图一步一步前进: 1.点击download now: 2.点击N ...
- Myeclipse8.5 svn插件安装两种方式
第一种方式:(亲测成功)第一步:准备插件包:site-1.6.18.zip解压该包里面有features和plugins文件夹,删除该包里面的xml结尾的文件. 第二:我的Myeclipse8.5安装 ...
- Myeclipse最简单的svn插件安装方法
首先来这儿下载插件 http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240 找个最新的下载 解压到对应的位置, ...
随机推荐
- Error: Unexpected HTTP status 413 'Request Entity Too Large' on
由于nginx的client_max_body_size设置过小,默认上传的文件小于所要上传的文件大小,把这个值调大就可以了,我这里在配置文件的server下更改如下: server { client ...
- 并查集-G - 食物链
G - 食物链 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A.现有N个动物,以1-N编号.每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种 ...
- opencv3.3 基础:Mat类里setTo函数
Mat& setTo(InputArray value, InputArray mask=noArray()); 说明: 1.功能:把矩阵mask中元素不为0的点全部变为value值: 2.当 ...
- 微信或QQ屏蔽了我的域名,已经被微信屏蔽的域名如何在微信打开,如何进行微信域名防封?
微信域名完全防封是绝对不可能的,这是必须明确的,曾经有人打折<不死域名>的概念,它不是不死,是稍微命长一点,在推广上成本更低一下,效果更好一些, 主要的技术原理是利用了腾讯云的域名安全联盟 ...
- SpringMVC-时间类型转换
在上一篇SpringMVC的提交表单中,我们使用的日期为String型,可以将日期转换为Date型,然后使用initBinder函数进行显示,具体代码如下: (1)首先更改User.java的birt ...
- awk从放弃到入门(2):awk分隔符
一.awk分隔符 awk的默认分割符是空格,但是,这样描述并不精确,因为,awk的分隔符还分为两种,"输入分隔符" 和 "输出分隔符" . (1)输入分隔符:英 ...
- org.apache.httpcomponents.httpclient
apache org doc :http://hc.apache.org/httpcomponents-client-ga/tutorial/html/fundamentals.html#d5e49 ...
- python正则子组匹配
子组匹配返回找到的第一个匹配项 []表示匹配列表中的任意一个,返回找到的第一个 这样可以发现如果要查找字母的话可以使用[a-z],返回找到的第一个字母 查找数字使用[0-9],返回找到的第一个数字相当 ...
- HDU 3823 Prime Friend(线性欧拉筛+打表)
Besides the ordinary Boy Friend and Girl Friend, here we define a more academic kind of friend: Prim ...
- Qt那点事儿(一)
原文http://www.cnblogs.com/andreitang/archive/2011/08/03/2125815.html 第一回 Signal和Slot是同步的还是异步的? 我们知道Qt ...