RHEL5下配置和使用SVN服务

来源:互联网 发布:重庆php程序员工资 编辑:程序博客网 时间:2024/05/16 18:10
RHEL5的光盘中有SVN的安装包,可能您在安装RHEL5的时候已经默认安装了。
如果没有安装,可以用下列命令来安装:
 
  mount /dev/cdrom /mnt/cdrom
  cd /mnt/cdrom/Server/
  rpm -ivh subversion-1.4.2-2.el5.i386.rpm
 
安装完成之后,可以直接用文件系统路径作为REPOS_PATH来使用SVN。
比如,创建一个代码库:
 
  cd /home/simon/svn-repos
  svnadmin create test
 
上面的命令在/home/simon/svn-repos下创建了一个名为test的代码库。
之后可以用svn的import命令导入代码:
 
  svn import testcode file:///home/simon/svn-repos/test/trunk/ -m "initialization"
  (假设testcode是当前路径下包含源代码的文件夹)
 
至此,代码库已经可以用了,可以签出、更新、签入等:
 
  svn co file:///home/simon/svn-repos/test/trunk
  svn up
  svn ci -m "edit file"
 
为了让用户能够通过HTTP方式访问SVN,需要安装Apache和mod_dav_svn模块。讲安装和配置Apache
的文章很多,这里就不说了。准备好Apache后,用下列命令来安装mod_dav_svn模块:
 
  rpm -ivh mod_dav_svn-1.4.2-2.el5.i386.rpm
 
安装完成之后,/etc/httpd/conf.d下面多了一个subversion.conf的配置文件,修改配置文件如下:
 
# Make sure you uncomment the following if they are commented out
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

# Add the following to allow a basic authentication and point Apache to where the actual
# repository resides.
<Location /repos>
        DAV svn
        SVNPath /var/www/svn/repos
        AuthType Basic
        AuthName "Subversion repos"
        AuthUserFile /etc/svn-auth-conf
        Require valid-user
</Location>
其中,Location段定义了HTTP的访问路径;/var/www/svn/repos是代码库的路径,/etc/svn-auth-conf
文件中保持了用户的认证信息。这个文件用Apache的htpasswd命令生成:
 
  htpasswd -cm /etc/svn-auth-conf yourusername
之后,用如下命令添加用户:
 
  htpasswd -m /etc/svn-auth-conf anotherusername
至此,HTTP部分的配置就完成了。然后,再用svnadmin命令创建代码,导入代码就可以了。
 
如果要控制用户的读写权限,还需要创建一个ACL配置文件,文件的内容类似于如下示例:
 
[test:/]
bob = rw
alice = r
 
之后,修改subversion.conf配置文件,在Location段内,增加一项:
 
   AuthzSVNAccessFile /etc/svn-acl-conf
原创粉丝点击