svn-server搭建及配置

fansik fansik     2022-08-13     180

关键词:

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

一、服务器环境

操作系统:CentOS release 6.5 (Final)

内核版本:2.6.32-431.el6.x86_64

SVN-Server版本:1.6.11 (r934486)

二、安装SVN-Server

1、SVN-Server和SVN-Client下载地址

官网下载: http://subversion.apache.org/packages.html

SVN客户端TortoiseSVN :https://tortoisesvn.net/downloads.html

参考文档1:http://liqingbiao.blog.51cto.com/3044896/1831236

参考文档2:https://segmentfault.com/a/1190000003853810#articleHeader7

2、安装subversion

# yum -y install subversion

3、创建仓库

创建用于存储仓库的目录并进入该目录:

# mkdir /svn ; cd /svn

创建仓库:

# svnadmin create /svn/fansik/

以下关于/svn/fansik/目录的说明:

hooks目录:放置hook脚步文件的目录

locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端

format目录:是一个文本文件,里边只放了一个整数,表示当前文件库配置的版本号

conf目录:是这个仓库配置文件(仓库用户访问账户,权限)

4、配置SVN服务的配置文件

# vim svnserve.conf

[general]

anon-access = none #使非授权用户无法访问

auth-access = write #使授权用户有写权限

password-db = passwd #用户密码文件

authz-db = authz #访问控制文件

realm = fansik repository # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错

5、配置访问用户及密码

# vim passwd

[users]

fansik = fanjinbao

user1 = fanjinbao

6、配置用户权限

# vim authz

[groups]  #定义组

admin = fansik,fanjinbao  #创建admin组,组成员为:fansik,fanjinbao

user = user1  #创建用户组,用户成员user1

[/]  #定义访问目录

@admin = rw  #admin组有读写的权限

@user = rw  #user组有读写权限

*=  #表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上。

备注1:版本库的目录格式如下:

[<版本库>:/项目/目录]

@<用户组名> = 权限

<用户名> = 权限

其中[]內容有許多写法:

[/],表示根目录及其一下的路径,根目录是svnserver启动时指定好的,上述实例中我们指定为:/svn/svndata([/]=/svn/svndata).[/]就是表示对全部版本设置的权限

[test:/],表示对版本库test设置权限;

[test:/svnadmin],表示对版本库test中的svnadmin项目设置权限;

[test:/svnadmin/second],表示对版本库test中的svnadmin项目的目录设置权限;

备注2:

权限的主体可以是用户组,用户或者*,用户组在前面要以@开头,*表示全部用户

权限分为:r ,w, rw和null ,null空表示没有任何权限。

auhtz配置文件中的每个参数,开头不能有空格,对于组要以@开头,用户不需要。

7、启动SVN-Server

# svnserve -d -r /svn/

注意:更改svnserver.conf时需要重启SVN服务,更改authz,passwd文件时则不需要重启服务

也可以在启动是指定端口号:

# svnserve -d --listen-port 3690 -r /svn --log-file=/svn/svn.log --pid-file=/svn/svn.pid

注:svnserve的进程可以启动多个

三、SVN的使用方法

1、导入版本库(/fansik目录要存在)

# svn import --force-log /fansik svn://192.168.1.203/fansik -m "fansik" --username=user1 --password=fanjinbao

2、显示项目列表

# svn list svn://192.168.1.203/fansik

3、剪出版本库中的可用的工作目录

# svn checkout svn://192.168.1.203/fansik

4、添加文件到版本库

# svn add fansik.java

5、删除文件

# svn rm fansik.java

6、更新版本库

# svn update fansik.java

7、提交到版本库

# svn ci -m --force-log "fansik.java"

8、移除或者重命名

# svn move fansik.java fansik1.java

9、打印svn工作目录和文件状态

# svn status -v *(可以使用通配符)

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

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

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

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

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

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

从零开始搭建系统2.3——cat安装及配置

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

从零开始搭建系统2.2——elk安装及配置

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

从零开始搭建系统1.6——https证书安装及配置

从零开始搭建系统1.6——Https证书安装及配置 查看详情

从零开始搭建系统2.1——nexus安装及配置(代码片段)

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

从零开始搭建系统2.4——jenkins安装及配置(代码片段)

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

namedmanager搭建过程及配置

1安装yuminstallhttpdphp-soapphp-xmlphp-ldapphp-commonphp-cliphp-mysqlphp-intlphp-processphp-pdophpmysql-servermysql-develmysql-libsmysql-yyuminstallbind-libsbindbind-sdbbind-develbind-dyndb-ldapbind-uti 查看详情

sersync客户端搭建及配置

首先需要自行下载sersync包,地址如下:谷歌项目地址:https://code.google.com/archive/p/sersync/64位下载地址:https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/sersync/sersync2.5.4_64bit_binary_stable_ 查看详情

ssh+svn搭建及配置(代码片段)

一.SSH+SVN搭建及配置注意,服务器ssh服务必须开22端口,否则无法访问1.安装ssh服务和subversion服务:yuminstallopenssh-serveryuminstallsubversion2.创建登陆svn的系统用户useradddrliaoku提示此系统用户必须是可以登陆的。如果不可以登陆,在链接... 查看详情

配置vsftpd的遇到的坑及搭建虚拟账户

配置vsftpd的遇到的坑及搭建虚拟账户vsftpd是VerysecureFTP的简写,是一款非常安全的FTP软件。支持IPV6及SSL加密。vsftpd特性:安全,高速,稳定基于IP的虚拟FTP服务器支持虚拟用户支持PAM或者xinetd/tcp_wrappers的认证方式支持每个虚拟用... 查看详情

linuxmint安装配置及搭建android源码编译环境

LinuxMint安装、配置及搭建Android源码编译环境用过ubuntu,现在想换换LinuxMint试试看。下面是我安装配置LinuxMint13的过程。1、安装安装LinuxMint13时,我尝试了好多种方法,都失败了。最后选用了硬盘安装。硬盘安装Linuxmint和安装ubuntu... 查看详情

nfs架构搭建及配置

第14章NFS服务搭建与配置14.1NFS介绍NFS(NetworkFileSystem)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器... 查看详情

nfs架构搭建及配置

第14章NFS服务搭建与配置14.1NFS介绍NFS(NetworkFileSystem)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器... 查看详情

项目搭建及初始化操作

我们是在idea中进行项目搭建,配置jdk,tomcat以及maven配置jdk配置maven点击创建新项目,选择maven,选择模板一路next即可,等待下载完成创建resources和java文件夹,以及test文件夹搭建完毕,然后我们把他跑起来ok 查看详情

elk环境搭建及client配置

官网下载:logstash、kibana、elas;在server端:  安装logstash:rpm包方式,最新版本    /etc/logstash/conf.d/下,创建个配置文件,用来收集client端的日志信息:      #vim server.confin 查看详情

syslog-ng日志收集分析服务搭建及配置

syslog-ng日志收集分析服务搭建及配置:1、网上下载eventlog_0.2.12.tar.gz、libol-0.3.18.tar.gz、syslog-ng_3.3.5.tar.gz三个软件;2、解压及安装服务端:[[email protected]tools]#tarxfeventlog_0.2.12.tar.gz[[email protected]tools]#cde 查看详情