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的安装和备份的更多相关文章

  1. SVN的安装及使用指南

    SVN的安装及使用指南 目录: 一.     SVN的安装. 1. VisualSVN的安装 2. Server Port的选择及错误处理 3. TortorieseSVN的安装 二.     SVN ...

  2. SVN的安装以及和eclipse的结合使用

    SVN概述 l 通常软件开发由多人协作开发,如果对代码文件.配置文件.文档等没有进行版本控制,将会出现很多问题: l 备份多个版本,占用磁盘空间大 l 解决代码冲突困难 l 容易引发BUG l 难于追 ...

  3. svn服务器的搭建备份和还原和svnmanager的使用

    svn服务器的搭建备份和还原和svnmanager的使用 一.svn服务端软件的安装和配置 1.安装svn版本库软件 # yum install -y subversion 2.建立svn版本库数据存 ...

  4. gitlab 安装、备份与还原及常见设置

    gitlab 安装.备份与还原及常见设置 安装 安装过程比较简单,跑在 docker 上,执行命令即可 -v参数后面的值为卷的名称,自动创建数据卷(如果数据卷不存在) https://docs.git ...

  5. Ubuntu SVN客户端安装

    查看系统版本: uname -a (Linux查看版本当前操作系统内核信息) cat /proc/version (Linux查看当前操作系统版本信息) 1.首先需要安装Ubuntu SVN.Ubun ...

  6. eclipse svn插件安装方法

    eclipse svn插件安装方法 使用dropins安装插件 从Eclipse3.5开始,安装目录下就多了一个dropins目录.只要将插件解压后拖到该目录即可安装插件.比如安装svn插件subcl ...

  7. code manager tools svn服务安装配置

    svn server 安装配置: 下载地址:http://www.visualsvn.com/server/download/ 然后安装图一步一步前进: 1.点击download now: 2.点击N ...

  8. Myeclipse8.5 svn插件安装两种方式

    第一种方式:(亲测成功)第一步:准备插件包:site-1.6.18.zip解压该包里面有features和plugins文件夹,删除该包里面的xml结尾的文件. 第二:我的Myeclipse8.5安装 ...

  9. Myeclipse最简单的svn插件安装方法

    首先来这儿下载插件 http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240 找个最新的下载   解压到对应的位置, ...

随机推荐

  1. (转)数据索引BTree

    .B-tree 转自:http://blog.csdn.net/hbhhww/article/details/8206846 B-tree又叫平衡多路查找树.一棵m阶的B-tree (m叉树)的特性如 ...

  2. js 简单粗暴深拷贝

    var obj = {} var newObj = JSON.parse(JSON.stringify(obj))

  3. HTML的网页基本结构

    写在前面 <!DOCTYPE html><html lang="en"><head>            <meta charset=& ...

  4. selenium webdriver 登录百度

    public class BaiduTest { private WebDriver driver; private String baseUrl; private StringBuffer veri ...

  5. Game of Credit Cards

    After the fourth season Sherlock and Moriary have realized the whole foolishness of the battle betwe ...

  6. Is It Good To Use LED Wall Light In Household Space?

    Wall lamps are mostly used for local lighting, can play a very decorative effect, improve the visual ...

  7. EAC3 spectral extension原理

    1.Spectral extension简介 Spectral extension是通过低频的transform coefficients合成高频transform coefficients的过程. ...

  8. 剑指offer 面试题38 字符串的排列

    我惯用的dfs模板直接拿来套 class Solution { public: vector<string> Permutation(string str) { if(str.empty( ...

  9. Abp中打开错误信息输出

    Abp默认是不向客户端输出错误日志的,导致有些内部报错既不能中断,也没有信息输出.此时打开日志输出开关即可.在xxModule类中PreInitialize()方法里 Configuration.Mo ...

  10. EnumSet

    这个概念是在 Effective Java中了解到的, 可以通过EnumSet来代替位域这种方式表达.并不是很常见的概念, 因此记录下.如果在这之前恰好了解过 bitmap这种数据结构就更好了.不了解 ...