1、安装SVN 要在linux下安装SVN,可以下载源码自己编译,最好是联网的可以直接安装
出现上面的提示,说明安装成功。#yum install subversion 判断是否安装成功(有时候也会没有结果,提示subversion commandnot find) #subversion --v svnserve, version 1.6.11 (r934486)
有了SVN软件后还需要建立SVN库。(这里我建立的一个以repos作为根的仓库)执行上面的命令后,自动在repos下建立多个文件, 分别是conf, db,format,hooks, locks, README.txt。#mkdir /opt/svn #mkdir /opt/svn/repos #svnadmin create /opt/svn/repos
2、配置
安装和建立第一个仓库都很简单,下面开始权限可用户验证的配置
2.1 建立用户名和密码
打开conf下面的passwd文件,(#是配置文件的注释,这个我觉得大家应该知道)2.2 配置authz(这里设置用户对目录的访问权限的配置) [group] reposgroup = hello,lee #群组的设置,将用户hello 和lee设置为群组reposgroup这样我们就建立了两个用户,hello和lee 密码就是 = 号后面的字符[users] # harry = harryssecret # sally = sallyssecret hello=123 lee=123456
[ / ] # 组reposgroup 里面的用户(用户组前面有个@),和用户mamamiya可对 根目录写读,所有用户可以读取(*号码表示所有用户)
@ reposgroup = rw mamamiya=rw * = r2.3 设定snvserv.conf (找到文件里里面的属性。把注释符号去点就可以了)
采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.anon-access = none # 使非授权用户无法访问 auth-access = write # 使授权用户有写权限 password-db = password authz-db = authz # 访问控制文件 realm = /opt/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
3、启动服务器
3、1 打开服务器 启动svn:#svnserve -d -r /opt/svn/repos
成功打开之后,可以再别的电脑上连接了,
客户端 TortoiseSVN
安装之后 在本地新建一个目录repos(任意名称)
选择Svn CheckOut
![]()
在linux下搭建SVN服务器,权限+常见错误
我的服务器IP是192.168.0.61 按下OK之后 就可以登录了这里的用户名密码就是 passwd 文件里面配置的![]()
在linux下搭建SVN服务器,权限+常见错误 如果出现 套接字 操作尝试一个无法连接的主机 的错误 可能需要在服务器里面的防火墙放行一下 3690端口![]()
在linux下搭建SVN服务器,权限+常见错误
打开/etc/sysconfig 里面的 iptables文件 添加下面语句,(从iptables里面复制一行 端口修改成3690即可,防止不同iptables文件 配置语句不一样)
-A INPUT -m state --statr NEW -m tcp -p tco --dport 3690 -j ACCEPT用户名密码验证成功之后 就会收到仓库里面的文件4、添加子目录,控制权限![]()
在linux下搭建SVN服务器,权限+常见错误
因为开始 我们设置了 一个hello用户可以对整个目录进行 读写,现在我们可以再这个目录下面新建其他目录 如,aaa、bbb
然后再目录里面右键 选择SVN Commit,就新建了两个子目录。
再回到linux的authz文件可以让用户 xiaodidi 只能访问aaa目录 (现在passwd文件里面添加这用户)[/aaa]xiaodidi = rw
这样xiaodidi这个用户就只能访问aaa目录了,
如果出现 authorization failed 一般是授权问题 authz ,检查文件配置