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 for windows cp 数据中文乱码

    今天遇到一个很奇葩的问题,不仅让我纠结了半天更影响了我的工作效率找到了一种解决方法.分享和记录下以备自己和后人参考 说下情况 本人的Linux服务器上的数据要cp到新安装的windows server ...

  2. Lua中的捕获

    Lua中的捕获   捕获 捕获是这样一种机制:可以使用模式串的一部分匹配目标串的一部分.将你想捕获的模式用圆括号括起来,就指定了一个捕获.在string.find使用捕获的时候,函数会返回捕获的值作为 ...

  3. 手动安装ubuntu视频播放器插件的方法

    新安装的ubuntu14.04在浏览器里面都不能看视频,提示缺少播放器插件,而且有一个安装的按钮,但是点击之后往往提示找不到,这就要手动安装了.第一步:首先运行一下更新命令吧sudo apt-get ...

  4. hiho一下 第九十四周 数论三·约瑟夫问题

    数论三·约瑟夫问题 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho的班级正在进行班长的选举,他们决定通过一种特殊的方式来选择班长. 首先N个候选人围成一个 ...

  5. nginx: [emerg] getpwnam(“www”) failed

    在配置nginx 时提示如下错误时:nginx: [emerg] getpwnam(“www”) failed 解决方案一 在nginx.conf中 把user nobody的注释去掉既可 解决方案二 ...

  6. hibernate.cfg.xml配置文件和hbm.xml配置文件 模板

    hibernate.cfg.xml配置文件格式 <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE ...

  7. android获取手机信息大全

    IMEI号,IESI号,手机型号: private void getInfo() { TelephonyManager mTm = (TelephonyManager) getSystemServic ...

  8. Windows环境下的jekyll本地搭建

    一.配置ruby环境 由于jekyll是用ruby语言写的一个静态网页生成工具,所以要搭建jekyll本地环境就需要先配置好ruby环境. 1)去官网下载Ruby:https://www.ruby-l ...

  9. sass的视频教程

    http://www.w3ci.com/video/715.html http://koala-app.com/index-zh.html /***************三角形的应用******** ...

  10. Linux多线程编程——多线程与线程同步

    多线程 使用多线程好处: 一.通过为每种事件类型的处理单独分配线程,可以简化处理异步事件的代码,线程处理事件可以采用同步编程模式,启闭异步编程模式简单 二.方便的通信和数据交换 由于进程之间具有独立的 ...