SVN配置手册第二版

一、安装前软件准备
1、wget http://mirror.bjtu.edu.cn/apache//apr/apr-1.4.6.tar.gz 
2、wget http://mirror.bjtu.edu.cn/apache//apr/apr-util-1.5.1.tar.gz
3、Berkeley-DB : db-5.3.21.tar.gz
4、http-2.2.23.tar.gz
5、wget http://zlib.net/zlib-1.2.7.tar.gz
6、wget http://www.sqlite.org/sqlite-autoconf-3071500.tar.gz
7、subversion-1.7.17.tar.gz
8、subversion-deps-1.7.17.tar.gz


二、安装apr
--------------------------
APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。
一般情况下,APR开发包很容易理解为仅仅是一个开发包,不过事实上并不是。目前,完整的APR实际上包含了三个开发包:apr、apr-util以及apr-iconv,每一个开发包分别独立开发,并拥有自己的版本。
----------------------------
#tar -zvxf apr-1.4.6.tar.gz
#cd apr-1.4.6
#./configure --prefix=/usr/local/apr
#make
#make install

三、安装Berkeley-DB(可选)
---------------------------------
Berkeley DB(BDB)是一个高性能的,嵌入数据库编程库,和C语言,C++,Java,Perl,Python,Tcl以及其他很多语言都有应用程序编程界面。Berkeley DB可以保存任意类型的键/值对 (Key/Value Pair),而且可以为一个键保存多个数据。Berkeley DB可以支持数千的并发线程同时操作数据库,支持最大256TB的数据,广泛用于各种操作系统包括大多数Unix类操作系统和Windows操作系统以及实时操作系统。
----------------------------------------------
#tar -zxvf db-5.3.21.tar.gz
#cd db-5.3.21/build_unix/
#../dist/configure --prefix=/usr/local/berkeley-db
#make
#make install


三、安装apr-util
#tar -zvxf apr-util-1.5.1.tar.gz
#cd apr-util-1.5.1
#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-berkeley-db=/usr/local/berkeley-db
#make
#make install
--------------------------------------------------------------
为了让svn 支持Berkeley DB,在编译安装时必须在安装apr-util时加入 –with-berkeley-db,将 Berkeley DB编译进去,在configure时出现configure: error: Berkeley DB not found错误,原因是系统没有找到libdb-yourversion.so文件,如果你已经安装了Berkeley DB ,在安装目录的lib库里找到此文件,链接到/usr/lib下即可。

以本人的机子为例
ln -s /usr/local/berkeley-db/lib/libdb-5.3.so /usr/lib/libdb-5.3.so
ldconfig
在重新配置一下就好了
-----------------------------------------------

四、安装apache
#tar -zvxf httpd-2.2.23.tar.gz
#cd httpd-2.2.23
#./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config --enable-modules=so --enable-dav --enable-maintainer-mode --enable-rewrite
----------------------------------
--enable-modules=so /* DSO模式安装apache (或 --enable-so)
--enable-dav(可选)
--enable-maintainer-mode(可选)
--enable-rewrite(可选)
--------------------------------------
#make
#make install
安装完成后,cd 到/usr/local/apache/bin
cp apachectl /etc/init.d/httpd
vim /etc/init.d/httpd
添加以下内容:

    # chkconfig: 35 85 15
    # description: Apache is a World Wide Web server.

chkconfig --add httpd
chkconfig httpd on(开机自动启动)

启动完成后,在浏览器地址栏输入:http://localhost 或者http://127.0.0.1
如果页面上显示It Works 表示apache安装成功。

五、安装zlib(可选)(可选)
#tar -xvzf zlib-1.2.7.tar.gz
#cd zlib-1.2.7
#./configure
#make
#make install

六、安装subversion

#tar -xvzf subversion-1.7.7.tar.gz
#cd subversion-1.7.7
#sh get-deps.sh
#rm -rf apr 上边已经安装
#rm -rf apr-util

#./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config --with-ssl  --with-zlib=/usr/local --enable-maintainer-mode
---------------------
--with-apxs=/usr/sbin/apxs (如果目录下没有,可以指定/usr/local/apache/bin/apxs)
--with-apr=/usr/local/apr-httpd/bin/apr-1-config
--with-apr-util=/usr/local/apr-util-httpd/bin/apu-1-config
--with-ssl(可选)
--with-zlib=/usr/local(可选)
--enable-maintainer-mode(可选)
---------------------------------
问题
/usr/bin/ld: cannot find -lexpat
collect2: ld returned 1 exit status
make[1]: *** [test/serf_get] Error 1
make[1]: Leaving directory `/data/svn/subversion-1.7.7/serf'
make: *** [external-all] Error 1
解决方法:yum install expat-devel

#make
#make install
安装完成后,cd 到SVN的安装路径,我这边是 /usr/local/sub/bin
#./svnserve --version
如果显示版本信息,表示SVN安装成功。

添加环境变量
export PATH=$PATH:/usr/local/apache/bin
export PATH=$PATH:/usr/local/svn/bin
(临时修改环境变量最好在/etc/rc.local 添加这2条命令)

七、创建用户和组
1、建用户:
adduser product
groupadd product
gpasswd -d product product

配置SVN
#su - product
#svnadmin create /home/product/xqhan


为刚创建的用户设置密码,如果是第一次调用,也就是authfile文件还不存在,加-c参数,如果不是第一次,则-m
htpasswd -bc /home/product/authfile svn svn

文件权限
/home/product/authz
--------
[groups] /*这个表示群组设置
Admin=svn
[/]
* =t
@admin=rw
-----------


配置apache让其支持SVN
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /home/product/       //库文件夹的上一级目录
SVNListParentPath on      //可以访问到根目录
AuthzSVNAccessFile /home/product/authz     //权限配置文件
AuthType Basic //连接类型设置
AuthName "Please input username and password"  //连接框提示
AuthUserFile /home/product/authfile  //用户配置文件
Require valid-user //采用何种认证
</Location>
将其改为刚创建的用户和组
User product
Group product
重启apache
http://localhost/svn/xqhan

这个URL来访问仓库了

导入导出SVN版本库可以使用SVN客户端工具实现,很简单,这里就不详细说明了,客户端工具为:TortoiseSVN,图形是只乌龟

 

你可能感兴趣的:(apache,SVN)