aliyun ECS SVN server搭建

在阿里云ECS上搭一个SVN服务器,方便文件版本控制     CentOS 7  64位   SVN 版本 1.7.14 (r1542130)

我们没有必要了解Subversion的所有特性的方方面面,我们的目的是使用它来对我们的project进行方便的简单的版本管理,因此,强烈推荐阅读Subversion Quick-Start GuidBasic Usage

首先通过软件包管理器添加 安装svn,也就是subversion. 用 rpm 或者 yum 都可以

yum -y install subversion

安装完成后在 shell窗口 输入 svn --version 如下显示就表示安装成功!

安装成功之后,在/root/下会生成一个.subversion文件夹  也就是~/.subversion, 接下来

[[email protected] ~]# cd /root/.subversion

[[email protected] .subversion]# ls
config README.txt servers

# 创建svn 仓库文件夹repos 你可以创建在任意文件夹下 as you like
[[email protected] .subversion] mkdir repos/myrepo

# 建立svn 仓库

[[email protected] .subversion]# svnadmin create repos/myrepo
[[email protected] repos]# cd repos/myrepo
[[email protected] myrepo]# ls
[[email protected] myrepo]# conf db format hooks locks README.txt

# 导入项目

[[email protected] myrepo]# svn import ~/home/test/ file:///root/.subversion/repos/myrepo/ -m "init import"

正在增加 /home/test/css
正在增加 /home/test/css/default.css
正在增加 /home/test/index.html

提交后的版本为 1。
导入成功

当前我们已经对myrepo项目进行了初始化导入,此时原工程目录已经与myrepo脱离,这时候原目录删掉也没关系了

这时候我们已经可以在其他目录中checkout这个工程出来
svn co file:///root/.subversion/repos/myrepo /home/mytest

接下来需要对权限进行配置  进入myrepo/conf文件夹 ls
authz: 权限配置文件
passwd: 用户名口令文件
svnserve.conf svn服务配置文件

