SVN 搭建(个人笔记)

一. win平台 

1.WIN 平台软件需求

   a.服务器:安装

VisualSVN Server 软件

  b.客户端:安装

TortoiseSVN 软件

 

这个比较简单,装完就可以使用了

 

二.linux 平台

服务器端: appach + Subversion

客户端: Subversion

1. 安装appach

  这里采用源码安装,用户可以用apt-get或者yum直接安装文件,免去源码编译的麻烦.

即: yum install subversion httpd  (redhat使用yum)

         apt-get install subversion httpd (ubutu使用apt-get)

a. 到apache官网下载最新的源码包

    http://httpd.apache.org/   httpd-2.4.1.tar.bz2

下载apache依赖的包:(apache 只需要apr和apr_util就可以,svn就需要所有的包)

   http://apr.apache.org/       apr-1.4.6.tar.gz      apr-util-1.4.1.tar.gz    apr-iconv-1.2.1.tar.gz      //apache运行时依赖库

  http://expat.sourceforge.net/           expat-2.0.1.tar.gz              //expat XML Parser

  http://www.webdav.org/neon/              neon-0.29.6.tar.tar                          //libneon  for http://

 http://www.openssl.org/source/   openssl-1.0.1-beta3.tar.gz

 http://www.sqlite.org/    sqlite-autoconf-3071000.tar.gz

 

编译所下载的依赖包:(apache 只需要apr和apr_util就可以,svn就需要所有的包)

 [root@$]   mkdir /usr/local/apr   /usr/local/expat  /usr/local/neon  /usr/local/openssl /usr/local/sqlite

 

 [root@$]    tar xvf  apr-1.4.6.tar.gz   -C  /usr/local/apr  

 [root@$]    tar xvf  apr-util-1.4.1.tar.gz    -C  /usr/local/apr  

 [root@$]    tar xvf  apr-iconv-1.2.1.tar.gz      -C  /usr/local/apr  

 [root@$]    tar xvf   expat-2.0.1.tar.gz           -C  /usr/local/expat 

 [root@$]    tar xvf   neon-0.29.6.tar.tar        -C  /usr/local/neon 

 [root@$]    tar xvf   openssl-1.0.1-beta3.tar.gz    -C  /usr/local/openssl

 [root@$]    tar xvf   sqlite-autoconf-3071000.tar.gz  -C  /usr/local/sqlite

 

 [root@$]  cd  /usr/local/apr/apr-1.4.6

 [root@$]  ./configure  --prefix=/usr/local/apr

 [root@$]  make

 [root@$]  make install

 

 [root@$]  cd  /usr/local/apr/apr-util-1.4

 [root@$]  ./configure  --prefix=/usr/local/apr   --with-apr=/usr/local/apr     (指定依赖的apr包)

 [root@$]  make

 [root@$]  make install

 

 [root@$]  cd  /usr/local/apr/apr-iconv-1.2.1

 [root@$]  ./configure  --prefix=/usr/local/apr  --with-apr=/usr/local/apr     (指定依赖的apr包)

 [root@$]  make

 [root@$]  make install

 

 [root@$]  cd  /usr/local/expat /expat-2.0.1

 [root@$]  ./configure  --prefix=/usr/local/expat 

 [root@$]  make

 [root@$]  make install

 

 [root@$]  cd  /usr/local/neon/neon-0.29.6

 [root@$]  ./configure  --prefix=/usr/local/neon 

 [root@$]  make

 [root@$]  make install

 

 [root@$]  cd  /usr/local/openssl/openssl-1.0.1-beta3

 [root@$]  ./config  --prefix=/usr/local/openssl

 [root@$]  make

 [root@$]  make install

 

 [root@$]  cd  /usr/local/sqlite/sqlite-autoconf-3071000

 [root@$]  ./configure  --prefix=/usr/local/sqlite

 [root@$]  make

 [root@$]  make install

 

b. 编译apache源码

   [root@$]  mkdir /usr/local/apache

   [root@$]  tar xvf httpd-2.4.1.tar.bz2 -C /usr/local/apache
   [root@$]  cd  /usr/local/apache/httpd-2.4.1

   [root@$]  ./configure --enable-dav --enable-so --prefix=/usr/local/apache          指定编译生成的文件安装目录为/usr/local/apache 

   [root@$]  make

   [root@$]  make install

确定是否安装成功:

 [root@$]  apachectl   start

在浏览器输入地址http://localhost/,浏览器出现It works则说明安装OK

 

2. 安装 Subversion

a. 下载Subversion源码

  http://subversion.apache.org/      subversion-1.7.3.tar.bz2

 

b. 编译Subversion源码

 [root@$]   mkdir /usr/local/svn

 [root@$]   tar xvf subversion-1.7.3.tar.bz2 -C /usr/local/svn

 [root@$]   cd  /usr/local/svn/subversion-1.7.3

 [root@$]   ./configure --prefix=/opt/svn --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr --with-apr-iconv=/usr/local/apr  --with-apxs=/usr/local/apache/bin/apxs --with-neon=/usr/local/neon   --with-openssl=/usr/local/openssl   --with-sqlite=/usr/local/sqlite

 [root@$]   make                 //若出现编译问题,可能是依赖库版本不匹配的问题,需要寻找相应版本对应的依赖库.

此处编译出错:

subversion/mod_dav_svn/util.c: In function 'dav_svn__log_err':
subversion/mod_dav_svn/util.c:630: error: 'dav_error' has no member named 'save_errno'
subversion/mod_dav_svn/util.c:631: error: 'dav_error' has no member named 'save_errno'

原因是依赖库的头文件定义的数据结构与Subversion源码中使用的不一致.

暂时做下面处理,保证编译通过:

将函数void dav_svn__log_err(request_rec *r,
                      dav_error *err,
                      int level)
{} 置空,由于只是熟悉搭建环境就这样处理了,正式用的时候还是要处理,需要版本匹配.

 [root@$]   make install

 

确认Subversion是否正确安装:

  [root@$]   svnserve -d -r /home/svn/                  //设置svn服务器目录

  [root@$]   netstat  -ntlp                                             //3690号端口正在被使用,则表示开启成功

 

3. 开机自启动apache 和 Subversion

/ect/rc.local  脚本里面添加:

apachectl   start

svnserve -d -r /home/svn/ 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值