标签:
主要过程是按照上边链接的帖子完成的,但是,其中有错误,也有坑,下面按照发生顺序逐一记录。
首先,安装svn,只需要
yum install subversion即可,不需要安装那么多,或许他是为了后面一起装了,不过我喜欢一码是一码,后面需要后面再装。
接下来,创建仓库。
1,新建一个目录用于存储SVN所有文件
# mkdir /home/svn
2,新建一个版本仓库
# svnadmin create /home/svn/project
3,初始化版本仓库中的目录
# mkdir project project/server project/client project/test (建立临时目录)
# svn import project/ file:///home/svn/project -mv “初始化SVN目录”
# rm -rf project (删除临时建立的目录)
注意的是里面初始化仓库目录的那步,没必要创建那么多,他应该只是为了演示权限控制才建的,具体根据需求来,空目录即可。
然后,添加用户
要添加SVN用户非常简单,只需在/home/svn/project/conf/passwd文件添加一个形如“username=password”的条目就可以了。为了测试,我添加了如下内容:
[users]
# harry = harryssecret
# sally = sallyssecret
pm = pm_pw
server_group = server_pw
client_group = client_pw
test_group = test_pw
我是只创建了自己的一个用户,注意,这里创建的都是用户,虽然有叫group的
修改用户访问策略
/home/svn/project/conf/authz记录用户的访问策略,以下是参考:
[groups]
project_p = pm
project_s = server1,server2,server3
project_c = client1,client2,client3
project_t = test1,test1,test1
[project:/]
@project_p = rw
* =
[project:/server]
@project_p = rw
@project_s = rw
* =
[project:/client]
@project_p = rw
@project_c = rw
* =
[project:/doc]
@project_p = rw
@project_s = r
@project_c = r
@project_t = r
* =
事实上,他这个我是未验证的,不过,groups那里,我是验证了的,没有错
但是,后面它写project的我是未验证的,svn默认创建的写的是repository,我试过不行,估计是因为我的仓库名字叫做project,所以我怀疑上面的是可行的
groups我就不写了,授权我只写了最简单的
[/]
@admin=rw
admin是我的组的名称
具体的,可以看文本里的注释,不过说的也不是很清楚
修改svnserve.conf文件,让用户和策略配置升效.
svnserve.conf内容如下:
[general]
anon-access = none
auth-access = write
password-db = /home/svn/project/conf/passwd
authz-db = /home/svn/project/conf/authz
其实这里password-db和authz-db使用相对路径也可以,就直接输入passwd和authz即可
启动服务器
# svnserve -d -r /home/svn
注意:如果修改了svn配置,需要重启svn服务,步骤如下:
# ps -aux|grep svnserve
# kill -9 ID号
# svnserve -d -r /home/svn
可以测试下是否ok
创建一个目录,执行下svn co svn://你的IP/project,这是checkout的命令,我之前一直失败,是权限没有赋好。
然后,还有个坑,远程checkout失败
原因是:防火墙
我还不想学如何映射端口,就直接把防火关了
我用的centos7,防火墙变成了firewall,命令如下:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
web管理工具暂时就不管了,先用起吧,有时间再回来搞
标签:
原文地址:http://my.oschina.net/u/1778412/blog/483858