Svn作用

Subversion是一个自由/开源的版本控制系统,一组文件存放在中心版本库,记录每一次文件和目录的修改,Subversion允许把数据恢复到早期版本,或是检查数据修改的历史,Subversion可以通过网络访问它的版本库,从而使用户在不同的电脑上进行操作。

举例:svn在192.168.1.160上面

A跟B同时修改160上面的aa.txt文件,两者传上去之后160会整合A跟B的修改。

系统环境:Centos 6.5

第一步:通过yum命令安装svnserve,命令如下:

>yum -y install subversion

此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行

若需查看svn安装位置,可以用以下命令:

>rpm -ql subversion

第二步:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)

选择在var路径下创建版本库,当前处于根目录下,一次性创建如下:

>mkdir /var/svn/svnrepos

第三步:创建svn版本库

在第二步建立的路径基础上,创建版本库,命令如下:

>svnadmin create /var/svn/xxxx   (xxxx为你预期的版本库名称,可自定义)

创建成功后,进入xxx目录下

>cd /var/svn/xxxx

进入目录,可以看见如下文件信息:

第四步:配置修改

进入已经创建好的版本库目录下,也就是前文说创建的xxxx

进入conf

>cd /var/svn/xxxx/conf

conf目录下,一共存放三份重要的配置文件,如下:

authz:负责账号权限的管理,控制账号是否读写权限

passwd:负责账号和密码的用户名单管理

svnserve.conf:svn服务器配置文件

细节修改如下:(希望大家严格按照以下信息,不用参考网络上其他资料)

1.修改authz文件信息,如下:

在末尾添加如下代码:

[/]

zhangsan=rw

lisi=rw

wangwu=r

意思是版本库的根目录zhangsan,lisi对其有读写权限,wangwu只有读权限。

或许

在[groups]下增加以下内容
admin=zhangsan,lisi
user=lisi          
          规定了两个组,admin组和user组

[/]        
                   本案例根目录为svnrepos
@admin=rw          
   admin组的权限为读写, 指定组前面必须加上@ 
@user=r          
    user组的权限为只读,指定组前面必须加上@

2.修改passwd文件信息

>vi passwd

账号密码文件无需做修改,也是直接将账号和密码信息追加到文件中即可,注意格式为:

账号 = 密码

例如:admin = 123456

修改svnserve.conf(重要)

3.vi svnserve.conf

原始文件内容,都被注释掉的,我们只需要去掉4条指定内容前注释即可,如下:

打开下面的几个注释:

anon-access = read #匿名用户可读,不想匿名用户可读,设置为none

auth-access = write #授权用户可写

password-db = passwd #使用哪个文件作为账号文件

authz-db = authz #使用哪个文件作为权限文件

realm =hengqian # 认证空间名,版本库所在目录

第五步:防火墙开启

多数情况下服务器安装完成,配置完成后,无法连接svn服务器,均是防火墙问题,大家按照如下3条命令逐一执行即可

>/sbin/iptables -I INPUT -p tcp --dport 3690 -j
ACCEPT

>/etc/init.d/iptables save

>service iptables restart

执行结果如下图:

六:启动httpd/svn服务器

Service httpd restart

在跟目录下,执行如下命令:

>svnserve -d -r /var/svn/svnrepos

启动成功后,可用ps -aux查看服务启动是否成功

七:客户端访问svn服务器

安装svn客户端

目前最流行的svn客户端非TortoiseSVN莫属

下载安装

客户端连接地址:svn://公网或内网的IP地址/xxxx,有时候需要添加端口号

用户名/密码: test/123456789  ##要和之前设置的用户名和密码匹配

注意:

默认端口为3690,如果该端口被占用,或者需要修改端口,使用下面语句

svnserve -d -r /opt/svn/repositories --listen-port 3691

新建一个xxx.txt文本

最新文章

  1. MySQL+Amoeba实现数据库主从复制和读写分离
  2. c#官方推荐md5通用加密类
  3. Sublime Text2 javascript格式化插件JsFormat
  4. ajax传递数组到后台
  5. ionic —— 开发环境搭建并编译运行第一个APP
  6. python-学习笔记1-面向对象编程
  7. 三、jQuery--jQuery基础--jQuery基础课程--第2章 jQuery 基础选择器
  8. asp.Net2.0中TextBox设置只读后后台获取不到值的解决方法
  9. selenium验证码处理
  10. Emit Mapper官方文档
  11. SQL Server 对象
  12. centos下修改hostname,ip,netmask,gateway,dns
  13. TypeScript装饰器(decorators)
  14. java中编写增删改查
  15. Android Native层异步消息处理框架
  16. php while循环控制实例讲解
  17. 洛谷 P1762 偶数
  18. 套接字和标准I/O缓冲区
  19. 【一】H.264/MPEG-4 Part 10 White Paper 翻译之 Overview of H.264
  20. [19/03/23-星期六] 容器_ 泛型Generics

热门文章

  1. 【转载】 C#使用Math.PI常量来表示圆周率
  2. 怎么让自己的本地php网站让别人访问到
  3. Core Animation笔记(特殊图层)
  4. scrapy RuntimeError: maximum recursion depth exceeded while calling a Python object 超出python最大递归数异常
  5. Centos 端口被占用,kill被占用的进程
  6. Python 源码剖析 目录
  7. 编写订单支付api中遇到的问题
  8. Keil、uVision、RealView、MDK、Keil C51之间的区别比较
  9. 【转】Guava cache使用总结
  10. 【编程开发】Python隐藏属性——使用双下划线标识私有属性,外部不可直接访问