您的位置:首页 > 运维架构 > Linux

linux 安装svn服务端

2017-05-04 18:45 211 查看
最近需要在服务器配置svn,在网上找了很多资料,很多文章写的比较繁琐,思路也不是很清晰,本人最后在博客园找到了一篇文章,按照他的思路完成了svn服务端的配置,各位可以关注一下他的博客小茗同学的博客园,这里不是做广告,而是觉得人家确实是做技术比较认真的。值得学习。

本人使用的是aliyun的linux系统,这个系统跟centos没什么差别,而且还很贴心的帮你预装了很多插件。

一、安装

使用yum安装,也可以使用下载的压缩工具包安装,建议使用yum安装,方便快捷。

yum install subversion


二、配置

1.创建仓库

我们在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
ls




authz 是权限控制文件

passwd 是帐号密码文件

svnserve.conf 是SVN服务配置文件

2.修改配置文件

2.1 配置passwd

vi passwd




创建用户的格式是 用户名 = 密码

例如

[users]
test1=123456
test2=123456


创建后:wq保存下

2.2 配置authz

vi authz




添加格式 用户名=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的用户只读。

格式说明:

版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>


2.3 配置svnserve.conf

vi svnserve.conf




取消这5个注释
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /opt/svn/svnroom/svnv1 # 认证空间名,版本库所在目录


注意:

(1)realm去掉这个注释后,记得千万改成自己配置的路径,就是创建的那个,开始的时候只接触注释,没有修改路径,一直出问题,这里强调一下。

(2)取消注释的时候,记住千万前面不能留空格,会报错的,再次强调。

3 svn的启动与停止

启动

svnserve -d -r /opt/svn/svnroom/svnv1 (再次希望各位不要弄这么多的文件目录)


停止(svn的停止有点坑爹,没有stop等命令,停止只能杀死进程,我查看目前的资料是这个样子的)

ps -ef|grep svnserve




查看svn的进程然后kill掉

kill -9 进程id


4 客户端连接测试

(1)下载TortoiseSVN客户端

(2)安装完成,选择一个文件夹鼠标右键,你会看见你的工具栏中多了SVN checkout



选择你的svn://127.0.0.1(svn://ip地址),默认端口3690

输入你的用户名密码即可

参考文章:

Linux下安装SVN服务端小白教程
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: