开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

CentOS6.7部署SVN服务器

简介:
+关注继续查看

SVN的介绍

https://zh.wikipedia.org/wiki/Subversion


安装说明:

系统环境:CentOS 6.75

安装方式:YUM安装


安装:

先确认本地是否已经安装subversion

1
rpm -qa subversion

如果有安装subversion,先删除旧版本

1
yum remove subversion

安装svn

1
yum -y install subversion

检查版本

1
svnserve --version


安装后的配置:


创建SVN库:

1
mkdir -p /opt/svn

创建repo代码库

1
svnadmin create /opt/svn/repo

创建完成后,生成以下文件

1
2
3
4
5
6
7
8
[root@localhost repo]# ll
total 24
drwxr-xr-x. 2 root root 4096 Jun 15 20:05 conf
drwxr-sr-x. 6 root root 4096 Jun 15 20:26 db
-r--r--r--. 1 root root    2 Jun 15 19:08 format
drwxr-xr-x. 2 root root 4096 Jun 15 19:08 hooks
drwxr-xr-x. 2 root root 4096 Jun 15 19:08 locks
-rw-r--r--. 1 root root  229 Jun 15 19:08 README.txt



配置代码库:

cd /opt/svn/repo/conf


添加账户密码psswd配置

修改passwd文件,通过在文件中追加 账号 = 密码来创建用户

1
2
3
4
5
[users]
# harry = harryssecret
# sally = sallyssecret
zeng = 123456
zhou = 123456



权限控制authz配置

svn的权限控制都是在authz文件中设定,该文件定义了哪些用户可以访问哪些目录

[groups]            #

admin = hello,www   #创建一个admin组,将用户hello、www加入到组

[/]                 #根目录权限设置(就是“svn”这个文件夹)

aaa = rw            #aaasvn下的所有版本库有读写权限

[repo:/]            #repo:/,表示对repo版本库下的所有资源设置权限

@admin = rw         #admin组的用户对repo版本库有读写权限

[repo2:/occi], ,表示对版本库repo2中的occi项目设置权限

[repo2:/occi/aaa], ,表示对版本库2中的occi项目的aaa目录设置权限  权限主体可以是用户组、用户或*,用户组在前面加@*表示全部用户。权限可以是wrwr和空,空表示没有任何权限。


服务svnserve.conf配置

[root@admin conf]#vim svnserve.conf

追加以下内容:

[general]
#
匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#
使授权用户有写权限
auth-access = write
#
密码数据库的路径
password-db = passwd
#
访问控制文件
authz-db = authz
#
认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字

realm = repo //这里也可以写完成路径 /opt/svn/repo


防火墙配置

使用svn必须在SVN服务器上开发防火墙端口,或者直接关闭防火墙

防火墙开发svn的端口,编辑/etc/sysconfig/iptables文件,加入以下配置

1
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT


SELinux配置

建议直接disable掉selinux


启动SVN

1
svnserve -d -r /opt/svn/

停止svn服务

1
killall svnserve

查看svn的服务进程

1
2
[root@localhost conf]# netstat -tunlp | grep svn
tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN      1473/svnserve

 

客户端的安装:

windows上安装客户端

客户端下载地址:http://ufpr.dl.sourceforge.net/project/tortoisesvn/1.9.4/

需要安装tortoisesvn客户端和语言包。

安装完成后,需要重启。然后更改语言

wKiom1dqF4Pgd8X6AAFmDEdn3bU770.png

wKioL1dqF4WjsoxDAAKRFurgTFU004.png


测试

在客户端桌面上创建一个svntest的目录。然后在桌面上右键 ==> SVN检出

wKiom1dqGRbgN9c_AADX55TFBeQ200.png

wKioL1jaFnPSEtakAAC6uWYT3FE148.png

注意上图中svn地址不能写成svn://172.16.42.133/opt/svn/repo的完整路径,否则会报错


wKioL1dqGUCywdK4AAGmR0mgM-Y197.png



客户端上传文件

windows上要添加的文件移动至repo文件夹进行上传,上传哪个文件就点击右键—添加

添加完成后,再次右键==>提交

客户端的具体使用,可以参考下面的官网文档。

http://ufpr.dl.sourceforge.net/project/tortoisesvn/1.9.4/Documentation/TortoiseSVN-1.9.4-zh_CN.pdf


修改文件的正确操作流程:

先更新要修改的文件,然后将文件锁定,这样别人虽然能同时修改这个文件,但是不能提交。当你编辑完成并提交后,文件自动解除锁定



如何创建并启用多个代码库?


跟前面的操作一样,创建代码库,这里以新建一个名为it的代码库为例

1
svnadmin create /opt/svn/it

然后和前面一样,修改配置文件。


启用代码库,监听在不同的端口上

1
svnserve -d -r /opt/svn/it --listen-port 3691
1
2
3
[root@localhost conf]# netstat -tunlp | grep svn
tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN      1740/svnserve       
tcp        0      0 0.0.0.0:3691                0.0.0.0:*                   LISTEN      1791/svnserv









本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1791678,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
三步在Centos搭建SVN服务器
搭建SVN服务,有效的管理代码,以下三步可以快速搞定。1、安装  #yum install subversion 判断是否安装成功 #subversion -v svnserve, version 1.6.11 (r934486) 出现上面的提示,说明安装成功。
1065 0
CentOS7下安装mysql5.6修改字符集为utf8并开放端口允许远程访问
前言 mysql最初的免费战略已经深入人心,感觉自己一直都在用mysql。今天在centos7下装mysql。发现原来centos下默认没有mysql,因为开始收费了,取而代之的是另一个mysql的分支mariadb,这个是mysql创始人重新主导的分支。
1565 0
CentOS初始化Mysql5.7密码
/etc/init.d/mysql stopmysqld_safe --user=mysql --skip-grant-tables --skip-networking &mysql -u root mysql update user set authentication_string=passw...
833 0
+关注
20377
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载