svn———搭建及配置

厉害了我 厉害了我     2022-09-25     446

关键词:

一、Svn介绍

  subversion(简称svn)是近几年崛起的版本管理软件,是cvs的接班人,目前绝大多数开源软件都使用svn作为代码版本管理软件。Subversion支持linuxwindows,但较多安装在linux下。

  svn服务器常用的有两种运行方式:独立和基于apache (也可基于nginx等web服务)

  svn客户端是tortoisesvn

作用:

  在一台服务器上建立一个源代码库,库里可以存放许多不同项目的源程序。由源代码库管理员统一管理这些源程序。每个用户在使用源代码库之前,首先要把源代码库里的项目文件下载到本地,然后开发人员可以在本地修改,然后用svn命令进行提交。而不同的部门也可以上传些资料提供本部门的人员上传下载,类似于ftp,网盘之类的功能。

 

二、Svn搭建

  搭建有两种模式;一种是独立的svn服务,另一种是基于web的svn服务,例如Apache、nginx等。而web模式的svn是基于独立服务器之上建立的

1.)推荐简单点的yum安装,就不用在考虑各种依赖关系了。

  yum install -y  subversion ,安装完之后查看下:rpm -ql  subversion ,如图所示,代表安装成功:

  

2.)Svn配置

单版本库:

  1.首先创建版本库目录:mkdir  -p  /opt/svn/               "目录可以随意创建指定"。

  2.创建版本库:svnadmin  create /opt/svn/zt,创建好之后会在zt版本库中生成如图所示的几个文件     "库名可以随意创建指定"。

  

  3.进入到conf中会有三个配置文件:

  authz:权限配置文件       

   

  passwd:密码文件    

     

  svnserve.conf:版本库配置文件“进入版本库配置文件,打开下面的几个注释,注意得顶头写”

anon-access = read                #匿名用户可读
auth-access = write                #授权用户可写
password-db = passwd          #使用哪个文件作为账号文件
authz-db = authz                   #使用哪个文件作为权限文件
realm = /opt/svn/zt               # 认证空间名,版本库所在目录

  

3.)上诉配置完成之后启动版本库:svnserve   -d   -r /opt/svn/zt

 

4.)多版本库:

版本库的创立与上述一样,但是不推荐使用多版本库,因其要实现的功能单版本库也可以做到,而且管理维护相比较难。

  如果想在独立svn服务器上运行多个版本库需要为其指定端口。

   svnserve --listen-port 3691 -d -r  /opt/svn/zt/

   svnserve --listen-port 3692 -d -r  /opt/svn/repos/

   svnserve -d -r /opt/svn/

重启完各个版本库之后再把整个版本库目录启动

 

5.)客户端访问

  下载tortoisesvn,安装完成后,选择文件夹右击checkout,然后进行svn的访问,如图所示:

  独立svn的访问:svn://ipaddress:/svn/***  or    svn://ipaddress、svn://ipaddress/****

  基于web的访问(端口可改):http://ipaddress:80/svn/***   or  http://ipaddress、http://ipaddress/****

  关于svn的访问格式是不确定的,得多试试,有时候第一种访问格式好使但是再次使用或者在其他机器上进行操作的时候就突然不行了,不知道是为什么。

  

 

三、基于apache的svn安装与配置

ps -ef |grep httpd查询apache是否存在 ,反之需yum -y install mod_dav_svn httpd

mod_dav_svn :是Apache的svn模块(可基于yum安装Apache后,进行yum安装mod_dav_svn而不需要其他操作)

1.) 查看svn验证模块 : ls /etc/httpd/modules/ | grep svn 

  mod_authz_svn.so     mod_dav_svn.so

2.)   相关配置文件若不存在可建立:vim /etc/httpd/conf.d/subversion.conf

  

  SVNPath 定义单版本库

  SVNParentpath 定义多版本库,当存在多个版本库时此路径定义为all版本库目录;“权限与密码配置文件可能需要指定在版本库目录中,也可能不需要。”

  注意“可与独立svn同用authz文件,但是不可同用passwd文件”

  

3.)创建访问用户(第一创建需要加 -c,代表新建的第一个用户),但是别对已有的密码文件执行此命令,否则会清空所有的信息仅保留方才创建的用户。

  htpasswd -c /opt/svn/passwd abc

  之后创建用户的命令:htpasswd -b /opt/svn/passwd abcd

  删除用户:htpasswd -D passwd abc

4.).赋予权限问题

  仅使用Apache模式如下,若与独立svn共用需指定相应组或者属主

  chown -R apache.apache /opt/svn/版本库

  chmod -R 777 /opt/svn/

5.)authz配置文件讲解

  

[groups]       #在这里设置组,=前是组名,=后面是用户,多用户时可用“,”分开
admin  = zt
test = abc,user

[/] #版本库的根目录,表示对此库有某种权限的配置
@admin = rw
* = r    #所有用户

[/Documents]   #版本库根目录下的子目录
@test = rw

[Documents/other]     不加@代表单个用户,加@代表组
user  =  r

注意赋权时的层次,权限冲突也会照成整个服务器崩掉,而且版本库路径在authz中不可以有乱码否则也不行

创建完成之后只需要重启httpd 就好了service httpd restart

  

error分析
造成error:Unable to connect to a repository at URL的可能:
1、)svn整体路劲权限、auth中的用户权限
2、)svn所有配置文件中的某个配置项前有空格
3、)独立svn与websvn创建密码的方式不一致,将密码文件混淆使用

