一、下载软件
subversion-1.7.14.tar.bz2
apr-1.6.3.tar.gz
apr-util-1.6.1.tar.gz
sqlite-amalgamation-3190300.zip
httpd-2.2.26.tar.bz2
pcre2-10.31.tar.bz2
expat-2.1.0.tar.gz
二、安装所依赖的包
1、安装apr
$ wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.6.3.tar.gz
$ tar -zxvf apr-1.6.3.tar.gz
$ cd apr-1.6.3
$ ./configure --prefix=/usr/local/apr/
$ make
$ make install
2、安装apr-util
$ wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.1.tar.gz
$ tar -zxvf apr-util-1.6.1.tar.gz
$ cd apr-util-1.6.1
$ ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
$ make
$ make install
3、安装sqlite
$ wget http://www.sqlite.org/2017/sqlite-amalgamation-3190300.zip
$ unzip sqlite-amalgamation-3190300.zip
4、安装prce
$ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.31.tar.bz2
$ tar -zxvf pcre2-10.31.tar.bz2
$ cd pcre-10.31
$ ./configure –prefix=/usr/local/pcre
$ make && make install
5、安装expat
下载 expat:http://sourceforge.net/project/showfiles.php?group_id=10127
$ cd /usr/local
$ tar -xvzf expat-2.1.0.tar.gz
$ cd expat-2.1.0
$ ./configure
$ make && make install
6、安装neno
$ wget http://www.webdav.org/neon/neon-0.25.5.tar.gz
$ tar -xvzf neon-0.25.5.tar.gz
$ cd neon-0.25.5
$ ./configure --with-ssl --prefix=/usr/local/neon
$ make && make install
三、安装apache+svn
1、安装apache (应先安装apache,再安装svn)
$ tar -xvzf httpd-2.2.26.tar.bz2
$ cd httpd-2.2.26
$ ./configure --prefix=/usr/local/apache \
--enable-dav \
--enable-so \
--sysconfdir=/etc/httpd \
--with-apr=/usr/local/apr/bin/apr-1-config \
--with-apr-util=/usr/local/apr-util/bin/apu-1-config \
--with-pcre=/usr/local/pcre \
--enable-maintainer-mode \
--enable-rewirte
$ make && make install
2、安装svn
$ tar -xvzf subversion-1.7.14.tar.bz2
$ cd subversion-1.7.14
$ mkdir sqlite-amalgamation
$ cp /usr/local/src/sqlite-amalgamation-3190300/* /usr/local/src/subversion-1.9.7/sqlite-amalgamation/
$ ./configure --prefix=/usr/local/subversion \
--with-apr=/usr/local/apr/ \
--with-apr-util=/usr/local/apr-util/ \
--with-apxs=/usr/local/apache/bin/apxs
$ make && make install
#添加环境变量
$ cat >> /etc/profile << END
export PATH=$PATH:/usr/local/subversion/bin
END
$ source /ect/profile
#测试SVN是否安装成功,执行如下
$ svnserve --version
四、整合svn和apache
查看apache是否可以加载svn的模块
$ ls /usr/local/apache/modules/ | grep svn
mod_authz_svn.so
mod_dav_svn.so
有此模块说明apache可以加载svn
1、创建SVN仓库
运行创建版本库的命令,指定数据存储为 FSFS,如果要指定为 Berkeley DB,则将 fsfs 替换为 bdb
$ svnadmin create /data/svn/fax_repos
2、整合apache和subversion
Subversion服务器有两种运行方式,一是可以作为Apache 2.0的一个模块,以WebDAV/DeltaV协议与外界连通;另外,也可使用Subversion 自带的小型服务器程序svnserve。
以http方式运行,在/etc/httpd/httpd.conf中加入:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
DAV svn
SVNPath /data/svn
在服务器的浏览器中输入网址: http://localhost/svn/fax_repos
这时候,你会看到reversion0的界面,说明仓库就已经可以工作了。
3、用户添加以及权限设置
#用户权限添加
#在/etc/httpd/conf/httpd.conf的加入:
<Location /svn >
DAV svn
SVNListParentPath on 显示根目录下列表
SVNPath /data/svn svn父目录
AuthType Basic 连接类型设置
AuthName "Subversion repository" 提示框
AuthUserFile /etc/svn-auth-file 权限配置文件
Require valid-user 采用何种认证
Location>
#添加用户
$ htpasswd -c /data/svn /svn-auth-file test1
New password: *****
Re-type new password: *****
Adding password for user test1