我希望权限和配置文件共用 可以建立svnserve.conf模板 然后建立一个新的仓库以后拷贝到新仓库目录下就可以了
这里
mkdir comm_conf
cp /root/.subversion/repos/myrepo/conf/*.* /root/.subversion/repos/comm_conf/

拷贝全部文件 到comm_conf文件夹后 编辑 comm_conf 配置
cd comm_conf
vi server.conf

anon-access = none #未验证不给予权限 不允许匿名访问
auth-access = write #验证后允许写入
password-db = /root/.subversion/repos/comm_conf/passwd #使用指定value值 文件数据为 用户名密码
authz-db = /root/.subversion/repos/comm_conf/authz #使用指定value值 文件数据为 用户组权限

创建svn组和组用户权限
vi authz

[group] #指定组下的用户 多个用逗号分隔
g1=lesten,lesten1

[/] #指定根目录下的权限 也可以指定特定目录下的权限
@g1 = rw #指定组g1 用户具有读写权限
* = r #其他用户 对根目录只有读权限
或者
[repos:/project] //根目录权限
lesten=rw

设置用户名和密码

vi passwd
[users]
lesten = ****** #指定用户名为lesten的密码为******

改完以后 用cp命令拷贝到对应仓库目录下去
cp server.conf ../myrepo/server.conf

一定要注意
(1)配置项前面不要留空格 不然可能有各种莫名其妙的错误 无法访问
(2)在 authz文件中 指定组和指定目录 之间是有中括号分隔的 一定要注意
我就是漏掉了 指定根目录权限的[/] 导致访问一直出现E170001: Unable to connect to a repository at URL ‘svn:*****‘ 踩坑踩了两个小时
对配置文件的填写一定要细心。
(3)对 authz 和 passwd 文件的修改是不需要重新svnserve服务的,对server.conf的修改则需要重启svnserve服务

全部填写完毕后

可以试着启动svn服务了
[[email protected] ~]# svnserve -dr /root/.subversion/repos/
参数-d表示以守护进程运行,-r后面接服务的根目录,如果需要绑定别的端口,则在后面加上--listen-port 端口号。

看看是否启动成功 pgrep svnserve 默认svn端口7690
[[email protected] ~]# pgrep svnserve
7599
[[email protected] ~]#

这个就是启动成功了 回显了进程pid 7599
重启的时候就可以 kill 7599 或者 直接 killall svnserve
然后重新 svnserve -dr 仓库目录

这时候已经可以用
[[email protected] ~]# svn co svn://localhost/myrepo --username lesten --password ****** 拉取工作副本了

5.  但是 如果要远程拉取 还需要在ECS后台添加安全组规则

原文地址:https://www.cnblogs.com/lesten/p/9311360.html

时间: 2024-11-19 18:51:56

aliyun ECS SVN server搭建的相关文章

linux svn server搭建、多项目管理及主备方案

[svn简介]            svn用于版本管理数据,它采用了分支管理系统.在它出现之前存在CVS,svn推出之后,逐步替代了CVS.            目前又出现git,相比于svn,git更支持分布式版本管理,目前发展很猛,这里不详细介绍.大家可以先把svn了解熟悉之后,再看看git,对比下.            ps:时代总是在进步啊,需要跟上潮流.同时,需要了解潮流为何,需要思考潮流背后的原因为何,了解背景历史为何,否则就是盲从了. [第一安装] yum install s

Linux系统下的SVN Server搭建过程

一.摘要 主要在Linux操作系统下使用SVN服务器 二.安装步骤 0.验证是否有svnserver (svnserve --version)1.安装svnserver (yum install -y subversion)2.验证是否安装成功 (svnserve --version)3.进入到svn的资源目录 (cd /home/svndir)4.创建svn资源库 (svnadmin create myProject)5.新增用户 6.配置用户权限 7.配置资源库权限 8.启动或者重启 9.测

Linux 搭建SVN server

一. SVN 简单介绍 Subversion(SVN) 是一个开源的版本号控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中. 这个档案库非常像一个普通的文件server, 只是它会记住每一次文件的变动. 这样你就能够把档案恢复到旧的版本号, 或是浏览文件的变动历史. SVN中的一些概念 : (1). repository(源码库) 源码统一存放的地方 (2). Checkout (提取) 当你手上没有源码的时候,

Ubuntu Server搭建svn服务以及迁移方法【转】

转自:http://www.linuxidc.com/Linux/2013-05/84693.htm Ubuntu Server搭建svn服务以及迁移方法 采用apache+svn,http访问方式. 先确定安装了apache,没有安装则用以下命令: sudo apt-get install apache2 然后安装subversion及svn-apache连接库: sudo apt-get install subversion sudo apt-get install libapache2-s

CentOS下搭建SVN Server

1. 介绍 这里想在CentOS上搭建的是基于http访问的SVN Server 2. 软件准备 安装相关软件 yum install httpd httpd-devel mod_dav_svn subversion mod_ssl .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; backgro

TortoiseSVN与VisualSVN Server搭建SVN版本控制系统【转】

转自:http://www.cnblogs.com/xing901022/p/4399382.html 本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN系统. 背景知识 首先要了解SVN是一种集中式管理代码的版本控制系统,原理就是 把代码都保存到一个固定的位置,每次从这个位置拷贝更新代码,进行编辑:再把修改后的代码提交到该目录中. 多人协作开发也

[转]TortoiseSVN与VisualSVN Server搭建SVN版本控制系统

本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN系统. 背景知识 首先要了解SVN是一种集中式管理代码的版本控制系统,原理就是 把代码都保存到一个固定的位置,每次从这个位置拷贝更新代码,进行编辑:再把修改后的代码提交到该目录中. 多人协作开发也是如此. 因此需要一个类似Oracle或者Mysql的服务器用于保存和管理库文件(要保存的代码等文件)的

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

PS:今天给开发的同事搭建一个公网的SVN Server,google一下,发现下面这篇最详细,就记录下来,重新排版一下.顺便根据自己的使用经验,补充了几个细节和总结.本文配置是基于CentOS 5.x的,但一样适用于其他Linux发行版! SVN简介和工作原理 subversion(简称svn)是近几年崛起的版本管理软件,是cvs的接班人,目前绝大多数开源软件都使用svn作为代码版本管理软件.Subversion支持linux和windows,但较多安装在linux下. svn服务器有两种运行

TortoiseSVN与VisualSVN Server搭建SVN版本控制系统

本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN系统. 背景知识 首先要了解SVN是一种集中式管理代码的版本控制系统,原理就是 把代码都保存到一个固定的位置,每次从这个位置拷贝更新代码,进行编辑:再把修改后的代码提交到该目录中. 多人协作开发也是如此. 因此需要一个类似Oracle或者Mysql的服务器用于保存和管理库文件(要保存的代码等文件)的