svn不仅仅可以用于程序开发,还可以做很多事情,例如备份文档。

CentOS下:安装

yum install -y subversion

Ubuntu下:

sudo apt-get install subversion

检查是否安装成功

svnserve --version

建立项目

mkdir -p ~/svn            //建立svn根目录,用于存放多个项目,其中“~”表示home目录

新建项目proj1

mkdir -p ~/svn/proj1  //其中-p表示没有父目录则新建 svnadmin create ~/svn/proj1

命令完成后,会在proj1目录下生成相应的文件和文件夹:

再建立1个项目proj2

mkdir-p ~/svn/proj2 svnadmin create ~/svn/proj2

配置SVN

将proj1/conf下的authz、passwd和svnserve.conf拷贝至~/svn/根目录下,结果如下所示:

添加用户

注意:不需要在linux中添加用户

vi ~/svn/passwd,添加形如“username=password”的条目即可

权限控制

用于设置哪些用户可以访问哪些目录

vi ~/svn/authz,添加

[groups]
admin=test1 devteam1=test2,test3 //开发组一 devteam2=test4   [/]
@admin=rw *=
[proj1:/]
@devteam1=rw [proj2:/]
@devteam2=rw

注: 此处的用户名必须是“passwd”文件中已经定义的用户名

1个用户组可以包含1个或多个用户,用户间以逗号分隔

*=表示除了有权限的用户之外,其他任何人都禁止访问本目录。

进入proj1/conf,配置svnserve.conf(左侧不能留空格),让用户和权限控制策略生效

[general] anon-access=none  # 使非授权用户无法访问 auth-access=write#使授权用户有写权限  password-db=~/svn/passwd#密码文件  authz-db=~/svn/authz#访问控制文件

以后建立的其它项目可以直接使用此配置,如:

cp ~/svn/proj1/conf/svnserve.conf  ~/svn/proj2/conf/svnserve.conf

或cp ~/svn/svnserve.conf  ~/svn/proj2/conf/svnserve.conf

启动

svnserve -d -r ~/svn (注意不是~/svn/proj1)

-d表示以守护模式运行

svn默认监听3690端口,如果已经有svn在运行了,可以使用“--listen-port=”指定其它端口

svnserve-d-r ~/svn/--listen-port3391

这样同一台服务器便可以运行多个svnserver了

检查端口

netstat-ntlp|grep3690

注:如果修改了svn配置,需要重启svn服务

# ps -aux|grep svnserve
# kill -9 ID号 //  -9表示强制终止# svnserve -d -r ~/svn

开启3690端口

/sbin/iptables -I INPUT -p tcp --dport3690-j ACCEPT /etc/init.d/iptables save   //保存 service iptables restart    //重启防火墙

可通过cat /etc/sysconfig/iptables查看是否将3690端口添加成功

windows下测试

需要安装TortoiseSVN,有32位和64位

