linux下基于apache下的svn的搭建

一、下载软件

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
<Location /svn/>
DAV svn
SVNPath /data/svn
</Location>

在服务器的浏览器中输入网址: 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

猜你喜欢

转载自blog.csdn.net/m0_37886429/article/details/79869033