一. 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/