安装完成后,可以右键打开Repo-browser,(url填svn://ip/proj1)建立一个目录后拖动代码进去,然后在另一个地方就可以check out了
svn目录无绿勾,绿色标记
没有这种
只能不断重新安装和重启了。呵呵。

SVN Check out时需要一直输入密码的问题

home/<user>/.subversion/目录下的config文件找到一下配置:

# store-passwords = no
将“store-passwords = no” 注释掉或将其值设置成yes

在~/.subversion/servers的global域下设置store-plaintext-passwords = yes

在Linux下搭建SVN服务器的更多相关文章

  1. Linux下搭建SVN服务器及自动更新项目文件到web目录(www)的方法

    首先搭建SVN服务器 1,安装SVN服务端 直接用apt-get或yum安装subversion即可(当然也可以自己去官方下载安装) sudo apt-get install subversion   ...

  2. linux下搭建SVN服务器完全手册

    原文:http://www.cnblogs.com/wrmfw/archive/2011/09/08/2170465.html 系统环境        RHEL5.4最小化安装(关iptables,关 ...

  3. linux下搭建SVN服务器完全手册【转】

    转自:http://blog.csdn.net/bullbat/article/details/9115559 系统环境        RHEL5.4最小化安装(关iptables,关selinux) ...

  4. linux下搭建SVN服务器完全手册【摘抄】

    系统环境        RHEL5.4最小化安装(关iptables,关selinux) + ssh + yum 一,安装必须的软件包.        yum install subversion ( ...

  5. linux下搭建SVN服务器完全手册-很强大!!!!!

    系统环境        RHEL5.4最小化安装(关iptables,关selinux) + ssh + yum 一,安装必须的软件包.        yum install subversion ( ...

  6. SVN:linux下搭建svn服务器

    转载:https://www.cnblogs.com/puloieswind/p/5856326.html 1. 安装SVN服务器: 检查是否已安装 # rpm -qa subversion 安装SV ...

  7. Linux下搭建svn服务器(转)

    原文地址:http://blog.163.com/longsu2010@yeah/blog/static/173612348201202114212933/ 安装步骤如下: 1.yum install ...

  8. linux下搭建svn服务器

    安装步骤如下: 1.yum install subversion   2.输入rpm -ql subversion查看安装位置,如下图:   我们知道svn在bin目录下生成了几个二进制文件. 输入 ...

  9. Linux下搭建SVN服务器遇到的问题及解决方法,

    1.checkout时,提示:URL svn://192.168.1.99/svntest doesn't exist... 奇怪,怎么会提示库不存在呢?肯定是哪里配置问题.后来尝试了半天,也在网上搜 ...

随机推荐

  1. linux学习笔记 2013-09-02

    1,解压一个tar.gz文件夹 tar -xvzf  filename.tar.gz 2,删除一个文件夹下所有的文件 rm -rf * 3,安装文件 sudo apt-get install XXX. ...

  2. C# 多线程通信详解

    一.WaitHandler的类层次 可以看到 WaitHandle是 事件(EventWaitHandle).互斥体(Mutex).信号量(Sempahore)的父类. WaitHandle我们最经常 ...

  3. 解读JSP的解析过程

    解读JSP的解析过程 互联网上,这方面的资料实在太少了,故把自己研究的一些结果公布出来. 首先,问大家几个问题,看大家能不能回答出来,或者在网上能不能找到答案: 1.page.include.tagl ...

  4. java笔记--反射进阶之总结与详解

    一.反射进阶之动态设置类的私有域 "封装"是Java的三大特性之一,为了能更好保证其封装性,我们往往需要将域设置成私有的, 然后通过提供相对应的set和get方法来操作这个域.但是 ...

  5. [Effective JavaScript 笔记]第4章:对象和原型--个人总结

    前言 对象是js中的基本数据结构.对象在js语言编码中也随处可见,比如经常会用到的函数,也是一个Function构造函数,Function.prototype原型对象.每当声明一个函数时,都会继承Fu ...

  6. HDOJ 1257 (最长字序列问题)

    http://acm.hdu.edu.cn/showproblem.php?pid=1257 最少拦截系统 Time Limit: 2000/1000 MS (Java/Others)    Memo ...

  7. RadioButtonList单选和RequiredFieldValidator验证是否选中

    <asp:RadioButtonList ID="Radio2" RepeatDirection="Horizontal" runat="ser ...

  8. python动态获取对象的属性和方法

    http://blog.csdn.net/kenkywu/article/details/6822220首先通过一个例子来看一下本文中可能用到的对象和相关概念.01     #coding: UTF- ...

  9. linux下搭建svn版本控制软件

    svn作为曾经流行的版本控制控制软件,它优异的版本控制功能在有意无意间已经深入IT人的工作了.然而虽然有后起之秀的git,但现在使用svn的项目并不在少数.最近有个项目需要协同开发,由于对svn用得比 ...

  10. cocos2d c++ 代码规范(译文)

    原文在http://cocos2d-x.org/projects/cocos2d-x/wiki/Cocos2d_c++_coding_style,我觉得这个规范非常全面,写的非常好,我只捡一些我认为比 ...