CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址、服务启动等)

一事能狂便少年 发布于 2016/12/27 11:16

字数 1113
阅读 1.3K
 收藏 0
zhou说:

安装完svn后,创建一个svn仓库,svnadmin create repository。
此时访问地址为svn://ip 即可。如果更换仓库需要重启svn服务svnserve -d -r /你的仓库地址。
svn代码库地址就更新啦。svn迁移:点击这里. 注意:初始导入如果遇到无法提交报错(Authorization failed),
做如下修改:svnserve.conf中# password-db = passwd 改为 password-db = passwd

正式开始……………………………………………………………………………………

环境为centos6.3

1.首先 看看机器上安装了svn了没有

rpm -qa |grep svn

2.如果没有安装 执行

yum -y install subversion

3.安装好了之后 新建一个svn目录

mkdir /home/svn

4.新建一个版本仓库

svnadmin create /home/svn/project

红色部分是版本仓库名 在配置文件中会使用的

5.将你需要放在svn上的工程 放进project目录中

6.初始化一下你的版本仓库

svn import 需要放到svn上的文件夹/ file:///home/svn/project -m “版本说明” --username xx --password xx

这里需要注意的是  如果后边不加用户名和密码 可能导致 客户端在使用的时候 update时 不需要输入用户名和密码就可以update

7.添加用户

要添加SVN用户非常简单,只需在/home/svn/project/conf/passwd文件添加一个形如“username=password”的条目就可以了。为了测试,我添加了如下内容:

[users]

# harry = harryssecret

# sally = sallyssecret

pm = pm_pw

8.修改用户访问策略

/home/svn/project/conf/authz记录用户的访问策略,以下是参考:

[groups]

project_p = pm

#[project:/] 如果你的仓库下边就一个版本的话 就不需要使用xxx 直接一个斜杠就完事

#[project:/xxx] 如果你的仓库下边有多个版本的话xxx就是那个文件夹的名字

#上边这2个根据自己情况选一个

@project_p = rw

* =

说明:以上信息表示,只有project_p用户组有根目录的读写权。r表示对该目录有读权限,w表示对该目录有写权限,rw表示对该目录有读写权限。最后一行的* =表示,除了上面设置了权限的用户组之外,其他任何人都被禁止访问本目录。这个很重要,一定要加上!

9.修改svnserve.conf文件,让用户和策略配置升效.

svnserve.conf内容如下:

[general]

anon-access = none

auth-access = write

password-db = /home/svn/project/conf/passwd

authz-db = /home/svn/project/conf/authz

10.启动服务器

# svnserve -d -r /home/svn

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

# ps -aux|grep svnserve

# kill -9 ID号

# svnserve -d -r /home/svn

11.测试服务器

# svn co svn://192.168.x.x/project

12.到此为止 独立svn服务器就建立好了

需要注意的是  如果客户端想要使用的话

url地址一定是这个样子的   svn://192.168.x.x/project看好了  不是htttps的头

如果想要使用http的头的话  需要配置SVN服务器的HTTP支持

服务器重启后,需要手动启动svn服务器:

执行:svnserve -d -r /home/svn

或修改:/etc/rc.d/rc.local

在末尾加入:svnserve -d -r /home/svn

即可启动服务器时,自动启动svn

同一个服务端口,多版本库管理(推荐)

首先你得给所有版本库建立一个根目录,比如/svn

然后再svnadmin create /svn/test1 ; svnadmin create /svn/test2 ......这样建立多个版本库。

然后每个版本库下面的/conf/的配置方法几乎一样,除了:

authz里的目录,即你在文中提到的问题需要加上 [test1:/] , [test2:/]来设置不同的版本库根目录的访问权限。

开启多个版本库的svn server: svnserve -d -r /svn --注意,输入根目录即可

然后这些版本库的访问方式就是:

svn://your-id-address/test1, svn://your-ip-address/test2 了。(当然我假设你使用了默认的3690端口)

作者:朱清

链接:https://www.zhihu.com/question/36161509/answer/66276540

来源:知乎

著作权归作者所有,转载请联系作者获得授权。

启动SVN服务:

svnserve -d -r /home/svn

/home/svn 为版本库的根目录;

关闭SVN服务:

使用以下命令查找进程

ps aux | grep svn

# ps aux | grep svn root 64434 0.0 0.0 181584 1120 ? Ss 02:01 0:00 svnserve -d -r /home/svn root 64481 0.0 0.0 103256 848 pts/1 S+ 02:03 0:00 grep svn

使用Kill命令杀死进程

kill -s 9 64434

64434为进程ID

CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址、服务启动等)的更多相关文章

  1. CentOS Linux搭建独立SVN Server全套流程(转)

    环境为centos6.3 1.首先 看看机器上安装了svn了没有 rpm -qa |grep svn 2.如果没有安装 执行 yum -y install subversion 3.安装好了之后 新建 ...

  2. (总结)CentOS Linux搭建SVN Server配置详解

         PS:虽然在公司linux服务器上搭建过几次svn,但是时间长了,有些配置操作会忘掉,上网搜索的结果都不大满意,有幸在前几天看到一篇算是最满意的svn搭建文章,转载一下以备以后使用,原文地址 ...

  3. CentOS Linux搭建SVN服务器

    Linux系统:CentOS 安装步骤如下: 1.yum install subversion 2.输入rpm -ql subversion查看安装位置,如下图: 可以看到 svn在bin目录下生成了 ...

  4. CentOS Linux 搭建 SVN(CollabNet Subversion)服务器

    安装CollabNet Subversion之前必须先安装JDK1.6和python2.4 ~ 2.6 groupadd svn useradd -g svn svnuser  passwd svnu ...

  5. 在CentOS Linux系统上,添加新的端口,启用ssh服务

    SSH作为Linux远程连接重要的方式,如何配置安装linux系统的SSH服务,如何开启SSH? SSH是什么? SSH 为 Secure Shell 由 IETF 的网络工作小组(Network W ...

  6. 【Linux】宝塔上 GitLab数据迁移修改配置后nginx无法启动

    背景: 服务器A 向 服务器B 迁移数据,修改配置重启.发现gitlab的 nginx 无法启动. 查找原因 gitlab-ctl tail 错误信息: 网上查了查,似乎是宝塔的问题, 原因应该是为了 ...

  7. linux上svn连接visual svn server时ssl鉴权失败,问题解决(转)

    场景:1.在windows 7上安装了visual svn server作为自己的svn服务器. 2.在虚拟机centos 6.3上使用svn客户端check代码,报错: [plain] view p ...

  8. CentOS下搭建SVN

    1.安装svn yum -y install subversion 2.创建hydata目录 mkdir -p /var/svn/hydata 3.创建 m 目录 mkdir -p /var/svn/ ...

  9. Visual SVN Server+TortoiseSVN进行源代码管理

    安装VisualSVN Server 安装完之后,可配置SVN Server的IP地址,右键下图红色部分,选择属性,然后可配置ServeName和IP Address 之后可以创建用户.用户组和项目库 ...

随机推荐

  1. 日志文件删除shell脚本

    大日志文件切割shell脚本 #!/bin/bash # --------------------------------------------------------------------- # ...

  2. 全网最详细的Linux命令系列-cat命令

    cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. 命令格式: cat [选项] [文件].. ...

  3. 全网最详细的Linux命令系列-ls命令

    Linux开始必须要会的命令当属ls,在日常工作中用到ls命令时的频率是很多的,作为一个初学者,可能我只会或者顶多ls -l两种用法.但是ls其实是一个非常实用的指令,ls命令就是list的缩写,ls ...

  4. MySQL-索引简介

    一.索引是什么? 索引是本质是一种数据结构,索引的目的在于提高查询效率.[排好序的快速查找的数据结构] 每个节点包含索引键值和一个指向对应数据记录物理地址的指针. 索引往往以索引文件的形式存储在磁盘. ...

  5. “改造” VS Code 编辑器,一起写个插件吧!

    作者:HelloGitHub-小夏(首发于 HelloGitHub 公众号) 作为一个靠代码作为"生计"的开发者,bug 写的好不好,编辑器真的很重要!那么 Visual Stud ...

  6. day-10 xctf-cgpwn2

    xctf-cgpwn2 题目传送门:https://adworld.xctf.org.cn/task/answer?type=pwn&number=2&grade=0&id=5 ...

  7. python对BP神经网络实现

    python对BP神经网络实现 一.概念理解 开始之前首先了解一下BP神经网络,BP的英文是back propagationd的意思,它是一种按误差反向传播(简称误差反传)训练的多层前馈网络,其算法称 ...

  8. 一次错误使用 go-cache 导致出现的线上问题

    话说一个美滋滋的上午, 突然就出现大量报警, 接口大量请求都响应超时了. 排查过程 查看服务器的监控系统, CPU, 内存, 负载等指标正常 排查日志, 日志能够响应的结果也正常. request.l ...

  9. 15个问题告诉你如何使用Java泛型

    摘要:Java泛型其本质是参数化类型,也就是说所操作的数据类型被指定为一个参数(type parameter)这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛型方法. Java ...

  10. ArrayList扩容机制以及底层实现

    简介 来源:博客园    作者:吾王彦 博客链接:https://www.cnblogs.com/qinjunlin/p/13724987.html ArrayList动态数组,是 java 中比较常 ...