我的开源之路

ubuntu 8.04 编译安装 apache mysql php 以及 svn的配置 2


SVN的配置:


1安装SVN
     直接通过 sudo apt-get install svn libapache2-svn即可

2.建立SVN用户,设置相关权限

    apache默认启动帐户是www-data,可以继续使用帐户或者另外新建一个用户来启动apache
    我是另外建立了一个帐户 svn-usr 
    建立subversion用户组,这步实际可以不用,在设置权限时把权限设置给用户组可以方便SVN建立多用户的版本管理(只需在该用户组类添加新成员)
   
groupadd subversion
useradd 
-g subversion svn-user

    建立好用户和用户组后,开始设置相关权限,这个很重要,很多情况下会在这出问题
    版本一般放在/home/svn,这个作为一个总的文件夹,存放各种代码库
    假设现在我们有一个项目project
    在/home/svn 下建立新目录 project ,并修改他的相关权限
    $ sudo mkdir project
    $ sudo chown -R root:subversion project      AuthName "Subversion Repository"
    $ sudo chmod -R g+rws project
    最后两条命令给予了组成员拥有相关读写权限
  
 3.   然后用svn来来建立文件仓库
     sudo svnadmin create /home/svn/project

      导入代码初始化数据
      sudo svn import /home/sourcecode file:///home/svn/project -m "initial import"

4 .设置SVN用户
      安装SVN后默认没有设置用户的文件,需要自己建立一个
      假设放在 /etc/subversion/passwd文件里
      建立文件和第一个用户时候注意:
     
      htpasswd -cm /etc/subversion/passwd username1 (-c表示建立该文件)

     建立好密码文件后,添加其他用户时候直接-m,-cm会把原来文件覆盖掉
    添加新用户
     htpasswd -m /etc/subversion/passwd username2
    
     
      这样一个SVN版本就建立好了,接下来就是apache的设置,可以使SVN通过HTTP方式进行工作

     apache和SVN主要通过webdav来实现
    
     注意查看apache是否Load了mod_dav.so模块和mod_dav_svn.so模块,没有得加上这2个模块

     配置httpd.conf文件

     <Location /svn>
     DAV svn
     SVNPath /home/svn/project
     AuthType Basic
     AuthName "Subversion Repository"
     AuthUserFile /etc/subversion/passwd
     Require valid-user
    </Location>
   <Location>类似于<Derectory>,但是优先级在其后面,所有设置svn的目录时不要和web目录在一起,否则apache会优先看作是wb文件夹。
    另外如果想设置一个目录下有多个版本的话,可以将SVNPath改成SVNParentPath,这样假设/home/svn下面有project1,project2,project3等多个项目的时候,直接通过http://....../svn/project1 ,http://..../svn/project2就可以了,不过这个得设置好apache启动用户的权限,类似上面的设置方法
  
      有什么问题欢迎大家留言讨论



posted on 2008-08-29 03:06 刘浩 阅读(412) 评论(0)  编辑 收藏 引用 网摘 所属分类: Linux


只有注册用户登录后才能发表评论。
网站导航: