虚拟机上的svn配置

1、下载svn 
yum -y install subversion

2、创建版本库目录 //一开始在这里的理解上出了问题,一直以为这个是服务器端的目录,其实不然 
mkdir /var/svn

3、启动svn 
svnserve -d -r /var/svn 

4、创建版本库 
svnadmin create /var/svn/kaoqin

5、配置版本库

  进入conf配置文件 

  (1)passwd        

  配置用户和密码

  # harry = harryssecret  #用户名 = 密码
       # sally = sallyssecret  #用户名 = 密码
     wang = 123456   //任意设置

  (2)authz    用户的权限设置

  # [/foo/bar]   //   [/] 版本库跟目录   [immoc:/] 名为immoc版本库 权限只适用名称为immoc版本库  [immoc:/xxx] 权限只适用名为immoc版本库xxx文件目录
 
      # harry = rw   //   harry 有读写权限
      # &joe = r     //   &joe  有写权限
      # * =          //   所有人 都没有权限的意思
     [groups]
     # harry_and_sally = harry,sally
     # harry_sally_and_joe = harry,sally,&joe
     分组
     # [repository:/baz/fuz]
     # @harry_and_sally = rw
     # * = r
     *= 说明除了harry_and_sally 外  其他人没有权限
  (3)     svnserve.conf
  
  # anon-access = read      //定义非授权用的的访问权限,有三种 none read write 设置none 限制访问,read只读,write具有读写
     # auth-access = write     //定义授权用户的访问权限,有三种 none read write 同理
     # password-db = passwd    //定义保存用户和密码的文件名称 即 同目录下的 passwd 文件
     # authz-db = authz        //定义保存授权信息的文件名称   即 同目录下的 authz  文件
     # realm = My First Repository //定义客户端连接时的“认证命名空间”,subversion会在认证提示里显示,并且作为凭证缓存的关键字
 
  *************************以上内容为配置信息****************************
 
  一、在Apache目录下checkout这个项目,并设置自动更新 
    先cd /var/www,之后checkout一下 
    svn co svn://******/kaoqin 这样就可以checkout下来又不包含原目录名。
  二、接着可以测试一下是否能正常访问,可以在windows下面checkout 然后commit代码进行测试。这里可能还有一个问题,因为Apache的默认访问地址是/var/www/html,所以要改下配置 
    vi /etc/httpd/conf/httpd.conf 
    找到 DocumentRoot “/var/www/html”,把这个目录改成”/var/www/” 
    之后别忘了把/var/www/这个目录的权限改下 
    chmod -R 755 /var/www/ 
    然后重启下Apache, 
    service httpd restart
  三、做完这些就剩下设置自动更新了。 也可以新建一个post-commit文件进行配置
    cd /var/svn/kaoqin/hooks 
    mv post-commit.tmpl post-commit 
    然后 vim post-commit
    然后记得让post-commit有执行的权限 chmod 777 post-commit
    
#!/bin/sh 
#
#
#
REPOS="$1"
REV="$2"
export LANG=zh_CN.UTF-8
SVN=/usr/bin/svn           #这里配置的是svn安装bin目录下的svn文件 
WEB=/var/www/html/test     #要更新的目录 
$SVN update $WEB --username xxx --password xxx (此版本是linux下,windows下是.bat,写法少有不同,测试了下用一个账号密码配置好后其它的账号也可以使用自动更新)

 一些常用的svn命令,

  killall svnserve 关闭服务,ps -aux | grep svn 查看状态

posted @ 2018-04-10 09:09  tengjian  阅读(574)  评论(0编辑  收藏  举报