xuzhfa123 发表于 2013-1-30 01:08:02

SVN的配置

1,配置好yum,检查subversion安装包
# yum list |grep subversion
subversion.i386                        1.4.2-4.el5_3.1            
subversion-devel.i386                     1.4.2-4.el5_3.1               
subversion-javahl.i386                     1.4.2-4.el5_3.1            subversion-perl.i386                      1.4.2-4.el5_3.1               
subversion-ruby.i386                      1.4.2-4.el5_3.1            

# yum -y install subversion
测试安装是否成功:
#svnserve--version   回车显示版本说明安装成功
# netstat –nat查看默认TCP 3690端口是否监听.

2,创建svn版本库
# mkdir -p /data/svndata
3,客户端的文件更新至服务器(user1操作)
新建一个空目录,右键Checkout (提取)
svn://192.168.103.26/winne
输入passwd文件中的授权用户帐号就可以了
# svnadmin create /data/svndata/winnewinne为版本库名称

3,svnserve配置文件概述
svnserve.conf --svn服务配置文件,该文件版本库目录的conf目录下。
passwd -- 用户名口令文件,该文件名在文件svnserve.conf中指定,缺省为同目录下的。
authz-- 权限配置文件,该文件名也在文件svnserve.conf中指定,缺省为同目录下的。

conf/svnserve.conf 文件

配置项分为以下5项:
anon-access 控制非鉴权用户访问版本库的权限。
auth-access控制鉴权用户访问版本库的权限。
password-db 指定用户名口令文件名。
authz-db    指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
realm      指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的
         认证域相同,建议使用相同的用户名口令数据文件



注:1.4版本anon-access = read 参数的bug .
anon-access = read时客户端Checkout(提取)的时候会有Not authorized to open root of edit operation"错误,改为none参数正常,

conf /Passwd 文件
user1 = user1
user2 = user2

conf /authz文件
       设置组
admin = user1
[/]            根目录权限设置(就是“svndata”这个文件夹)
user1 = rw      用户1权限是:可读写
user2 = r      用户2权限是:可读,不可写
@admin = rw    设置组权限
   设置根目录下“winne”文件夹的权限
user1 = rw
user2 = r

…以此类推

4,启动和停止SVN服务
启动SVN服务:
# svnserve -d -r /data/svndata/
-d表示后台运行
-r 指定根目录是 /data/svndata/
停止SVN服务:

ps -aux |grep svn
kill -9 进程杀掉


连接常见问题:
1、如果用TortoiseSVN 连“svn://192.168.33.3/sqlite-3.6.5/”,则会报错:
无法连接主机“192.168.3.33”: 套接字操作尝试一个无法连接的主机。
解决方案:
在/etc/sysconfig/iptables中的“-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT”一行后面添加了“-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT”即可。
页: [1]
查看完整版本: SVN的配置