不断的循环弹出登录框:
1.)清楚客户端账户缓存、或删除客户端账户文件保存目录
2.)账户不存在或密码错误
3.)server端密码文件清空“注意:在创建用户时加-C,会默认清空密码文件”

注意点:

账户不加入权限认证文件中将具有任何权限
在测试权限的时候千万要注意R/读,W/写的意义,当根目录*=r时,某目录中即使没有设置相应用户的权限,该用户依然可以访问下载。

 

svn-server搭建及配置

  SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发... 查看详情

linux平台的svn服务器的配置及搭建(代码片段)

------------恢复内容开始------------https://jingyan.baidu.com/article/54b6b9c08b35382d593b477c.html一、安装SVN 1在Linux平台上,SVN的软件包名称是subversion,我们使用命令:yumlist|grepsubversion查看一下,可以看到,在我们配置的163的yum源上有这个... 查看详情

mac下svn服务器搭建及使用

---------------------------------------------svn服务器搭建mac上创建svn服务器管理-------------step1$svnadmincreatesvndir-------------step2conf>svnserve.conf修改配置#anon-access=read #auth-access=write #pas 查看详情

(转)svn服务端客户端安装及配置导入导出项目

SVN服务器搭建和使用(一) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说.首先来下载和搭建SVN服务器.现在Subversion已经迁移到apache网站上了,下载地址:http://subversion.apache.org/packages.html这是二进制... 查看详情

svn的安装配置及详解svn的使用(代码片段)

...,当然也可以直接浏览指定文件的更新历史记录?SVN服务搭建#yuminstallsubversion-y#svnserve--version 查看详情

版本管理工具svn的安装配置及使用(代码片段)

...当然也可以直接浏览指定文件的更新历史记录。 SVN服务搭建#yuminstallsubversion-y#svnserve--versio 查看详情

关于trac+svn的配置(邮件及权限)及使用说明

首先需要搭建trac+svn的环境,那么我这里介绍的是在centos6.5上的使用介绍。(一键安装包)我是在没有图形界面的系统上安装的,有一点就是想没想过,没有图形界面没有命令怎么重启服务呢,这一只也是我困扰的问题,如果是... 查看详情

centos6.8搭建svn(版本控制系统)及svn的使用

CentOS搭建SVN查看系统环境(1)查看系统版本[[email protected] ~]# cat /etc/redhat-releaseCentOS release 6.8 (Final)(2)查看系统全部信息[[email protected] ~]# uname -aLinux 查看详情

驱动开发-wdk调试及svn环境搭建

由于从公司辞职了,所以以前在公司里搭建的驱动开发环境也就 GameOver 了,同样由于那环境是很久以前搭建的,自己也有很多记不清楚的地方了,而且其中还是有很多需要注意的地方的,所以在这里顺便做一个环境搭建... 查看详情

centos6.7git服务搭建及tortoisegit配置连接

...Git,废话就不多说,下面我们进行操作演示:环境:之前搭建的Redis-Master服务器一枚,配置一般般~工具:TortoiseGit,传说中的小乌龟~1、安装开发工具与依赖包[[email protected]_master ~]# yum&n 查看详情

ssm框架搭建总结

一、开发环境搭建1、本地jdk安装及配置环境变量2、本地tomcat安装3、本地maven安装 3.1maven安装 3.2 maven数据仓库配置settings.xml4、本地安装SVN管理器5、eclipse安装6、eclipse运行环境设置自己安装的jdk(jre)7、eclipse集成tomcat8... 查看详情

centos6.8下搭建svn及使用(代码片段)

查看系统环境(1)查看系统版本[[email protected]~]#cat/etc/redhat-releaseCentOSrelease6.8(Final)(2)查看系统全部信息[[email protected]~]#uname-aLinuxnode-0052.6.32-642.15.1.el6.x86_64#1SMPFriFeb2414:31:22UTC2017x86_64x86_64x86_64GNU/Linux(3)查看系统内核[[e... 查看详情

centos下的svn搭建

需求:搭建SVN实现本地开发环境,方便线上代码的更新。步骤:1.安装SVN服务yuminstall-ysubversion2.创建SVN代码库的目录、创建版本库mkdir-p/svn/davesvnsvnadmincreate/home/svn/svnfile3.启动SVN服务svnserve-d-r/svn/4.配置SVN主配置文件,创建用户,... 查看详情

jenkins环境搭建及使用(代码片段)

一、Jenkins介绍和初始化配置1、Jenkins的作用。 可视化管理服务器 持续构建,可以直接去svn或者git上拉取代码并下发到服务器上 可视化ansible2、Jenkins监听端口8080 nohupjava-jarjenkins.war&>/tmp/jenkins.out&#启动Jenkins... 查看详情

svn搭建和配置

  svnserver使用的是ubuntu版本,本地使用的是eclipseneon.3版本,并且svnclient版本使用的是1.8.x版本,下载路径是:http://subclipse.tigris.org/update_1.8.x  在unbutu中安装好server后,    先创建两个目录,svndata和svnpasswd,svndata是svn的... 查看详情

从零开始搭建系统1.7——ftp安装及配置

从零开始搭建系统1.7——FTP安装及配置 查看详情

从零开始搭建系统2.6——kafka安装及配置

从零开始搭建系统2.6——Kafka安装及配置 查看详情

从零开始搭建系统2.7——quartz安装及配置

从零开始搭建系统2.7——Quartz安装及配置 查看详情