Cenos 6.5上的subverion的yum配置笔记

Subversion在CenOS 6.5上的安装配置
1、安装
yum install subversion
2、配置
  #创建目录
  mkdir /opt/svn
  #创建版本库
  svnadmin create /opt/svn/mysvn
3、修改认证设置
  在/opt/svn/mysvn/conf下,有3个文件authz, passwd, svnserve.conf
 其中svnserve.conf是全局安全配置
 passwd是用户名密码文件
 authz是权限文件
#修改svnserve.conf文件
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
将其前面的注释去掉,上述四行依次代表
  默认用户没有权限,认证用户可以读写,密码文件为passwd,权限文件为authz
 
#设置passwd文件,user=password
[users]
shiyq=stone 
zhangdy=zhangdy
liud=liud
#配置authz文件
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
dev = zhangdy,shiy,liud
[/]
@dev = rw
shiyq = rw
zhangdy = rw
liud = rw
 
#按照文档来说,配置用户组就可以了,但是用户组直接设置用户组@dev=rw,总是会出现认证错误,后来一个很奇怪的现象,就是系统中存在zyr这个用户组,还包括shiyq,zhangdy,liud这几个用户,所以需要直接直接指定用户权限,但需要注意的是密码不是系统密码,而是passwd文件里面的密码。
对于系统不存在的用户组,用户名,就可以直接设置,如下
[groups]
dev = zhangdy,shiy,liud 
test = test1,test2,test3
[/]
@dev = rw
shiyq = rw
zhangdy = rw
liud = rw
@test = rw
* =
#其中test1,test2,test3需要在passwd文件中定义
[users]
shiyq=stone 
zhangdy=zhangdy
liud=liud
test1=test1
test2=test2
test3=test3
#这种情况下,是可以用test1/test1访问的
4、启动和连接
     启动命令
     svnserve -d -r /opt/svn
    #注意,不是svnserve -d -r /opt/svn/mysvn
    访问方式
    在客户端中的地址为:  svn://192.168.0.111/mysvn
    如果用命令行,svn有很多参数,可以慢慢研究
    关闭
    ps -ef | grep svn
    kill 进程号
5、在Eclipse中,项目右键->Team->Share projects,选择SVN,填写地址,用户名,密码,就可以连接了
    在每次提交之前,需要先更新一次,才能提交
6、防火墙问题
     默认subversion的端口为3690,需要配置防火墙,iptables的命令如下
     iptables -A INPUT -p tcp --dport 3690 -j ACCEPT 
     iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT 
     有的时候,还需要关闭SELinux,这是一个增强的安全方案,但是没有找到配置subversion的方法,索性关掉了,可选办法有下列办法,我用的是第三种
          1)、快速关闭SElinux,使用如下命令就可以:
 /usr/sbin/setenforce 0 立刻关闭 SELINUX
 /usr/sbin/setenforce 1 立刻启用 SELINUX    
 2)、加到系统默认启动里面    
 echo "/usr/sbin/setenforce 0" >> /etc/rc.local   
 3)、可以编辑配置文件达到同样的目的    
 vi /etc/selinux/conf
 set SELINUX=disabled
 

7、常见问题

     1)如果需要创建多个版本库,最好设置同一个权限,修改conf/svnserve.conf文件,将其中修改为类似如下的内容
password-db = ../../conf/passwd
authz-db = ../../conf/authz
指向的是/opt/svn/conf下的文件

     2)在用Eclipse访问svn库时,在需要读取版本历史的时候,有的时候会出现

org.apache.subversion.javahl.ClientException: Item is not readable svn: Item is not readable
          这个时候是普通用户没有读权限造成的,在authz文件中,找到"* = ",修改为"* = r"
 
 
posted @ 2014-04-15 09:11  stone-fly  阅读(281)  评论(0编辑  收藏  举报