SVN作为新一代代码版本管理工具,有很多优点,管理方便,逻辑明确,安全性高,代码一致性高。SVN数据存储有两种方式,BDB(事务安全表类型)和FSFS(一种不需要数据库的存储系统),为了避免在服务器连接中断时锁住数据,FSFS是一种更安全也更多人使用的方式。SVN的运行方式也有两种,一种是独立服务器,另一种是借助apache服务,各有利弊,下面就介绍一下这两种方式各自的部署步骤。

一.作为独立服务器运行,

1.安装subversion

#yum  install  subversion

#mkdir    -p    /opt/svn  //创建svn目录

#chmod   R 777  /opt/svn  //修改目录权限为777

#svnadmin  create   /opt/svn/repos   //创建一个svn版本仓库repos (repos 名字自己起)

#cd      /opt/svn/repos/conf     //进入repos版本仓库下的配置文件目录

修改此目录下的三个配置文件

1)  svnserve.conf    //配置版本库信息和用户文件和用户密码文件的路径、版本库路径

#vim   svnserve.conf

修改一下几处:

#anon-access = read

#auth-access = write

#password-db = passwd

将这三行前面的 #号去掉,每行的最左边不能有空格,改成如下:

anon-access =  none    //read改为none

auth-access = write

password-db = passwd

realm = repos             //改成自己的版本库

如图:

保存退出

2) 修改authz 文件,创建svn组和组用户的权限

#vim    authz

[group]

repos = test,test1      //创建一个repos的组,并添加2个用户test,test1

[/]       //修改根目录下的权限

@repos = rw         //repos组用户的权限为 读写

test = rw              //test 用户的权限为读写

* = r                     //其他用户的权限为只读

如图:

  3)passwd 文件  创建或修改用户密码

#vim passwd

test = test     //用户名test的密码为test

test1 =  test1    //用户名为test2的密码为test2

保存退出

二.设置开机启动文件

1.  编辑/etc/rc.local

文件内容如下(在touch /var/lock/subsys/local下面添加一行)

#!/bin/sh

#

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don’t

# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

svnserve    -d   -r   /opt/svn/repos

如图:

三.启动SVN服务

1.启动svn服务,svn服务默认端口为3690,可以使用“netstat -ntlp”命令查看服务启动是否成功:

#svnserve  -d  -r  /opt/svn/repos

如果已经有svn在运行,可以换一个端口运行
svnserve -d -r /opt/svn/repos –listen-port 3391

这样同一台服务器可以运行多个svnserve

2.启动成功后就可以使用了

a.建议采用TortoiseSVN, 连接地址为: svn://your server address (如果指定端口需要添加端口  :端口号

b.或者用命令行连接:

svn   co svn://ip/

连接上之后就可以使用了。

最新文章

  1. call,apply学习小结
  2. centos6.5 redmine 安装
  3. android自定义控件(1)-点击实现开关按钮切换
  4. Windows Server 2008 R2 实现多用户同时登陆
  5. 基于Eclipse的Go语言可视化开发环境
  6. centos安装gitlab
  7. 第二章实例:SimpleAdapter结合listview实现列表视图
  8. css中的滤镜
  9. OpenAuth.net
  10. [转]从.NET转JAVA开发
  11. .Net Core 中使用Session
  12. MSSQL数据批量插入优化详细
  13. 【java】内存流:java.io.ByteArrayInputStream、java.io.ByteArrayOutputStream、java.io.CharArrayReader、java.io.CharArrayWriter
  14. Ubuntu 12.04: How to enable root login
  15. flex与js通信、在浏览器中打开新窗口
  16. Docker-Docker-compose应用
  17. HDU 2174 Bridged Marble Rings
  18. JQuery EasyUI 之 messager基本使用
  19. layui 将后台传过来的值等价替换
  20. ERP承接新后台优惠规则问题

热门文章

  1. Socket,TCP/IP,UDP,HTTP,FTP
  2. 快速向表中插入大量数据Oracle中append与Nologging
  3. PHP ElasticSearch的使用
  4. Elasticsearch 权威指南
  5. MyEclipse去除网上复制下来的来代码带有的行号
  6. Maven 库
  7. cygwin-使用介绍
  8. JavaScript的DOM操作-非重点部分
  9. HTML常用标签与表格标签
  10. 回合对战制游戏第一篇(初识java)