主要过程是按照上边链接的帖子完成的,但是,其中有错误,也有坑,下面按照发生顺序逐一记录。
首先,安装svn,只需要
yum install subversion即可,不需要安装那么多,或许他是为了后面一起装了,不过我喜欢一码是一码,后面需要后面再装。
接下来,创建仓库。
1,新建一个目录用于存储SVN所有文件
# mkdir /home/svn2,新建一个版本仓库
# svnadmin create /home/svn/project3,初始化版本仓库中的目录
# 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 = sallyssecretpm = pm_pwserver_group = server_pwclient_group = client_pwtest_group = test_pw
我是只创建了自己的一个用户,注意,这里创建的都是用户,虽然有叫group的
修改用户访问策略
/home/svn/project/conf/authz记录用户的访问策略,以下是参考:[groups]project_p = pmproject_s = server1,server2,server3project_c = client1,client2,client3project_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 = noneauth-access = writepassword-db = /home/svn/project/conf/passwdauthz-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管理工具暂时就不管了,先用起吧,有时间再回来搞