Linux CentOS 7中搭建SVN

假如想象 提交于 2019-12-08 12:54:26
1、安装
            yum install subversion
2、查看安装位置
            rpm -ql subversion
3、创建svn版本库目录
            mkdir -p /var/svn/hand
4、创建版本库
            svnadmin create /var/svn/hand
5、进入conf目录(该svn版本库配置文件)
            authz文件是权限控制文件
            passwd是帐号密码文件
            svnserve.conf SVN服务配置文件
6、设置帐号密码
            vi passwd
            在[users]块中添加用户和密码,格式:帐号=密码,如rafael=123456
 
7、设置权限
            vi authz
            在末尾添加如下代码:
            [group]
            hand = rafael
            [/]
            @hand = rw
            意思是用户组hand对版本库的根目录对其有读写权限,w只有读权限。
 
 8、修改svnserve.conf文件
             vi svnserve.conf
             打开下面的几个注释:
             anon-access = none #匿名用户不可操作
             auth-access = write #授权用户可写
             password-db = passwd #使用哪个文件作为账号文件
             authz-db = authz #使用哪个文件作为权限文件
             realm = Hand Respository # 认证空间名
 
9、启动svn版本库
             svnserve -d -r /var/svn/hand
10、关闭SVN版本库
            ps ef|grep svnserve
            找到进程ID,例如上图为1433。执行命令:
            kill -9 1433
            即可停用SVN版本库服务。

使用中常见的问题:
1.外部系统无法访问,本例中尝试使用TortoiseSVN客户端连接 svn://192.168.1.168/
报错:authorization failed
检查了一下应该是防火墙的问题。
设置防火墙的开放端口:
vi /etc/sysconfig/iptables-config
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT  
运行:
/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT   

最后去windows上执行telnet 192.168.1.168 3690

成功连接。此时再用TortoiseSVN客户端连接 svn://192.168.1.168/已经可以连接。

2.用TortoiseSVN客户端checkout报错
URL 'svn://192.168.1.168/hand' doesn't exist
解决办法:版本库为空,去创建一个hand的文件夹即可。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!