Subversion安装配置指南

http://blog.csdn.net/sinboy/article/details/4000524

Subversion是一个非常优秀的源代码管理控制系统,它的支持独立启动使用和结合Apache使用两种服务方式。
 
一、安装Subversion
1.从 Subversion主页 下载最新版本的安装程序
2.如果是Windows平台,直接运行Exe的安装程序即可
3.如果是一般的Linux平台:
   1)执行 tar -zxvf subversion.xxx.tar.gz进行解压
   2)执行cd subversion.xxx切换到解压后的目录
   3)执行./configure --prefix=/opt/subversion进行配置设定,并指明安装目录
   4)执行make进行编译
   5)执行make install 进行安装
4.如果是Fedora Linux,可以直接执行yum install subversion进行自动安装( Fedora7以上的版本已自带
5.如果是Ubuntu Linux,可以直接执行sudo apt-get install subversion进行自动安装
 
二、安装Apache
1.从 Apache主页 下载最新版本的安装程序
2.如果是Windows平台,直接运行安装程序
3.如果是一般的Linux平台:
   1)执行tar -zxvf httpd.xxx.tar.gz进行解压
   2)执行cd httpd.xxx切换到解压后的目录
   3)执行./configure --prefix=/opt/httpd进行配置设定,并指明安装目录
   4)执行make进行编译
   5)执行make install 进行安装
4.如果是Fedora Linux,可以直接执行yum install httpd进行自动安装( Fedora7以上的版本已自带
5.如果是Ubuntu Linux,可以直接执行sudo apt-get install apache2进行自动安装
 
三、创建数据仓库
1.执行mkdir /var/gftech/subversion/repos创建数据仓库的目录
2.执行svnadmin create /var/gftech/subversion/repos创建数据仓库,将自动生成几个文件和目录:
   /conf
   /db
   /hooks
   ...
 
四、独立启动方式
独立启动方式是做为一个单独的服务程序,默认情况下通过本地端口3690来对外提供服务。
 
启动步骤:
1.执行svnserve -d -r /var/gftech/subversion/repos以Daemon方式运行,默认情况下匿名访问
2.在Fedora中,可以用chkconfig把Subversion做一个服务程序,随系统自动启动:
   1)以root帐号登录
   2)执行cd /etc/rc.d/init.d切换到服务程序所在目录
   3)执行vi svnd进行文件编辑
   4)添加下面的内容到svnd文件当中:
 
   5)保存退出
   6)执行chmod a+x svnd 使之可执行
   7)执行chkconfig --add svnd添加该服务到系统当中
   8)执行chkconfig --list svnd查看该服务
   9)执行service svnd start可以启动该服务
   10)执行service svnd stop可以停止该服务
 
在进行源代码管理时,为了安全起见,需要对用户的权限进行控制,主要通过三个配置文件来实 现,svnservice.conf、passwd、authz,第一个文件指明是否需要进行访问控制以及第二、三个文件的位置,第二个文件存放用户帐号 信息,第三个文件存放用户的访问权限,具体配置如下:
1.打开svnserve.conf文件,把auth-access=write前面的#号去掉,使受权用户可以进行写操作
2.把password-db=passwd前面的#号去掉,表明密码文件为当前目录下的passwd文件
3.把auth-db=authz前面的#号去掉,表明用户访问权限文件为当前目录下的authz文件
4.打开passwd文件,在末行添加需要的帐号,比如:test=123456
5.打开authz文件,在[/]一行下面添加test=rw,表明数据仓库的根目录下的所有目录,test都可进行读写操作
6.再添加一行*=r,表明其他帐号可以进行只读操作
7.在该文件中还可以为用户分组,添加到[groups]下面,比如:admin=sinboy,others=u1,u2
8.还可以对根目录下的子目录进行具体的权限控制,只需要添加相应目录,比如:
    [/web]
    u1=rw
    *=
    表明web子目录只允许u1帐号进行读写操作,禁止其他帐号访问
 
它的缺点是:
1.对外提供服务时,有可能受到防火墙的阻隔,造成服务无法访问
2.并且它的密码文件是明文显示,没有进行MD5加密,存在安全隐患
3.只能启动一个数据仓库,如果想要创建多个数据仓库,必须启动多个svnserve服务进程
 
五、结合Apache方式
结合Apache使用的方式,克服了svnserve方式的缺点,用户可以直接通过浏览器浏览源代码,还可以对浏览器访问进行SSL加密控制,更好的提高安全性
1.Apache本身不支持SVN,需要先安装mod_dav_svn模块
2.在Fedora下,执行yum install mod_dav_svn进行自动安装
3.确保/etc/httpd/moudles目录下有mod_dav_svn.so和mod_authz_svn.so
4.打开/etc/httpd/conf/httpd.conf文件,在 LoadModule dav_module modules/mod_dav.so
一行下面添加下面两行内容:
    LoadModule dav_svn_module modules/mod_dav_svn.so
   LoadModule authz_svn_module modules/mod_authz_svn.so

5.再添加如下内容:
<Location /svn>
DAV svn
SVNPath /var/gftech/subversion/repos

AuthzSVNAccessFile /var/gftech/subversion/repos/conf/access.auth
Satisfy Any
Require valid-user
AuthType Basic
AuthName "Subversion repositories"

AuthUserFile  /var/gftech/subversion/repos/conf/users.auth
Require valid-user
</Location>
6.切换到/var/gftech/subversion/repos/conf目录下
7.执行htpasswd -cb users.auth test 123456创建帐号文件
8.再次添加用户,去掉参数c即可:htpasswd -b users.auth test2 123456
9.执行service httpd restart启动Apache
10.在浏览器中输入http://host/svn打开SVN仓库,输入用户名密码进行访问
 
六、SVN客户端
推荐使用TortoiseSVN
 
七、其他文章推荐

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值