Subversion的版本控制以及代码管理功能相当优越,这也是为什么CVS正逐渐失势的原因.还有Subversion可以和很多IDE集成如eclipse等.更多Subversion的优点,可以去网上查看.
今天主要记录一下Subversion在Linux平台下的安装与配置过程.
Subversion的获取路径:http://subversion.org/
本例以安装Subversion-1.5.0-tar.gz为基础.
1.解压安装Subversion-1.5.0-tar.gz
#tar -xzvf Subversion-1.5.0-tar.gz
#cd Subversion-1.5.0
#./configure --with-apx=usr/local/apache2/bin/apx --prefix=usr/local/subversion
#make
#make install
2.创建Subversion代码仓库.
#svnadmin create /var/repo
使用如下命令将代码仓库目录所有者权限设置为用户user1
Chown -R user1:user1 /var/repo
3.配置Apache服务器(默认Apache Server已安装)
加载SVN模块,在httpd.conf文件中找到如下三行并去掉前面的注释符号:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule dav_module modules/mod_dav.so
LoadModule authz_svn_module modules/mod_authz_svn.so
然后再文件末尾添加如下内容:
<Location /svn>
DAV svn
SVNPath /var/repo/
AuthzSVNAccessFile /usr/local/apache2/conf/authz.conf
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /usr/local/apache2/conf/usrpwd
Require vaild-user
</Location>
配置验证方式,使用Apache的验证方式.
#htpasswd -cm /usr/local/apache2/conf/usrpwd user1
根据提示输入密码,实现创建用户.
配置authz.conf文件.它是用来控制用户访问仓库权限的
[repo:/] //这表示,仓库repo的根目录下的访问权限
user1 = rw // repo仓库user1用户具有读和写权限
#[/] // 这个表示在所有仓库的根目录下
#* = r // 这个表示对所有的用户都具有读权限
#[groups] // 这个表示群组设置
#svn1-developers = user1, user2 // 这个表示某群组里的成员
#svn2-developers = user2
#[svn1:/]
#@svn1-developers = rw // 如果在前面加上@符号,则表示这是个群组权限设置
重启Apache,就可以通过如下URL访问仓库了:
http://localhost/svn/repo
这里必须是合法的用户才可以登录访问.也可以通过某些客户端软件访问,如TortoiseSVN等.