一、下载软件
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 install2、安装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 install3、安装sqlite
$ wget http://www.sqlite.org/2017/sqlite-amalgamation-3190300.zip $ unzip sqlite-amalgamation-3190300.zip4、安装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 install5、安装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 install6、安装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 install2、安装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_repos2、整合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