一、安装前软件准备
1、wget 2、wget 3、Berkeley-DB : db-5.3.21.tar.gz 4、http-2.2.23.tar.gz 5、wget 6、wget 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(开机自动启动)启动完成后,在浏览器地址栏输入: 或者
如果页面上显示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这个URL来访问仓库了
导入导出SVN版本库可以使用SVN客户端工具实现,很简单,这里就不详细说明了,客户端工具为:TortoiseSVN,图形是只乌龟