最近需要在服务器配置svn,在网上找了很多资料,很多文章写的比较繁琐,思路也不是很清晰,本人最后在博客园找到了一篇文章,按照他的思路完成了svn服务端的配置,各位可以关注一下他的博客小茗同学的博客园,这里不是做广告,而是觉得人家确实是做技术比较认真的。值得学习。 本人使用的是aliyun的linux系统,这个系统跟centos没什么差别,而且还很贴心的帮你预装了很多插件。
使用yum安装,也可以使用下载的压缩工具包安装,建议使用yum安装,方便快捷。
yum install subversion我们在opt文件夹下创建svn/svnroom/svnv1目录(这个仓库的目录根据自己的喜欢创建,千万不要像我一样创建这么长,建议最多创建2级即可)
#进入opt目录 cd /opt #创建 svn以及子目录svnroom再以及svnv1 mkdir svn/svnroom/svnv1 #创建svn仓 svnadmin create /opt/svn/svnroom/svnv1因为我已经创建过了,再执行svnadmin create命令就会出现已经被创建的提示,没有的话创建完毕ls命令就可以看见你的目录下多了几个文件。 conf db format hooks locks README.txt conf文件下就是svn的配置文件
cd conf lsauthz 是权限控制文件 passwd 是帐号密码文件 svnserve.conf 是SVN服务配置文件
创建用户的格式是 用户名 = 密码 例如
[users] test1=123456 test2=123456创建后:wq保存下
添加格式 用户名=rw(读写)或者 用户名 =r(只读)
[/] username=rw test1=r test2=r *=注意:在编辑authz的时候记得一定要添加”[/]”,”[/]”表示仓下的所以路径,我开始的时候没有添加导致svn一直无法查询到路径,还有添加”*=”是让其他用户无操作权限,保证svn的安全性。
拓展:使用用户分组 在authz中编辑
[groups] group1 = username group2 = test1,test2 [/] @group1 = rw @group2 = r * =这样就是针对组进行权限设计。上面配置中创建了2个分组,分组1的用户可读可写,分组2的用户只读。 格式说明:
版本库目录格式: [<版本库>:/项目/目录] @<用户组名> = <权限> <用户名> = <权限>注意: (1)realm去掉这个注释后,记得千万改成自己配置的路径,就是创建的那个,开始的时候只接触注释,没有修改路径,一直出问题,这里强调一下。 (2)取消注释的时候,记住千万前面不能留空格,会报错的,再次强调。
启动
svnserve -d -r /opt/svn/svnroom/svnv1 (再次希望各位不要弄这么多的文件目录)停止(svn的停止有点坑爹,没有stop等命令,停止只能杀死进程,我查看目前的资料是这个样子的)
ps -ef|grep svnserve查看svn的进程然后kill掉
kill -9 进程id(1)下载TortoiseSVN客户端 (2)安装完成,选择一个文件夹鼠标右键,你会看见你的工具栏中多了SVN checkout 选择你的svn://127.0.0.1(svn://ip地址),默认端口3690 输入你的用户名密码即可
参考文章: Linux下安装SVN服务端小白教程