安装SVN版本管理系统简单安装配置
 

2009-03-20 来源:网络

 

这里我只记录我安装配置subverions管理系统的相关步骤和方法,subversion更多subversion相关的资料请使用搜索引擎去获得。

subversion通常有两种工作方式,一种作为单独的后台服务程序运行使用专有的SVN协议通讯,另一种则是作为Apache的模块提供服务使用HTTP协议通讯。两种模式各有优缺点,作为单独服务程序配置比较简单,作为APACHE的模块运行比较稳定而且通过web浏览管理比较方便。

安装需要的软件

  • snv源码包 http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz
  • BerkeleyDB源码包 http://download.oracle.com/berkeley-db/db-4.3.29.tar.gz
  • apache2源码包 http://apache.mirror.phpchina.com/httpd/httpd-2.0.61.tar.gz

BerkeleyDB 的版本应选用db-4.4以下的,arp-util 对新版本的不支持

安装配置

下载并解压软件包

cd /tmp
wget http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz
tar xvzf subversion-1.3.2.tar.gz
wget http://download.oracle.com/berkeley-db/db-4.3.29.tar.gz
tar xvzf db-4.3.29.tar.gz
wget http://apache.mirror.phpchina.com/httpd/httpd-2.0.61.tar.gz
tar xvzf httpd-2.0.61.tar.gz

安装编译BerkeleyDB

cd db-4.3.29
cd build_unix/
../dist/configure --enable-compat185 
make
make install

subversion可以使用文件系统和BerkeleyDB两种方式存储版本库,推荐使用BerkeleyDB存储版本库

编译安装APACHE2.0

cd /tmp/httpd-2.0.54
./configure --enable-dav --enable-so --enable-maintainer-mode --with-dbm=db4 --with-berkeley-db=/usr/local/BerkeleyDB-4.3.29
make 
make install

编译安装subversion

./configure --with-apxs=/usr/local/apache2/bin/apxs --with-apr=../httpd-2.0.61/srclib/apr --with-apr-util=../httpd-2.0.61/srclib/
apr-util --with-berkeley-db=/usr/loacl/BerkeleyDB.4.3 make make install

配置SVN

subersion安装成功后会自动修改 $APACHE_HOME/conf/httpd.conf 加入以下两行用于加载svn的功能模块

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

创建版本仓库

你可以选择以文件系统或者BerkeleyDB作为版本库的存储格式

使用文件系统

svnadmin create --fs-type fsfs /home/svnroot/repos

使用BerkeleyDB

svnadmin  create --fs-type bdb /home/svnroot/repos

为了可以通过apache管理版本库把版本库改为nobody用户1)

chown -R nobody:nobody /home/svnroot/repos

编辑http.conf加入版本仓库的映射

<Location /svn/repos >
          DAV svn
          SVNPath /home/svnroot/repos
</Location>

到此重新启动apache后,你就可以通过 http://localhost/svn/repos 来访问你的版本库了

加入权限控制

如果你不想版本库对外开放可以对版本库加入简单的认证安装如下方式修改apache版本库的映射目录配置

<Location /svn/repos >
        DAV svn
        SVNPath /home/svnroot/repos
        AuthType Basic
	AuthName "Subversion repository"
 	#通过htpasswd工具生成的帐户列表路径 
        AuthUserFile /home/svnroot/repos/conf/httpuser
	Require valid-user
</Location>

在指定的用户路径生成帐号列表文件

$APACHE_HOME/bin/htpasswd -cb  /home/svnroot/repos/conf/httpuser your_name your_passwd

1) 通常apache是以nobody用户身份运行


火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织