1.安装
网上说的使用yum安装非常简单:yum install subversion,但是我的Ubuntu 16.04 64位的老是频频出错,后来直接apt-get install subversion安装的
2.配置
2.1我们这里在/home下建立一个名为svn的仓库(repository),以后所有代码都放在这个下面,创建成功后在svn下面多了几个文件夹。
[root@localhost /]# cd /home[root@localhost home]# mkdir svn[root@localhost home]# svnadmin create /home/svn[root@localhost home]# ls svnconf db format hooks locks README.txt复制代码
我们这里特别关注一下conf文件夹,这个是存放配置文件的
[root@localhost home]# cd svn/conf[root@localhost conf]# lsauthz passwd svnserve.conf复制代码
其中:
authz 是权限控制文件passwd 是帐号密码文件svnserve.conf 是SVN服务配置文件复制代码
接下来我们依次修改这3个文件。
2.2. 配置passwd
[root@localhost conf]# vi passwd [users]test1=123456test2=123456复制代码
上面的例子中我们创建了2个用户,一个test1,一个test2
2.3. 配置authz
[root@localhost conf]# vi authz [/]liuxianan=rwtest1=rtest2=r*=复制代码
上面配置的含义是,liuxianan对/home/svn/下所有文件具有可读可写权限,test只有只读权限,除此之外,其它用户均无任何权限,最后一行*=很重要不能少。
2.3.1. 拓展:使用用户分组
这个我一般不用,但是记录下来。
还是这个文件:
[root@localhost conf]# vi authz[groups]group1 = liuxianangroup2 = test1,test2[/]@group1 = rw@group2 = r* =复制代码
上面配置中创建了2个分组,分组1的用户可读可写,分组2的用户只读。
格式说明:
版本库目录格式:[ <版本库> :/项目/目录]@ <用户组名> = <权限> <用户名> = <权限> 复制代码 权限> 用户名> 权限> 用户组名> 版本库>
2.4. 配置svnserve.conf
[root@localhost conf]# vi svnserve.conf 打开下面的5个注释anon-access = read #匿名用户可读auth-access = write #授权用户可写password-db = passwd #使用哪个文件作为账号文件authz-db = authz #使用哪个文件作为权限文件realm = /home/svn # 认证空间名,版本库所在目录复制代码
2点注意:
** 最后一行的realm记得改成你的svn目录 打开注释时切记前面不要留有空格,否则可能有问题(网上说的,我没有亲测)**
3.启动与停止
[root@localhost conf]# svnserve -d -r /home/svn(启动)[root@localhost conf]#killall svnserve(停止)复制代码
上述启动命令中,-d表示守护进程, -r 表示在后台执行。停止还可以采用杀死进程的方式:
root@localhost conf]# ps -ef|grep svnserveroot 4908 1 0 21:32 ? 00:00:00 svnserve -d -r /home/svnroot 4949 4822 0 22:05 pts/0 00:00:00 grep svnserve[root@localhost conf]# kill -9 4908复制代码
最后来个总的截图:
ps:拓展 在命令 vi/vim 下 i 可以编辑 command + c 推出编辑 :可出入命令 wq! 保存退出 q! 不保存退出